##
# $Id$
# 
# Copyright (c) 2018 Network Appliance, Inc.
# All rights reserved.
# 
# This file was generated at Feb 27, 2018 1:49:12 AM
##

package OntapClusterAPI;

use strict;

use constant FIELD_SCALAR => 0x0;
use constant FIELD_TYPEDEF => 0x1;
use constant FIELD_ARRAY => 0x2;
use constant FIELD_OPTIONAL => 0x4;
use constant FIELD_ENCRYPTED => 0x8;

my $APIS = {
    'active-directory-account-create' => {
        'category' => 'active-directory',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'account-name' => {
                'type' => 'netbios-name',
                'flags' => 0,
                'scope' => [],
            },
            'admin-password' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force-account-overwrite' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'organizational-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'active-directory-account-delete' => {
        'category' => 'active-directory',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'active-directory-account-get-iter' => {
        'category' => 'active-directory',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'active-directory-account-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'active-directory-account-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'active-directory-account-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'active-directory-account-modify' => {
        'category' => 'active-directory',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force-account-overwrite' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'active-directory-account-password-change' => {
        'category' => 'active-directory',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'active-directory-account-password-reset' => {
        'category' => 'active-directory',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-add' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'actual-disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'allocation-units' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'allow-mixed-rpm' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'allow-same-carrier' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cache-raid-group-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cache-raid-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checksum-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-size-with-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disks' => {
                'type' => 'disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'force-cache-size' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
            },
            'force-spare-pool' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'group-selection-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-pool-checks' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mirror-disks' => {
                'type' => 'disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'pre-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'raid-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'simulate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'upgrade-64bit-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'bad-disks' => {
                'type' => 'disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'pre-check-results' => {
                'type' => 'warning-code',
                'flags' => 7,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'simulation-result' => {
                'type' => 'aggregate-simulate-layout-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
            'upgrade-64bit-cookie' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-autobalance-aggregate-state-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-autobalance-aggregate-state',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-autobalance-aggregate-state',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-autobalance-aggregate-state',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-autobalance-config-get' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-autobalance-config',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'aggr-autobalance-config',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'aggr-autobalance-config-modify' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'available-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'hold-duration-after-move' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'move-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state-polling-interval' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'unbalanced-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-activity-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-inactive-delay-threshold' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-autobalance-notification-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-autobalance-notification',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-autobalance-notification',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-autobalance-notification',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-autobalance-volume-state-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-autobalance-volume-state',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-autobalance-volume-state',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-autobalance-volume-state',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-check-spare-low' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'is-spare-low' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-create' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'actual-disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'allow-mixed-rpm' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'allow-same-carrier' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'autobalance-state' => {
                'type' => 'autobalance-aggregate-state',
                'flags' => 4,
                'scope' => [],
            },
            'block-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checksum-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-size-with-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disks' => {
                'type' => 'disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'encrypt' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'excluded-from-autobalance' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-small-aggregate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-d'],
            },
            'force-spare-pool' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-pool-checks' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-autobalance-eligible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-mirrored' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mirror-disks' => {
                'type' => 'disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => ['ontap-cluster'],
            },
            'pre-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'raid-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'raid-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rpm' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'simulate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
            },
            'snaplock-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'spare-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'striping' => {
                'type' => 'striping-type',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'aggregate-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-d'],
            },
            'bad-disks' => {
                'type' => 'disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'pre-check-results' => {
                'type' => 'warning-code',
                'flags' => 7,
                'scope' => [],
            },
            'simulation-result' => {
                'type' => 'aggregate-simulate-layout-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'aggr-destroy' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'plex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'aggr-efficiency-cumulated-get' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggregates' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
            'aggr-efficiency-cumulated-info' => {
                'type' => 'aggr-efficiency-cumulated-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-efficiency-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-efficiency-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-efficiency-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-get-filer-info' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'allowed-raidtypes' => {
                'type' => 'raidtype-info',
                'flags' => 3,
                'scope' => [],
            },
            'checksum-types' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'default-raidtype' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'default-raidtype-config' => {
                'type' => 'default-raidtype-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'disk-types' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'max-named-disks-per-request' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'min-aggr-disk-count' => {
                'type' => 'min-aggr-disk-count-info',
                'flags' => 7,
                'scope' => [],
            },
            'raidgroup-size' => {
                'type' => 'raidgroup-size-info',
                'flags' => 3,
                'scope' => [],
            },
            'root-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshots-max' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-mirror' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'allow-mixed-rpm' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'allow-same-carrier' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-pool-checks' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mirror-disks' => {
                'type' => 'disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'override-vfiler-ownership' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'pre-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'simulate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-d'],
            },
        },
        'outputs' => {
            'bad-disks' => {
                'type' => 'disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'pre-check-results' => {
                'type' => 'warning-code',
                'flags' => 7,
                'scope' => [],
            },
            'simulation-result' => {
                'type' => 'aggregate-simulate-layout-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'aggr-modify-raid-type' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'raid-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'simulate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'simulation-result' => {
                'type' => 'modify-raid-type-simulate-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'aggr-object-store-attach' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'check-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-object-store-config-create' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'access-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'provider-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            's3-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'secret-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ssl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-object-store-config-delete' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'object-store-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-object-store-config-get' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-object-store-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'object-store-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'aggr-object-store-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'aggr-object-store-config-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-object-store-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-object-store-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-object-store-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-object-store-config-modify' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'access-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'new-object-store-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'secret-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ssl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-iam-role' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-object-store-config-provider-list' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'supported-providers' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'aggr-object-store-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'object-store-information',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'object-store-information',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'object-store-information',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-object-store-vol-btuuids-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'object-store-vol-btuuids-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'object-store-vol-btuuids-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'object-store-vol-btuuids-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-offline' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force-offline' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-d'],
            },
            'plex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'unmount-volumes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-online' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force-online' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'plex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'aggr-options-list-info' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'options' => {
                'type' => 'aggr-option-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'aggr-relocation' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggregate-list' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
            'destination-node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-ndo-controller-upgrade' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-override-destination-checks' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-override-vetoes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-relocate-to-higher-version' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-relocation-status' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-relocation-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-relocation-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-relocation-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-rename' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-aggregate-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-restrict' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'unmount-volumes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-resync-options-get' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-resync-options-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'aggr-resync-options-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'aggr-resync-options-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-resync-options-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-resync-options-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-resync-options-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-resync-options-set' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'max-concurrent-resyncs-allowed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-scrub-list-info' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'verbose' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'scrub-details' => {
                'type' => 'scrub-detail-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'aggr-scrub-resume' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'plex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'raidgroup' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'aggr-scrub-start' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'plex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'raidgroup' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'aggr-scrub-stop' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'plex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'raidgroup' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'aggr-scrub-suspend' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'plex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'raidgroup' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'aggr-set-option' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'option-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'option-value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-space-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'space-information',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'space-information',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'space-information',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-spare-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-spare-disk-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-spare-disk-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-spare-disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-status-get-iter' => {
        'category' => 'aggr',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aggr-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aggr-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aggr-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-verify-list-info' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'verify-details' => {
                'type' => 'verify-detail-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'aggr-verify-resume' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-verify-start' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fix-plex' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'log-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-verify-stop' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'aggr-verify-suspend' => {
        'category' => 'aggr',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'av-get-engine-info' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'current-activation-code' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-activation-code' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'license-expiry-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'license-key' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'license-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'prod-info' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'seats' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'update-url' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'av-get-engine-options' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'av-engine-option',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'av-engine-option',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'av-get-log' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'datetime' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'av-event-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'av-event-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'av-get-remedy-info' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'action' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'directory' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'extension' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'option' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'repair' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'av-get-version-info' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'last-update-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'spyware-pattern-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'virus-pattern-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vsapi-32-bit-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vsapi-64-bit-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'av-log-iter' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'av-event-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'av-event-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'av-event-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'av-set-engine-info' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'current-activation-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'desired-activation-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'license-expiry-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'license-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'license-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'prod-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'seats' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'update-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'av-set-engine-options' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompressed-file-count-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompressed-file-size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompression-layers-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompression-size-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'group-archive-unpack' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'heuristic-analysis' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-spyware-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'macro-analysis' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-recursion-depth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mime-lines-to-scan' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-host' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-login' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scan-mime' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'av-set-log' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'datetime' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vendor-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vendor-string' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'av-event-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'av-set-remedy-info' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'directory' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'extension' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'option' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'repair' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'av-set-version-info' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'component-updated' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'spyware-pattern-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'virus-pattern-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vsapi-32-bit-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vsapi-64-bit-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'av-start-update' => {
        'category' => 'antivirus',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'sync' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'audit-get' => {
        'category' => 'audit',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'audit-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'audit-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'audit-log-config-get' => {
        'category' => 'audit',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'audit-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'audit-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'audit-log-config-modify' => {
        'category' => 'audit',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cli-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ontapi-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'audit-log-get' => {
        'category' => 'audit',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'audit-log-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'seq' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'audit-log-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'audit-log-get-iter' => {
        'category' => 'audit',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'audit-log-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'audit-log-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'audit-log-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'audit-modify' => {
        'category' => 'audit',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cli-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cli-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ontapi-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ontapi-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'autosupport-budget-get' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-budget-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'asup-subsystems',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'autosupport-budget-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'autosupport-budget-get-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-budget-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-budget-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-budget-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-budget-get-total-records' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-budget-modify' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'diagnostic-size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'diagnostic-time-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'asup-subsystems',
                'flags' => 0,
                'scope' => [],
            },
            'time-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'autosupport-check-connectivity' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'aod-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'post-url-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'put-url-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-check-connectivity-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-connectivity-check-info',
                'flags' => 5,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-connectivity-check-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-connectivity-check-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-check-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-check-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-check-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-check-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-compliant-get' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-compliant-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'plaintext' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'autosupport-compliant-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'autosupport-compliant-get-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-compliant-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-compliant-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-compliant-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-compliant-get-total-records' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-config-get' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'autosupport-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'autosupport-config-get-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-config-get-total-records' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-config-modify' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'from' => {
                'type' => 'mail-address',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-local-collection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nht-data-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-in-subject' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ondemand-download-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ondemand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ondemand-remote-diag-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-perf-data-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-private-data-removed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-reminder-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-support-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-throttle-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mail-hosts' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'max-download-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-http-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-smtp-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-upload-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-private-data-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'noteto' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'ondemand-polling-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ondemand-server-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-address' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'payload-format' => {
                'type' => 'compression-format',
                'flags' => 4,
                'scope' => [],
            },
            'periodic-tx-window' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'post-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'put-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'retry-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'retry-interval' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'support-address' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'to' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'transport' => {
                'type' => 'asup-transport',
                'flags' => 4,
                'scope' => [],
            },
            'validate-digital-certificate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'autosupport-destinations-get' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-destinations-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'autosupport-destinations-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'autosupport-destinations-get-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-destinations-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-destinations-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-destinations-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-destinations-get-total-records' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-download-get' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-download-info',
                'flags' => 5,
                'scope' => [],
            },
            'id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'autosupport-download-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'autosupport-download-get-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-download-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-download-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-download-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-history-cancel' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination' => {
                'type' => 'asup-destination',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'autosupport-history-get' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination' => {
                'type' => 'asup-destination',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'autosupport-history-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'autosupport-history-get-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-history-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-history-get-total-records' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-history-retransmit' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'autosupport-invoke' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'type' => {
                'type' => 'asup-invoke-style',
                'flags' => 0,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-core-upload' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'case-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'core-filename' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-diagnostic' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'message-subject' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'subsystems' => {
                'type' => 'asup-subsystems',
                'flags' => 2,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-diagnostic-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message-subject' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'subsystems' => {
                'type' => 'asup-subsystems',
                'flags' => 2,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'autosupport-invoke-diagnostic-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'autosupport-invoke-diagnostic-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'asup-invoke-style',
                'flags' => 0,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'autosupport-invoke-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'autosupport-invoke-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-performance-archive' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'case-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'duration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'end-date' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'start-date' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-performance-archive-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'case-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'duration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'end-date' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'start-date' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'autosupport-invoke-performance-archive-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'autosupport-invoke-performance-archive-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-splog' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'log-sequence' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'remote-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'autosupport-manifest-get-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-manifest-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-manifest-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-manifest-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-manifest-get-total-records' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-trigger-get' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-trigger-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'trigger' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'autosupport-trigger-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'autosupport-trigger-get-iter' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'autosupport-trigger-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'autosupport-trigger-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'autosupport-trigger-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-trigger-get-total-records' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'autosupport-trigger-modify' => {
        'category' => 'autosupport',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'basic-additional' => {
                'type' => 'asup-subsystems',
                'flags' => 6,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'noteto-enabled' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size-limit' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'time-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'to-enabled' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'trigger' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'troubleshooting-additional' => {
                'type' => 'asup-subsystems',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cf-aggregate-giveback-status' => {
        'category' => 'cf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cf-aggregate-giveback-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cf-aggregate-giveback-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cf-aggregate-giveback-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cf-force-takeover' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'disaster' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'cf-get-iter' => {
        'category' => 'cf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-failover-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-failover-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-failover-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cf-get-partner' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster', 'vfiler'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'partner' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cf-giveback' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'only-cfo-aggregates' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'override-vetoes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'require-partner-waiting' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'cf-hwassist-stats' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'hwassist-stats-abnormal-reboot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-bad-nvram-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-keep-alive' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-loss-of-heartbeat' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-post-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-power-cycle-via-rlm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-power-cycle-via-sp' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-power-loss' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-power-off-via-rlm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-power-off-via-sp' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-reset-via-rlm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-reset-via-sp' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-ss-mismatch' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-test' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-times-throttled' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-unknown-alerts' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hwassist-stats-watchdog-reset' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'no-stats' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cf-hwassist-stats-clear' => {
        'category' => 'cf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'cf-hwassist-status' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'keep-alive-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'local-hwassist-inactive-corrective-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-hwassist-inactive-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-hwassist-ipaddr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-hwassist-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-hwassist-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'no-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-hwassist-inactive-corrective-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-hwassist-inactive-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-hwassist-ipaddr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-hwassist-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'partner-hwassist-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cf-hwassist-test' => {
        'category' => 'cf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'hwassist-test-result' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cf-mode-set' => {
        'category' => 'cf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'mode' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cf-modify-iter' => {
        'category' => 'cf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'options-related-info-modify',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'options-related-info-modify',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'cf-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'cf-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'cf-service-disable' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'cf-service-enable' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'cf-status' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster', 'vfiler'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'backup-io-times' => {
                'type' => 'mailbox-io-times-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
            'backup-mailbox-status' => {
                'type' => 'mailbox-status-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'booting-received' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'control-partner-aggregates' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'current-giveback-module' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'current-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'current-resource-table-entry' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'current-resource-table-entry-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'current-takeover-module' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'current-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'fanta-reloc-aggr-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'firmware-received' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'giveback-failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'giveback-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'ha-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interconnect-links' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'interconnect-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-interconnect-up' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'kill-packets' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'local-firmware-progress' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'local-firmware-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'local-in-headswap' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-cluster'],
            },
            'local-mailbox-disks' => {
                'type' => 'sf-disk-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'local-missing-disks' => {
                'type' => 'sf-disk-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'logs-unsynced-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'max-resource-table-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'new-partner-sysid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-cluster'],
            },
            'node-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nvram-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'partner' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'partner-firmware-progress' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'partner-firmware-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'partner-in-headswap' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-cluster'],
            },
            'partner-mailbox-disks' => {
                'type' => 'sf-disk-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'partner-missing-disks' => {
                'type' => 'sf-disk-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'partner-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'partner-nvram-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'primary-io-times' => {
                'type' => 'mailbox-io-times-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
            'primary-mailbox-status' => {
                'type' => 'mailbox-status-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'resource-table' => {
                'type' => 'resource-table-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'sf-options' => {
                'type' => 'sf-options-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-by-partner-not-possible-reason' => {
                'type' => 'takeover-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'takeover-by-partner-possible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'takeover-failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-of-partner-not-possible-reason' => {
                'type' => 'takeover-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'takeover-possible' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'takeover-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-c Possible values are: <ul> <li>none - Not in takeover </li> <li>takeover_normal - Operator initiated takeover <li>takeover_immediate - Operator initiated forced takeover</li> <li>takeover_ndu - Takeover initiated as part of NDU </li> <li>takeover_forced - Operator initiated forced takeover', 'ontap-cluster', 'possible data loss</li> <li>takeover_early - Takeover occuring during bootup of a filer </li> <li>takeover_operator_exp - Takeover occuring after operator timeout expired </li> <li>takeover_post_failed - Takeover occuring on POST failure </li> <li>takeover_panic - Takeover on panic </li> <li>takeover_shortuptime - Takeover after quick toggling between up & down states <li> <li>takeover_sparecore_exp - Takeover on panic timeout expiry </li> <li>takeover_reboot_exp - Takeover on reboot timer expiry </li> <li>takeover_booting_exp - Takeover on booting timer expiry </li> <li>takeover_nfo_shutdown - Takeover on negotiated failover shutdown </li> <li>takeover_nfo_timer - Takeover on negotiated failover timer expiry </li> <li>takeover_mdp - Takeover on multi-disk panic </li> <li>takeover_reboot - Takeover on reboot </li> <li>takeover_halt - Takeover on halt</li> <li>takeover_clam - CLAM triggered takeover </li> <li>takeover_hwassist - H/w assisted takeover </li> </ul>'],
            },
            'takeover-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'time-master-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'time-since-takeover' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'time-until-auto-giveback' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'time-until-takeover' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'timeouts' => {
                'type' => 'timeout-info',
                'flags' => 1,
                'scope' => ['ontap-cluster'],
            },
            'transit-event-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'cf-takeover' => {
        'category' => 'cf',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'allow-disk-inventory-mismatch' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'bypass-optimization' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-quorum-warnings' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'immediate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'skip-lif-migration' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'version-mismatch-ok' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'cf-takeover-status' => {
        'category' => 'cf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'takeover-status',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'takeover-status',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'takeover-status',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cg-commit' => {
        'category' => 'cg',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'cg-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cg-start' => {
        'category' => 'cg',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-d', 'ontap-vserver'],
            },
            'volumes' => {
                'type' => 'volume-name',
                'flags' => 2,
                'scope' => ['ontap-c', 'ontap-vserver', 'vfiler'],
            },
        },
        'outputs' => {
            'cg-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-branchcache-create' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'hash-store-max-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'hash-store-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'operating-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'server-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'versions' => {
                'type' => 'cifs-bc-version-control',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'cifs-branchcache',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cifs-branchcache-flush' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cifs-branchcache-get' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-branchcache',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cifs-branchcache',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cifs-branchcache-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-branchcache',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-branchcache',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-branchcache',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-branchcache-hash' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'recurse' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-branchcache-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'flush-hashes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'hash-store-max-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'hash-store-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operating-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'server-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'versions' => {
                'type' => 'cifs-bc-version-control',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-branchcache-remove' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'flush-hashes' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-character-mapping-create' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'mapping' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'cifs-character-mapping',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cifs-character-mapping-destroy' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-character-mapping-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-character-mapping',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-character-mapping',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-character-mapping',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-character-mapping-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'mapping' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-connection-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-connection',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-connection',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-connection',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-domain-discovered-servers-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-domain-discovered-servers',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-domain-discovered-servers',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-domain-discovered-servers',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-domain-discovered-servers-reset' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cifs-domain-name-mapping-search-add' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'trusted-domains' => {
                'type' => 'realm-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-domain-name-mapping-search-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-domain-name-mapping-search',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-domain-name-mapping-search',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-domain-name-mapping-search',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-domain-name-mapping-search-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'trusted-domains' => {
                'type' => 'realm-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-domain-name-mapping-search-remove' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'trusted-domains' => {
                'type' => 'realm-name',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-domain-password-schedule-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-domain-password-schedule',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-domain-password-schedule',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-domain-password-schedule',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-domain-password-schedule-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-schedule-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schedule-day-of-week' => {
                'type' => 'cron-day-of-week',
                'flags' => 4,
                'scope' => [],
            },
            'schedule-randomized-minute' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schedule-time-of-day' => {
                'type' => 'time-of-day',
                'flags' => 4,
                'scope' => [],
            },
            'schedule-weekly-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-domain-preferred-dc-add' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'preferred-dc' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-domain-preferred-dc-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-domain-preferred-dc',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-domain-preferred-dc',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-domain-preferred-dc',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-domain-preferred-dc-remove' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'preferred-dc' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-domain-server-discovery-mode-get' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-domain-server-discovery-mode-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cifs-domain-server-discovery-mode-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cifs-domain-server-discovery-mode-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-domain-server-discovery-mode-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-domain-server-discovery-mode-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-domain-server-discovery-mode-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-domain-server-discovery-mode-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'mode' => {
                'type' => 'cifs-domain-server-discovery-mode',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-domain-trusts-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-domain-trusts',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-domain-trusts',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-domain-trusts',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-domain-trusts-rediscover' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cifs-home-directory-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-home-directory',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-home-directory',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-home-directory',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-home-directory-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-home-dirs-access-for-admin-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-home-dirs-access-for-public-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-home-directory-search-path-add' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-home-directory-search-path-delete' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-home-directory-search-path-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-home-directory-search-path',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-home-directory-search-path',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-home-directory-search-path',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-home-directory-search-path-remove' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-home-directory-search-path-reorder' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'to-position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-group-create' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'cifs-local-group',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cifs-local-group-delete' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-group-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-local-group',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-local-group',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-local-group',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-local-group-members-add-members' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
            'member-names' => {
                'type' => 'cifs-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-group-members-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-local-group-members',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-local-group-members',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-local-group-members',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-local-group-members-remove-members' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
            'member-names' => {
                'type' => 'cifs-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-group-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-group-rename' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
            'new-group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-user-create' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'full-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-account-disabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
            'user-password' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-user-delete' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'user-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-user-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-local-user',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-local-user',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-local-user',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-local-user-membership-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-local-user-membership',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-local-user-membership',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-local-user-membership',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-local-user-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'full-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-account-disabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-user-rename' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-user-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-local-user-set-password' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'user-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
            'user-password' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-nbtstat-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-nbtstat',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-nbtstat',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-nbtstat',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-options-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-options',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-options',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-options',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-options-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'client-session-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'default-unix-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-unix-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-system-sector-size' => {
                'type' => 'cifs-filesystem-sector-size',
                'flags' => 4,
                'scope' => [],
            },
            'grant-unix-group-perms-to-others' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'guest-unix-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-admin-users-mapped-to-root-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-advanced-sparse-file-support-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-advertise-dfs-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-client-dup-detection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-client-version-reporting-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-copy-offload-direct-copy-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-copy-offload-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dac-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-exportpolicy-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-fake-open-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-fsctl-file-level-trim-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-hide-dotfiles-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-large-mtu-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-local-auth-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-local-users-and-groups-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-multichannel-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nbns-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-netbios-over-tcp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-path-component-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-path-component-cache-symlink-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-read-only-delete-enabled' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'is-referral-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-search-short-names-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-shadowcopy-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb1-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb2-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb3-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb31-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-trusted-domain-enum-search-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-unix-extensions-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-unix-nt-acl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-use-junctions-as-reparse-points-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-connections-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-file-write-zero-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-lifs-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-mpx' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-opens-same-file-per-tree' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-same-tree-connect-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-same-user-sessions-per-connection' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-watches-set-per-tree' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path-component-cache-entry-exp-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path-component-cache-max-entries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path-component-cache-max-session-token-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path-component-cache-symlink-exp-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-grants-execute' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'restrict-anonymous' => {
                'type' => 'anonymous-restriction-level',
                'flags' => 4,
                'scope' => [],
            },
            'shadowcopy-dir-depth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'smb1-max-buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'widelink-as-reparse-point-versions' => {
                'type' => 'cifs-dialects',
                'flags' => 6,
                'scope' => [],
            },
            'win-name-for-null-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wins-servers' => {
                'type' => 'inet-address',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-password-change' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cifs-password-reset' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-privilege-add-privilege' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'privileges' => {
                'type' => 'cifs-privilege-entries',
                'flags' => 2,
                'scope' => [],
            },
            'user-or-group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-privilege-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-privilege',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-privilege',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-privilege',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-privilege-remove-privilege' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'privileges' => {
                'type' => 'cifs-privilege-entries',
                'flags' => 2,
                'scope' => [],
            },
            'user-or-group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-privilege-reset-privilege' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'user-or-group-name' => {
                'type' => 'cifs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-security-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-security',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-security',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-security',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-security-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-aes-encryption-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-password-complexity-required' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-signing-required' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb-encryption-required' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'kerberos-clock-skew' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kerberos-kdc-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kerberos-renew-age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kerberos-ticket-age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lm-compatibility-level' => {
                'type' => 'lm-compatibility-level',
                'flags' => 4,
                'scope' => [],
            },
            'session-security-for-ad-ldap' => {
                'type' => 'ldap-security',
                'flags' => 4,
                'scope' => [],
            },
            'smb1-enabled-for-dc-connections' => {
                'type' => 'system-default-bool',
                'flags' => 4,
                'scope' => [],
            },
            'smb2-enabled-for-dc-connections' => {
                'type' => 'system-default-bool',
                'flags' => 4,
                'scope' => [],
            },
            'use-start-tls-for-ad-ldap' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-server-add-netbios-aliases' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'netbios-aliases' => {
                'type' => 'netbios-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-server-create' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-status' => {
                'type' => 'service-state',
                'flags' => 4,
                'scope' => [],
            },
            'cifs-server' => {
                'type' => 'netbios-name',
                'flags' => 0,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-site' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force-account-overwrite' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'keytab-uri' => {
                'type' => 'uri',
                'flags' => 4,
                'scope' => [],
            },
            'netbios-aliases' => {
                'type' => 'netbios-name',
                'flags' => 6,
                'scope' => [],
            },
            'organizational-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'realm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'workgroup' => {
                'type' => 'netbios-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-server-delete' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force-account-delete' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-server-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-server-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-server-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-server-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-server-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-status' => {
                'type' => 'service-state',
                'flags' => 4,
                'scope' => [],
            },
            'cifs-server' => {
                'type' => 'netbios-name',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-site' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force-account-overwrite' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ou' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'workgroup' => {
                'type' => 'netbios-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-server-remove-netbios-aliases' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'netbios-aliases' => {
                'type' => 'netbios-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-server-start' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cifs-server-stop' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cifs-session-close' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'auth-mechanism' => {
                'type' => 'auth-mechanism',
                'flags' => 4,
                'scope' => [],
            },
            'connection-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'continuously-available' => {
                'type' => 'cifs-ca-protection',
                'flags' => 4,
                'scope' => [],
            },
            'is-session-signed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lif-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'protocol-version' => {
                'type' => 'cifs-dialects',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'smb-encryption-status' => {
                'type' => 'smb-encryption',
                'flags' => 4,
                'scope' => [],
            },
            'unix-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-session-file-close' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'connection-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-session-file-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-session-file',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-session-file',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-session-file',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-session-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-session',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-session',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-session',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-share-access-control-create' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'permission' => {
                'type' => 'cifs-access-perms',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'share' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'user-group-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-or-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'winsid' => {
                'type' => 'windows-sid',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'cifs-share-access-control',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cifs-share-access-control-delete' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'share' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'user-group-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-or-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-share-access-control-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-share-access-control',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-share-access-control',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-share-access-control',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-share-access-control-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'permission' => {
                'type' => 'cifs-access-perms',
                'flags' => 4,
                'scope' => [],
            },
            'share' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'user-group-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-or-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'winsid' => {
                'type' => 'windows-sid',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-share-create' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'attribute-cache-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dir-umask' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-umask' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-group-for-create' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-path-validation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-connections-per-share' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'offline-files-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'share-properties' => {
                'type' => 'cifs-share-properties',
                'flags' => 6,
                'scope' => [],
            },
            'symlink-properties' => {
                'type' => 'cifs-share-symlink-properties',
                'flags' => 6,
                'scope' => [],
            },
            'vscan-fileop-profile' => {
                'type' => 'vscan-fileop-profile',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'cifs-share',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cifs-share-delete' => {
        'category' => 'cifs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'share-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-share-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-share',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-share',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-share',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-share-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'attribute-cache-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dir-umask' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-umask' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-group-for-create' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-path-validation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-connections-per-share' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'offline-files-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'share-properties' => {
                'type' => 'cifs-share-properties',
                'flags' => 6,
                'scope' => [],
            },
            'symlink-properties' => {
                'type' => 'cifs-share-symlink-properties',
                'flags' => 6,
                'scope' => [],
            },
            'vscan-fileop-profile' => {
                'type' => 'vscan-fileop-profile',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-symlink-create' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'cifs-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'cifs-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-directory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'locality' => {
                'type' => 'cifs-symlink-locality',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'cifs-symlink',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cifs-symlink-delete' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'unix-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-symlink-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-symlink',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-symlink',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-symlink',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-symlink-modify' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'cifs-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cifs-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-directory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'locality' => {
                'type' => 'cifs-symlink-locality',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cifs-user-home-directory-path-get' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-user-home-directory-path',
                'flags' => 5,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cifs-user-home-directory-path',
                'flags' => 1,
                'scope' => [],
            },
            'out-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-user-home-directory-path-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-user-home-directory-path',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-user-home-directory-path',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-user-home-directory-path',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'out-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-users-and-group-local-group-members-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-users-and-group-local-group-members',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-users-and-group-local-group-members',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-users-and-group-local-group-members',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cifs-users-and-group-local-user-membership-get-iter' => {
        'category' => 'cifs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cifs-users-and-group-local-user-membership',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cifs-users-and-group-local-user-membership',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cifs-users-and-group-local-user-membership',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-charmap-get' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'charmap' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-charmap-set' => {
        'category' => 'cifs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'charmap' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'clock-get-clock' => {
        'category' => 'clock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'is-compliance-clock' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'local-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'utc-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'clock-get-timezone' => {
        'category' => 'clock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
            'timezone' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'timezone-UTC' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'timezone-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'clone-autodelete' => {
        'category' => 'clone',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'clone-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'enable' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'clone-autodelete-status' => {
        'category' => 'clone',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'clone-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'clone-autodelete-info' => {
                'type' => 'clone-autodelete-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'clone-create' => {
        'category' => 'clone',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'autodelete' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'block-ranges' => {
                'type' => 'block-range',
                'flags' => 7,
                'scope' => [],
            },
            'destination-exists' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-locks' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-streams' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-backup' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'space-reserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'token-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'clone-deletion-add-extension' => {
        'category' => 'clone',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'extensions' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'clone-deletion-get-iter' => {
        'category' => 'clone',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'clone-deletion-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'clone-deletion-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'clone-deletion-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'clone-deletion-minimum-size' => {
        'category' => 'clone',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'minimum-size' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'clone-deletion-remove-extension' => {
        'category' => 'clone',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'extensions' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'clone-split-enable' => {
        'category' => 'clone',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'clone-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'clone-split-load-get-iter' => {
        'category' => 'clone',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'clone-split-load-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'clone-split-load-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'clone-split-load-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'clone-split-status' => {
        'category' => 'clone',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'clone-split-info' => {
                'type' => 'clone-split-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'clone-token-create' => {
        'category' => 'clone',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'expiry-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'reserve-size' => {
                'type' => 'size',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'token-uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'clone-token-delete' => {
        'category' => 'clone',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'token-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'clone-token-get' => {
        'category' => 'clone',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'token-uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'clone-token-info' => {
                'type' => 'clone-token-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'clone-token-get-iter' => {
        'category' => 'clone',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'clone-token-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'query' => {
                'type' => 'clone-token-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'clone-token-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'clone-token-modify-expiry-limit' => {
        'category' => 'clone',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'reservation-duration-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'token-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-add-node' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-contact-get' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-contact',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-contact',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-contact-modify' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'business-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'city' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'country' => {
                'type' => 'country-code',
                'flags' => 4,
                'scope' => [],
            },
            'primary-alt-phone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'primary-email' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'primary-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'primary-phone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-alt-phone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-email' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-phone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'zip-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-create' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'keep-precluster-cert' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'license' => {
                'type' => 'license-code-v2',
                'flags' => 4,
                'scope' => [],
            },
            'node-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-create-join-progress-get' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-create-join-progress-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-create-join-progress-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-identity-get' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-identity-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-identity-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-identity-modify' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-contact' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'cluster-name-simple',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-join' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-log-forward-create' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination' => {
                'type' => 'remote-inet-address',
                'flags' => 0,
                'scope' => [],
            },
            'facility' => {
                'type' => 'syslog-facility',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'log-fwd-proto',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'verify-server' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'cluster-log-forward-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cluster-log-forward-destroy' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination' => {
                'type' => 'remote-inet-address',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-log-forward-get' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-log-forward-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination' => {
                'type' => 'remote-inet-address',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-log-forward-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-log-forward-get-iter' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-log-forward-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-log-forward-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-log-forward-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-log-forward-modify' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination' => {
                'type' => 'remote-inet-address',
                'flags' => 0,
                'scope' => [],
            },
            'facility' => {
                'type' => 'syslog-facility',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'verify-server' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-log-forward-statistics-get' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-log-forward-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'destination' => {
                'type' => 'remote-inet-address',
                'flags' => 0,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'log' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-log-forward-statistics',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-log-forward-statistics-get-iter' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-log-forward-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-log-forward-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-log-forward-statistics',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-node-get' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-node-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-node-get-iter' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-node-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-node-modify' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-node-eligible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-epsilon' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'skip-quorum-check-before-ineligible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-zoneinfo-get' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'zoneinfo-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'zoneinfo-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-zoneinfo-load-from-uri' => {
        'category' => 'cluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'uri' => {
                'type' => 'uri',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-image-get' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-image-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-id' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-image-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-image-get-download-progress' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'progress-details' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'progress-status' => {
                'type' => 'cluster-image-download-status',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-image-get-iter' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-image-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-image-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-image-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-image-get-upgrade-plan' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'package-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'backout-phase-info-list' => {
                'type' => 'phase-info',
                'flags' => 7,
                'scope' => [],
            },
            'backout-plan-head' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'upgrade-phase-info-list' => {
                'type' => 'phase-info',
                'flags' => 7,
                'scope' => [],
            },
            'upgrade-plan-head' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-image-node-update-progress-info' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'node-update-progress-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'node-update-progress-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-image-package-delete' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'package-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-image-package-download' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'package-url' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-image-package-download-abort' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cluster-image-package-local-get' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-image-package-local-info',
                'flags' => 5,
                'scope' => [],
            },
            'package-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-image-package-local-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-image-package-local-get-iter' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-image-package-local-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-image-package-local-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-image-package-local-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-image-update' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'estimate-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-rolling' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-validation-warning' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'package-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'pause-after' => {
                'type' => 'non-disruptive-update-pause-after',
                'flags' => 4,
                'scope' => [],
            },
            'stabilize-minutes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'estimated-post-update-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'estimated-pre-update-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'estimated-update-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-image-update-cancel' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cluster-image-update-history-get-iter' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-update-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-update-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-update-history-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-image-update-log-get-iter' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-update-transaction-log-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-update-transaction-log-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-update-transaction-log-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-image-update-pause' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'cluster-image-update-progress-get-iter' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-image-ndu-phase-list-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-image-ndu-phase-list-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-image-ndu-phase-list-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-image-update-progress-info' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ndu-progress-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ndu-progress-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-image-update-resume' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ignore-post-update-checks-failures' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-image-validate' => {
        'category' => 'cluster-image',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'package-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'cluster-image-validation-report-list' => {
                'type' => 'cluster-image-validation-report-list-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'cluster-peer-authn-offer-cancel' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'peer-cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-peer-authn-offer-get' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-peer-authn-offer',
                'flags' => 5,
                'scope' => [],
            },
            'peer-cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-peer-authn-offer',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-peer-authn-offer-get-iter' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-peer-authn-offer',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-peer-authn-offer',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-peer-authn-offer',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-peer-authn-offer-modify' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'initial-allowed-vserver-peers' => {
                'type' => 'vserver-name',
                'flags' => 6,
                'scope' => [],
            },
            'offer-expiration' => {
                'type' => 'expiration',
                'flags' => 4,
                'scope' => [],
            },
            'peer-cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-peer-connection-destroy' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'connection-type' => {
                'type' => 'cluster-peer-connection-type',
                'flags' => 0,
                'scope' => [],
            },
            'file-descriptor' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'peer-cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-peer-connections-get' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'connection-type' => {
                'type' => 'cluster-peer-connection-type',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'cluster-peer-connections',
                'flags' => 5,
                'scope' => [],
            },
            'file-descriptor' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'peer-cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-peer-connections',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-peer-connections-get-iter' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-peer-connections',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-peer-connections',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-peer-connections',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-peer-create' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-family' => {
                'type' => 'cluster-peer-address-family',
                'flags' => 4,
                'scope' => [],
            },
            'encrypt' => {
                'type' => 'csm-encr-flags',
                'flags' => 4,
                'scope' => [],
            },
            'generate-passphrase' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'initial-allowed-vserver-peers' => {
                'type' => 'vserver-name',
                'flags' => 6,
                'scope' => [],
            },
            'ipspace-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-name' => {
                'type' => 'cluster-name-simple',
                'flags' => 4,
                'scope' => [],
            },
            'offer-expiration' => {
                'type' => 'expiration',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-addresses' => {
                'type' => 'remote-inet-address',
                'flags' => 6,
                'scope' => [],
            },
            'rpc-connect-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'update-ping-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'passphrase-info' => {
                'type' => 'cluster-peer-passphrase-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cluster-peer-delete' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-peer-get' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'cluster-peer-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-peer-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-peer-get-iter' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-peer-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-peer-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-peer-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-peer-health-info-get' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-peer-health-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'cluster-name',
                'flags' => 0,
                'scope' => [],
            },
            'destination-node' => {
                'type' => 'peer-node-name',
                'flags' => 0,
                'scope' => [],
            },
            'originating-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-peer-health-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-peer-health-info-get-iter' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-peer-health-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-peer-health-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-peer-health-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-peer-modify' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-family' => {
                'type' => 'address-family',
                'flags' => 4,
                'scope' => [],
            },
            'auth-status-admin' => {
                'type' => 'cluster-peer-auth-status-admin',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'encrypt' => {
                'type' => 'csm-encr-flags',
                'flags' => 4,
                'scope' => [],
            },
            'generate-passphrase' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'offer-expiration' => {
                'type' => 'expiration',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-addresses' => {
                'type' => 'remote-inet-address',
                'flags' => 6,
                'scope' => [],
            },
            'rpc-connect-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'update-ping-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'passphrase-info' => {
                'type' => 'cluster-peer-passphrase-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cluster-peer-modify-local-name' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'cluster-name-simple',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cluster-peer-ping-iter' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-peer-ping-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cluster-peer-ping-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cluster-peer-ping-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cluster-peer-policy-get' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cluster-peer-policy',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cluster-peer-policy',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cluster-peer-policy-modify' => {
        'category' => 'cluster-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-unauthenticated-access-permitted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase-minlength' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'config-backup-copy' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'backup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'from-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'to-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'config-backup-create' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'backup-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'backup-type' => {
                'type' => 'backup-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'config-backup-delete' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'backup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'config-backup-download' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'backup-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'source-url' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'config-backup-info-get' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'backup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'config-backup-info-type',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'config-backup-info-type',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'config-backup-info-get-iter' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'config-backup-info-type',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'config-backup-info-type',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'config-backup-info-type',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'config-backup-rename' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'backup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-backup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'config-backup-settings-get' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'config-backup-settings-type',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'config-backup-settings-type',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'config-backup-settings-modify' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'backup-count1' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'backup-count2' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'backup-count3' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'destination-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'username-for-destination-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'config-backup-settings-password-set' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'password-for-destination-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'config-backup-upload' => {
        'category' => 'config-backup',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'backup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'destination-url' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'coredump-trigger' => {
        'category' => 'coredump',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'dashboard-alarm-get' => {
        'category' => 'dashboard',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'dashboard-metric-type' => {
                'type' => 'dashboard-metric-type',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'dashboard-alarm-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'object-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'dashboard-alarm-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'dashboard-alarm-get-iter' => {
        'category' => 'dashboard',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'dashboard-alarm-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'dashboard-alarm-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'dashboard-alarm-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'dashboard-alarm-get-total-records' => {
        'category' => 'dashboard',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'dashboard-alarm-threshold-get' => {
        'category' => 'dashboard',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'dashboard-metric-type' => {
                'type' => 'dashboard-metric-type',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'dashboard-alarm-threshold-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'dashboard-alarm-threshold-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'dashboard-alarm-threshold-get-iter' => {
        'category' => 'dashboard',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'dashboard-alarm-threshold-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'dashboard-alarm-threshold-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'dashboard-alarm-threshold-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'dashboard-alarm-threshold-get-total-records' => {
        'category' => 'dashboard',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'dashboard-alarm-threshold-modify' => {
        'category' => 'dashboard',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'critical-threshold' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dashboard-metric-type' => {
                'type' => 'dashboard-metric-type',
                'flags' => 0,
                'scope' => [],
            },
            'is-user-notification-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'polling-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'threshold-units' => {
                'type' => 'threshold-unit',
                'flags' => 4,
                'scope' => [],
            },
            'warning-threshold' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'diagnosis-alert-definition-get' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'alert-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'diagnosis-alert-definition-info',
                'flags' => 5,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'diagnosis-alert-definition-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'diagnosis-alert-definition-get-iter' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-alert-definition-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'diagnosis-alert-definition-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'diagnosis-alert-definition-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'diagnosis-alert-get' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'alert-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'alerting-resource' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'diagnosis-alert-info',
                'flags' => 5,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'diagnosis-alert-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'diagnosis-alert-get-iter' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-alert-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'diagnosis-alert-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'diagnosis-alert-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'diagnosis-alert-modify' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'acknowledge' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'acknowledger' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'alert-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'alerting-resource' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'suppress' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'suppressor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'diagnosis-config-get' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'diagnosis-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'diagnosis-config-get-iter' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'diagnosis-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'diagnosis-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'diagnosis-delete-alert' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'alert-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'alerting-resource' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'diagnosis-policy-definition-get' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-policy-definition-info',
                'flags' => 5,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'diagnosis-policy-definition-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'diagnosis-policy-definition-get-iter' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-policy-definition-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'diagnosis-policy-definition-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'diagnosis-policy-definition-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'diagnosis-policy-modify' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-autosupport-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'diagnosis-status-get' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-status',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'diagnosis-status',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'diagnosis-subscriptions-create' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'class-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'event-type' => {
                'type' => 'hm-event-type',
                'flags' => 0,
                'scope' => [],
            },
            'fail-thresh' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'instance-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-notify-period' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'notify-dest-hm' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'notify-dest-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'notify-table' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'psc-option' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'subscription-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'time-gap-notify' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'diagnosis-subscriptions-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'diagnosis-subscriptions-get' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'class-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'diagnosis-subscriptions-info',
                'flags' => 5,
                'scope' => [],
            },
            'event-type' => {
                'type' => 'hm-event-type',
                'flags' => 0,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'notify-dest-hm' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'notify-dest-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'subscription-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'diagnosis-subscriptions-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'diagnosis-subscriptions-get-iter' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-subscriptions-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'diagnosis-subscriptions-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'diagnosis-subscriptions-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'diagnosis-subscriptions-modify' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'class-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'event-type' => {
                'type' => 'hm-event-type',
                'flags' => 0,
                'scope' => [],
            },
            'fail-thresh' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'instance-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-notify-period' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'notify-dest-hm' => {
                'type' => 'hm-type',
                'flags' => 0,
                'scope' => [],
            },
            'notify-dest-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'notify-table' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'psc-option' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'subscription-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'time-gap-notify' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'diagnosis-subsystem-config-get' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-subsystem-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'hm-subsystem',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'diagnosis-subsystem-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'diagnosis-subsystem-config-get-iter' => {
        'category' => 'diagnosis',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'diagnosis-subsystem-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'diagnosis-subsystem-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'diagnosis-subsystem-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'diagnosis-subsystem-config-modify' => {
        'category' => 'diagnosis',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'refresh-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'hm-subsystem',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-fail' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'disk' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-immediate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-remove' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'disk' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-replace-start' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'allow-same-carrier' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'replacement-disk' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-replace-stop' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'disk' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-sanown-assign' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'all' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'auto' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'checksum' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'copy-owner-from' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-data-partition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-data1-partition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-data2-partition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-root-partition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'pool' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-sanown-filer-list-info' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'disk-sanown-filer-details' => {
                'type' => 'disk-sanown-filer-detail-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'disk-sanown-list-info' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'disk' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'ownership-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'disk-sanown-details' => {
                'type' => 'disk-sanown-detail-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'disk-sanown-reassign' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'new-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'new-owner-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'old-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'old-owner-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-sanown-remove-ownership' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'all' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk-list' => {
                'type' => 'disk-name',
                'flags' => 6,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-data-partition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-data1-partition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-data2-partition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-root-partition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-unfail' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'disk' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'make-spare' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-update-disk-fw' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'disk-list' => {
                'type' => 'disk-name',
                'flags' => 6,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'disk-zero-spares' => {
        'category' => 'disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'use-physical-zeroing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
            },
        },
        'outputs' => {
        },
    },
    'disk-encrypt-get' => {
        'category' => 'disk-encrypt',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'disk-encrypt-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'disk-encrypt-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'disk-encrypt-get-iter' => {
        'category' => 'disk-encrypt',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'disk-encrypt-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'disk-encrypt-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'disk-encrypt-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'disk-encrypt-modify' => {
        'category' => 'disk-encrypt',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'data-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-name' => {
                'type' => 'disk-name',
                'flags' => 0,
                'scope' => [],
            },
            'fips-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-encrypt-modify-iter' => {
        'category' => 'disk-encrypt',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'data-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fips-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'disk-encrypt-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'disk-encrypt-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'disk-encrypt-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'disk-encrypt-sanitize' => {
        'category' => 'disk-encrypt',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'disk-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'disk-encrypt-sanitize-iter' => {
        'category' => 'disk-encrypt',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'disk-encrypt-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'disk-encrypt-sanitize-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'disk-encrypt-sanitize-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'disk-encrypt-status-get' => {
        'category' => 'disk-encrypt',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'disk-encrypt-show-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'disk-encrypt-show-status-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'disk-encrypt-status-get-iter' => {
        'category' => 'disk-encrypt',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'disk-encrypt-show-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'disk-encrypt-show-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'disk-encrypt-show-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-autosupport-log' => {
        'category' => 'ems',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'app-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'auto-support' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'category' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'computer-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'event-description' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'event-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'event-source' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'log-level' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-config-get' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-config-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ems-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ems-config-modify' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'auto-suppress-exempt-filter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'console' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'console-log-level' => {
                'type' => 'emsseverity',
                'flags' => 4,
                'scope' => [],
            },
            'duplicate-suppression-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'log-rotation-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'mail-from' => {
                'type' => 'mail-address',
                'flags' => 4,
                'scope' => [],
            },
            'mail-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-destination-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-filter-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-filter-rule-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-log-show-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-notification-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-target-event-bytes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-target-log-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rest-delivery-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'suppression' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'trace-log-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-config-set-proxy-password' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'password-for-proxy-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-destination-create' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'hide-parameters' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mail' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snmp' => {
                'type' => 'remote-ip',
                'flags' => 6,
                'scope' => [],
            },
            'snmp-community' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'syslog' => {
                'type' => 'remote-ip',
                'flags' => 6,
                'scope' => [],
            },
            'syslog-facility' => {
                'type' => 'syslog-facility',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'ems-destination-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'ems-destination-destroy' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-destination-destroy-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-destination-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-destination-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-destination-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-destination-get' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-destination-info',
                'flags' => 5,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ems-destination-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ems-destination-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-destination-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-destination-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ems-destination-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-destination-modify' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'hide-parameters' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mail' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snmp' => {
                'type' => 'remote-ip',
                'flags' => 6,
                'scope' => [],
            },
            'snmp-community' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'syslog' => {
                'type' => 'remote-ip',
                'flags' => 6,
                'scope' => [],
            },
            'syslog-facility' => {
                'type' => 'syslog-facility',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-destination-modify-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'ems-destination-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-destination-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-destination-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-destination-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-event-catalog-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'event-catalog-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-catalog-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'event-catalog-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-event-filter-copy' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-event-filter-create' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-event-filter-destroy-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-delete-notification' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-filter',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-event-filter-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-event-filter-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-event-filter-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'event-filter',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-filter',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'event-filter',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-event-filter-rename' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-event-filter-rule-add' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'snmp-trap-type' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'type' => {
                'type' => 'event-rule-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-event-filter-rule-delete' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-event-filter-rule-reorder' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'to-position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-event-filter-test' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'output' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-create' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destinations' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
            'filter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destination-check' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'check-passed' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'result-log' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destination-create' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'email' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'rest-api-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'syslog' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'event-notification-destination',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destination-destroy-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-delete-notification' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-notification-destination',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-event-notification-destination-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-event-notification-destination-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destination-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'event-notification-destination-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-notification-destination-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'event-notification-destination-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destination-modify-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'event-notification-destination',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-notification-destination',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-event-notification-destination-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-event-notification-destination-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destroy-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-notification',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-event-notification-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-event-notification-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'event-notification',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-notification',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'event-notification',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-history-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'event-notification-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-notification-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'event-notification-history-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-modify-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'event-notification',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'event-notification',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-event-notification-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-event-notification-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-mail-history-destroy' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-mail-history-destroy-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-mail-history-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-mail-history-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-mail-history-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-mail-history-get' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-mail-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ems-mail-history-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ems-mail-history-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-mail-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-mail-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ems-mail-history-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-message-get' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-message-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ems-message-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ems-message-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-message-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-message-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ems-message-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-routing-add-destination' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destinations' => {
                'type' => 'ems-destination',
                'flags' => 2,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-routing-get' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-routing-info',
                'flags' => 5,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 0,
                'scope' => [],
            },
            'severity' => {
                'type' => 'eventseverity',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ems-routing-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ems-routing-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-routing-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-routing-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ems-routing-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-routing-modify' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destinations' => {
                'type' => 'ems-destination',
                'flags' => 6,
                'scope' => [],
            },
            'frequency-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 0,
                'scope' => [],
            },
            'time-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-routing-modify-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'ems-routing-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-routing-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-routing-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-routing-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-routing-remove-destination' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destinations' => {
                'type' => 'ems-destination',
                'flags' => 2,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-snmp-history-destroy' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ems-snmp-history-destroy-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-snmp-history-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'ems-snmp-history-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'ems-snmp-history-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ems-snmp-history-get' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-snmp-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ems-snmp-history-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ems-snmp-history-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-snmp-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-snmp-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ems-snmp-history-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ems-status-get' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ems-status-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ems-status-get-iter' => {
        'category' => 'ems',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ems-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ems-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ems-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'environment-sensors-get-iter' => {
        'category' => 'environment',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'environment-sensors-info',
                'flags' => 5,
                'scope' => [],
            },
            'discrete-sensor-state' => {
                'type' => 'sensor-state-enum',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'environment-sensors-info',
                'flags' => 5,
                'scope' => [],
            },
            'sensor-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sensor-type' => {
                'type' => 'sensor-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'threshold-sensor-state' => {
                'type' => 'sensor-state-enum',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'environment-sensors-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'export-check-access-get-iter' => {
        'category' => 'exports',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'access-type' => {
                'type' => 'export-access-rights',
                'flags' => 0,
                'scope' => [],
            },
            'authentication-method' => {
                'type' => 'security-flavor',
                'flags' => 0,
                'scope' => [],
            },
            'client-ip' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'export-check-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'access-protocol',
                'flags' => 0,
                'scope' => [],
            },
            'query' => {
                'type' => 'export-check-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'export-check-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'export-policy-create' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'export-policy-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'export-policy-destroy' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'export-policy-get' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'export-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'export-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'export-policy-get-iter' => {
        'category' => 'exports',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'export-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'export-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'export-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'export-policy-rename' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'export-rule-add-clientmatches' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'clientmatches' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'export-rule-create' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'anonymous-user-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-match' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'export-chown-mode' => {
                'type' => 'exportchownmode',
                'flags' => 4,
                'scope' => [],
            },
            'export-ntfs-unix-security-ops' => {
                'type' => 'exportntfsunixsecops',
                'flags' => 4,
                'scope' => [],
            },
            'is-allow-dev-is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-allow-set-uid-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'access-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'ro-rule' => {
                'type' => 'security-flavor',
                'flags' => 2,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rw-rule' => {
                'type' => 'security-flavor',
                'flags' => 2,
                'scope' => [],
            },
            'super-user-security' => {
                'type' => 'security-flavor',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'export-rule-destroy' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'export-rule-get' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'export-rule-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'export-rule-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'export-rule-get-create-defaults' => {
        'category' => 'exports',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'attributes' => {
                'type' => 'export-rule-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'defaults' => {
                'type' => 'export-rule-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'export-rule-get-iter' => {
        'category' => 'exports',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'export-rule-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'export-rule-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'export-rule-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'export-rule-modify' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'anonymous-user-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-match' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'export-chown-mode' => {
                'type' => 'exportchownmode',
                'flags' => 4,
                'scope' => [],
            },
            'export-ntfs-unix-security-ops' => {
                'type' => 'exportntfsunixsecops',
                'flags' => 4,
                'scope' => [],
            },
            'is-allow-dev-is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-allow-set-uid-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'access-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'ro-rule' => {
                'type' => 'security-flavor',
                'flags' => 6,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'rw-rule' => {
                'type' => 'security-flavor',
                'flags' => 6,
                'scope' => [],
            },
            'super-user-security' => {
                'type' => 'security-flavor',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'export-rule-remove-clientmatches' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'clientmatches' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'export-rule-set-index' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-rule-index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'exports-access-cache-all-vservers-get' => {
        'category' => 'exports',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'access-cache-attributes-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'access-cache-attributes-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'exports-access-cache-all-vservers-modify' => {
        'category' => 'exports',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'harvest-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'refresh-period-negative' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'refresh-period-positive' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'exports-access-cache-config-get' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'exports-access-cache-config-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'exports-access-cache-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'exports-access-cache-config-get-iter' => {
        'category' => 'exports',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'exports-access-cache-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'exports-access-cache-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'exports-access-cache-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'exports-access-cache-config-modify' => {
        'category' => 'exports',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'harvest-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ttl-failure' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ttl-negative' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ttl-positive' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fc-config-adapter-disable' => {
        'category' => 'fc',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'fc-config-adapter-enable' => {
        'category' => 'fc',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'fc-config-list-info' => {
        'category' => 'fc',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fc-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fc-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fc-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fc-config-set-adapter-fc-type' => {
        'category' => 'fc',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'fc-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'fcp-adapter-config-down' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'fcp-adapter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'fcp-adapter-config-up' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'fcp-adapter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'fcp-adapter-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-config-adapter-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-config-adapter-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-config-adapter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-adapter-set-speed' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'fcp-adapter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'speed' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fcp-adapter-stats-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-adapter-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-adapter-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-adapter-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-initiator-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-adapter-initiators-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-adapter-initiators-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-adapter-initiators-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-interface-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-interface-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-interface-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-interface-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-nameserver-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-nameserver-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-nameserver-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-nameserver-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-node-get-name' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-node-set-name' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fcp-ping-igroup-view-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-ping-igroup-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-ping-igroup-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-ping-igroup-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-ping-initiator-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-ping-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-ping-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-ping-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-port-name-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-port-name-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-port-name-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-port-name-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-port-name-set' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'fcp-adapter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fcp-service-create' => {
        'category' => 'fcp',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force-node-name' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-service-destroy' => {
        'category' => 'fcp',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'fcp-service-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-service-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-service-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-service-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-service-start' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'fcp-service-status' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
            'is-available' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-service-stop' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'fcp-topology-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-topology-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-topology-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-topology-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-topology-port-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-topology-port-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-topology-port-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-topology-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-wwpnalias-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'aliases-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'aliases-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'aliases-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-wwpnalias-remove' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'alias' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fcp-wwpnalias-set' => {
        'category' => 'fcp',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'alias' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fcp-zone-get-iter' => {
        'category' => 'fcp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fcp-zone-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fcp-zone-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fcp-zone-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcport-get-link-state' => {
        'category' => 'fcport',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'adapter-link-state' => {
                'type' => 'link-state-info',
                'flags' => 3,
                'scope' => [],
            },
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'feature-status-list-info' => {
        'category' => 'feature',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
            'managed-feature-status-list' => {
                'type' => 'managed-feature-status-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'feature-usage-get-iter' => {
        'category' => 'feature',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'usage-state-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'usage-state-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'usage-state-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'feature-usage-summary-get-iter' => {
        'category' => 'feature',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'usage-summary-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'usage-summary-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'usage-summary-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-assign-qos' => {
        'category' => 'file',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'caching-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'qos-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-compact-data' => {
        'category' => 'file',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'file' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot' => {
                'type' => 'snapshot-id',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-create-directory' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'perm' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-create-symlink' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'symlink' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-delete-directory' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-delete-file' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-fingerprint-abort' => {
        'category' => 'file',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'session-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-fingerprint-dump' => {
        'category' => 'file',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fingerprint-info',
                'flags' => 5,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'fingerprint-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'file-fingerprint-get-iter' => {
        'category' => 'file',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fingerprint-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fingerprint-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fingerprint-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-fingerprint-start' => {
        'category' => 'file',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'scope' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-get-file-info' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'file-info' => {
                'type' => 'file-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'file-get-space-reservation-info' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-fill-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-overwrite-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-hole-range-query-iter' => {
        'category' => 'file',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'offset' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'hole-range-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-inode-info-get-iter' => {
        'category' => 'file',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'inode-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'inode-info',
                'flags' => 1,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'inode-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-list-directory-iter' => {
        'category' => 'file',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'file-info',
                'flags' => 7,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'query' => {
                'type' => 'file-info',
                'flags' => 7,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'file-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-punch-hole-iter' => {
        'category' => 'file',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'attributes-list' => {
                'type' => 'hole-range-info',
                'flags' => 3,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-read-file' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'offset' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'stream-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
            'data' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-read-symlink' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'symlink' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-rename-file' => {
        'category' => 'file',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'from-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'to-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-set-space-reservation-info' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'is-fill-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-overwrite-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-truncate-file' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-usage-get' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver'],
        'inputs' => {
            'length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'start-offset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'total-bytes' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'unique-bytes' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-usage-result-get' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver'],
        'inputs' => {
            'cookie' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'total-bytes' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'unique-bytes' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-usage-start' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver'],
        'inputs' => {
            'length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'start-offset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'cookie' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-write-file' => {
        'category' => 'file',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'data' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'offset' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'overwrite' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'stream-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
            'length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-directory-effective-permissions-get' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'client-ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'expand-mask' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'cifs-share-name',
                'flags' => 4,
                'scope' => [],
            },
            'unix-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'win-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'permission' => {
                'type' => 'fsecurity-acl',
                'flags' => 2,
                'scope' => [],
            },
            'share-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-directory-security-get' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'cifs-share-name' => {
                'type' => 'cifs-share-name',
                'flags' => 4,
                'scope' => [],
            },
            'expand-mask' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'inode' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lookup-names' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'acls' => {
                'type' => 'fsecurity-acl',
                'flags' => 6,
                'scope' => [],
            },
            'dos-attributes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'effective-style' => {
                'type' => 'security-style-enum',
                'flags' => 0,
                'scope' => [],
            },
            'expanded-dos-attr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'inode' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-style' => {
                'type' => 'security-style-enum',
                'flags' => 0,
                'scope' => [],
            },
            'text-dos-attr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'unix-mode-bits' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'unix-user-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-directory-security-ntfs-create' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'control-flags-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'group' => {
                'type' => 'name-or-sid',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
            'owner' => {
                'type' => 'name-or-sid',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'file-directory-security-ntfs',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'file-directory-security-ntfs-dacl-add' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'access-type' => {
                'type' => 'access-type',
                'flags' => 0,
                'scope' => [],
            },
            'account' => {
                'type' => 'name-or-sid',
                'flags' => 0,
                'scope' => [],
            },
            'advanced-rights' => {
                'type' => 'advanced-access-rights',
                'flags' => 6,
                'scope' => [],
            },
            'apply-to' => {
                'type' => 'inheritance-level',
                'flags' => 6,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
            'rights' => {
                'type' => 'access-rights',
                'flags' => 4,
                'scope' => [],
            },
            'rights-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-ntfs-dacl-get-iter' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'file-directory-security-ntfs-dacl',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'file-directory-security-ntfs-dacl',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'file-directory-security-ntfs-dacl',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-directory-security-ntfs-dacl-modify' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'access-type' => {
                'type' => 'access-type',
                'flags' => 0,
                'scope' => [],
            },
            'account' => {
                'type' => 'name-or-sid',
                'flags' => 0,
                'scope' => [],
            },
            'advanced-rights' => {
                'type' => 'advanced-access-rights',
                'flags' => 6,
                'scope' => [],
            },
            'apply-to' => {
                'type' => 'inheritance-level',
                'flags' => 6,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
            'rights' => {
                'type' => 'access-rights',
                'flags' => 4,
                'scope' => [],
            },
            'rights-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-ntfs-dacl-remove' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'access-type' => {
                'type' => 'access-type',
                'flags' => 0,
                'scope' => [],
            },
            'account' => {
                'type' => 'name-or-sid',
                'flags' => 0,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-ntfs-delete' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-ntfs-get-iter' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'file-directory-security-ntfs',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'file-directory-security-ntfs',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'file-directory-security-ntfs',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-directory-security-ntfs-modify' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'control-flags-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'group' => {
                'type' => 'name-or-sid',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
            'owner' => {
                'type' => 'name-or-sid',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-ntfs-sacl-add' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'account' => {
                'type' => 'name-or-sid',
                'flags' => 0,
                'scope' => [],
            },
            'advanced-rights' => {
                'type' => 'advanced-access-rights',
                'flags' => 6,
                'scope' => [],
            },
            'apply-to' => {
                'type' => 'inheritance-level',
                'flags' => 6,
                'scope' => [],
            },
            'audit-access-type' => {
                'type' => 'audit-access-type',
                'flags' => 0,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
            'rights' => {
                'type' => 'access-rights',
                'flags' => 4,
                'scope' => [],
            },
            'rights-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-ntfs-sacl-get-iter' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'file-directory-security-ntfs-sacl',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'file-directory-security-ntfs-sacl',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'file-directory-security-ntfs-sacl',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-directory-security-ntfs-sacl-modify' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'account' => {
                'type' => 'name-or-sid',
                'flags' => 0,
                'scope' => [],
            },
            'advanced-rights' => {
                'type' => 'advanced-access-rights',
                'flags' => 6,
                'scope' => [],
            },
            'apply-to' => {
                'type' => 'inheritance-level',
                'flags' => 6,
                'scope' => [],
            },
            'audit-access-type' => {
                'type' => 'audit-access-type',
                'flags' => 0,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
            'rights' => {
                'type' => 'access-rights',
                'flags' => 4,
                'scope' => [],
            },
            'rights-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-ntfs-sacl-remove' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'account' => {
                'type' => 'name-or-sid',
                'flags' => 0,
                'scope' => [],
            },
            'audit-access-type' => {
                'type' => 'audit-access-type',
                'flags' => 0,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-policy-create' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'file-security-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'file-directory-security-policy',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'file-directory-security-policy-delete' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'file-security-policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-policy-get-iter' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'file-directory-security-policy',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'file-directory-security-policy',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'file-directory-security-policy',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-directory-security-policy-task-add' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'access-control' => {
                'type' => 'access-control',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-mode' => {
                'type' => 'ntfs-propagation-mode',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 6,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'file-security-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'security-type' => {
                'type' => 'security-type',
                'flags' => 4,
                'scope' => [],
            },
            'task-index-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-policy-task-get-iter' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'file-directory-security-policy-task',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'file-directory-security-policy-task',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'file-directory-security-policy-task',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'file-directory-security-policy-task-modify' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ntfs-mode' => {
                'type' => 'ntfs-propagation-mode',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 6,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'file-security-policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'security-type' => {
                'type' => 'security-type',
                'flags' => 4,
                'scope' => [],
            },
            'task-index-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-policy-task-remove' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'file-security-policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-remove-slag' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'file-directory-security-set' => {
        'category' => 'file-directory-security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ignore-broken-symlinks' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'file-security-policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fileservice-audit-config-create' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'destination' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'events' => {
                'type' => 'audit-events',
                'flags' => 6,
                'scope' => [],
            },
            'format' => {
                'type' => 'audit-format',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'rotate-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rotate-schedule-day' => {
                'type' => 'cron-day-of-month',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-dayofweek' => {
                'type' => 'cron-day-of-week',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-hour' => {
                'type' => 'cron-hour',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-minute' => {
                'type' => 'cron-minute',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-month' => {
                'type' => 'cron-month',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-size' => {
                'type' => 'psize',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'fileservice-audit-config',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'fileservice-audit-config-get' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fileservice-audit-config',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'fileservice-audit-config',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'fileservice-audit-config-get-iter' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fileservice-audit-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fileservice-audit-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fileservice-audit-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fileservice-audit-config-get-total-records' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fileservice-audit-config-modify' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'audit-guarantee' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'events' => {
                'type' => 'audit-events',
                'flags' => 6,
                'scope' => [],
            },
            'format' => {
                'type' => 'audit-format',
                'flags' => 4,
                'scope' => [],
            },
            'rotate-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rotate-schedule-day' => {
                'type' => 'cron-day-of-month',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-dayofweek' => {
                'type' => 'cron-day-of-week',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-hour' => {
                'type' => 'cron-hour',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-minute' => {
                'type' => 'cron-minute',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-month' => {
                'type' => 'cron-month',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-size' => {
                'type' => 'psize',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fileservice-audit-disable' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'fileservice-audit-enable' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fileservice-audit-remove' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fileservice-audit-repair' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'fileservice-audit-rotate-log' => {
        'category' => 'fileservice-audit',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'flash-get-thresholds' => {
        'category' => 'flash',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'profile' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'flash-threshold-profile' => {
                'type' => 'flash-threshold-profile',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'flash-thresholds-get-iter' => {
        'category' => 'flash',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'flash-threshold-profile',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'flash-threshold-profile',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'flash-threshold-profile',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'flash-device-get-iter' => {
        'category' => 'flash-device',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'flash-device-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'flash-device-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'flash-device-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'flash-device-list-info' => {
        'category' => 'flash-device',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'slot-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'subslot-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'flash-device-info' => {
                'type' => 'flash-device-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'flexcache-cache-policy-create' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'deleg-lru-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'prefer-local-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-directories' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'time-to-live-files' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'time-to-live-metafiles' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-other' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-symbolic' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'flexcache-cache-policy-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'flexcache-cache-policy-destroy' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'flexcache-cache-policy-get' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'flexcache-cache-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'flexcache-cache-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'flexcache-cache-policy-get-iter' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'flexcache-cache-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'flexcache-cache-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'flexcache-cache-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'flexcache-cache-policy-modify' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'deleg-lru-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'prefer-local-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-directories' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-files' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-metafiles' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-other' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-symbolic' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'flexcache-create' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'origin-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'flexcache-delete' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'origin-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'flexcache-get' => {
        'category' => 'flexcache',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'cache-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'flexcache-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'flexcache-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'flexcache-get-iter' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'flexcache-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'flexcache-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'flexcache-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'flexcache-options-get' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'flexcache-options-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'flexcache-options-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'flexcache-options-modify' => {
        'category' => 'flexcache',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'delegations-high-watermark' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'delegations-low-watermark' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'per-cache-statistics' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-disable-policy' => {
        'category' => 'fpolicy',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-enable-policy' => {
        'category' => 'fpolicy',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'sequence-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-passthrough-read-connection-get-iter' => {
        'category' => 'fpolicy',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fpolicy-passthrough-read-connection-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fpolicy-passthrough-read-connection-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fpolicy-passthrough-read-connection-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-create' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'allow-privileged-access' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'engine-name' => {
                'type' => 'engine-name',
                'flags' => 0,
                'scope' => [],
            },
            'events' => {
                'type' => 'event-name',
                'flags' => 2,
                'scope' => [],
            },
            'is-mandatory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-passthrough-read-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'privileged-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'fpolicy-policy-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-delete' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-policy-event-create' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'event-name' => {
                'type' => 'event-name',
                'flags' => 0,
                'scope' => [],
            },
            'file-operations' => {
                'type' => 'fpolicy-operation',
                'flags' => 6,
                'scope' => [],
            },
            'filter-string' => {
                'type' => 'fpolicy-filter',
                'flags' => 6,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'fpolicy-proto',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume-operation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'fpolicy-event-options-config',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-event-delete' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'event-name' => {
                'type' => 'event-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-policy-event-get-iter' => {
        'category' => 'fpolicy',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fpolicy-event-options-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fpolicy-event-options-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fpolicy-event-options-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-event-modify' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'event-name' => {
                'type' => 'event-name',
                'flags' => 0,
                'scope' => [],
            },
            'file-operations' => {
                'type' => 'fpolicy-operation',
                'flags' => 6,
                'scope' => [],
            },
            'filter-string' => {
                'type' => 'fpolicy-filter',
                'flags' => 6,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'fpolicy-proto',
                'flags' => 4,
                'scope' => [],
            },
            'volume-operation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-policy-external-engine-create' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'certificate-ca' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-common-name' => {
                'type' => 'common-name',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'engine-name' => {
                'type' => 'engine-name',
                'flags' => 0,
                'scope' => [],
            },
            'extern-engine-type' => {
                'type' => 'external-engine-type',
                'flags' => 4,
                'scope' => [],
            },
            'is-resiliency-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'keep-alive-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-connection-retries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-server-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'primary-servers' => {
                'type' => 'ip-address',
                'flags' => 2,
                'scope' => [],
            },
            'recv-buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'request-abort-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'request-cancel-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'resiliency-directory-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'resiliency-max-retention-duration' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'send-buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'server-progress-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-timeout' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ssl-option' => {
                'type' => 'fpolicy-ssl-opts',
                'flags' => 0,
                'scope' => [],
            },
            'status-request-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'fpolicy-external-engine-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-external-engine-delete' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'engine-name' => {
                'type' => 'engine-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-policy-external-engine-get-iter' => {
        'category' => 'fpolicy',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fpolicy-external-engine-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fpolicy-external-engine-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fpolicy-external-engine-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-external-engine-modify' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'certificate-ca' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-common-name' => {
                'type' => 'common-name',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'engine-name' => {
                'type' => 'engine-name',
                'flags' => 0,
                'scope' => [],
            },
            'extern-engine-type' => {
                'type' => 'external-engine-type',
                'flags' => 4,
                'scope' => [],
            },
            'is-resiliency-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'keep-alive-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-connection-retries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-server-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'primary-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'recv-buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'request-abort-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'request-cancel-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'resiliency-directory-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'resiliency-max-retention-duration' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'send-buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'server-progress-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-timeout' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ssl-option' => {
                'type' => 'fpolicy-ssl-opts',
                'flags' => 4,
                'scope' => [],
            },
            'status-request-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-policy-get-iter' => {
        'category' => 'fpolicy',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fpolicy-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fpolicy-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fpolicy-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-modify' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'allow-privileged-access' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'engine-name' => {
                'type' => 'engine-name',
                'flags' => 4,
                'scope' => [],
            },
            'events' => {
                'type' => 'event-name',
                'flags' => 6,
                'scope' => [],
            },
            'is-mandatory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-passthrough-read-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'privileged-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-policy-scope-create' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'check-extensions-on-directories' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'export-policies-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'export-policies-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'file-extensions-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'file-extensions-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'is-monitoring-of-objects-with-no-extension-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'shares-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'shares-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'volumes-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'volumes-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'fpolicy-scope-config',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-scope-delete' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-policy-scope-get-iter' => {
        'category' => 'fpolicy',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fpolicy-scope-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fpolicy-scope-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fpolicy-scope-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-scope-modify' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'check-extensions-on-directories' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'export-policies-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'export-policies-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'file-extensions-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'file-extensions-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'is-monitoring-of-objects-with-no-extension-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'shares-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'shares-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'volumes-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'volumes-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-policy-status-get-iter' => {
        'category' => 'fpolicy',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fpolicy-policy-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fpolicy-policy-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fpolicy-policy-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fpolicy-server-connect' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'server' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-server-disconnect' => {
        'category' => 'fpolicy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'server' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'fpolicy-server-status-get-iter' => {
        'category' => 'fpolicy',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'fpolicy-server-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'fpolicy-server-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'fpolicy-server-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'gpo-applied-info-get-iter' => {
        'category' => 'gpo',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'gpo-applied-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'gpo-applied-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'gpo-applied-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'gpo-get-iter' => {
        'category' => 'gpo',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'gpo-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'gpo-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'gpo-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'gpo-gpresult-info-get-iter' => {
        'category' => 'gpo',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'gpo-gpresult-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'gpo-gpresult-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'gpo-gpresult-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'gpo-modify' => {
        'category' => 'gpo',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-gpo-enabled' => {
                'type' => 'true-false',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'gpo-restricted-group-applied-info-get-iter' => {
        'category' => 'gpo',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'gpo-restricted-group-applied-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'gpo-restricted-group-applied-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'gpo-restricted-group-applied-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'gpo-restricted-group-defined-info-get-iter' => {
        'category' => 'gpo',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'gpo-restricted-group-defined-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'gpo-restricted-group-defined-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'gpo-restricted-group-defined-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'gpo-update' => {
        'category' => 'gpo',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force-reapply-all-settings' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'group-mapping-create' => {
        'category' => 'group-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 0,
                'scope' => [],
            },
            'pattern' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'replacement' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'group-mapping-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'group-mapping-delete' => {
        'category' => 'group-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'group-mapping-get-iter' => {
        'category' => 'group-mapping',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'group-mapping-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'group-mapping-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'group-mapping-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'group-mapping-insert' => {
        'category' => 'group-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 0,
                'scope' => [],
            },
            'pattern' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'replacement' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'group-mapping-modify' => {
        'category' => 'group-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 0,
                'scope' => [],
            },
            'pattern' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'replacement' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'group-mapping-swap' => {
        'category' => 'group-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'direction' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'with-position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-auto-reset-configuration-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-reset-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-reset-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-reset-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-channel-status-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-channel-status',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-channel-status',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-channel-status',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-clear-port-counters' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-clear-port-symbol-errors' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-config-details-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-config-details',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-config-details',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-config-details',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-connection-status-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-flint-flash-details-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-flint-flash-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-flint-flash-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-flint-flash-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-flint-image-details-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-flint-image-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-flint-image-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-flint-image-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-flint-verify-flash' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-flint-verify-image' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-flush-details-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-flush-details',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-flush-details',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-flush-details',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-auto-reset-configuration' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-reset-config',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-reset-config',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-channel-status' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'channel-name' => {
                'type' => 'ha-ic-channel',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'ha-interconnect-channel-status',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-channel-status',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-config-details' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-config-details',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-config-details',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-connection-status' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-status-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-flint-flash-details' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-flint-flash-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-flint-flash-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-flint-image-details' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-flint-image-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-flint-image-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-flush-details' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'channel-name' => {
                'type' => 'ha-ic-nv-channel',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'ha-interconnect-flush-details',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-flush-details',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-nvram-configuration' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-nvram-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-nvram-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-ood-status' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-ood-status',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-ood-status',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-performance-statistics' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-performance-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-performance-statistics',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-port-details' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-port-details',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-port-details',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-scatter-gather-list-statistics' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-scatter-gather-list-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-scatter-gather-list-statistics',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-get-timeout-values' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-timeout',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ha-interconnect-timeout',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-link-off' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'link-number' => {
                'type' => 'ha-ic-device-port',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-link-on' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'link-number' => {
                'type' => 'ha-ic-device-port',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-modify-auto-reset-configuration' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'reset-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-modify-timeout-values' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ic-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'ofw-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-nic-reset' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-nvram-configuration-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-nvram-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-nvram-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-nvram-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-ood-clear-error-statistics' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-ood-clear-performance-statistics' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-ood-disable-statistics' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-ood-enable-statistics' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-ood-optimization-off' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-ood-optimization-on' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-ood-send-diagnostic-buffer' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ha-interconnect-ood-status-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-ood-status',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-ood-status',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-ood-status',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-performance-statistics-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-performance-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-performance-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-performance-statistics',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-port-details-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-port-details',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-port-details',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-port-details',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-scatter-gather-list-statistics-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-scatter-gather-list-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-scatter-gather-list-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-scatter-gather-list-statistics',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-timeout-values-get-iter' => {
        'category' => 'ha-interconnect',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ha-interconnect-timeout',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ha-interconnect-timeout',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ha-interconnect-timeout',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'igroup-add' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'igroup-bind-portset' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'portset-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'igroup-create' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'bind-portset' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'os-type' => {
                'type' => 'initiator-group-os-type',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'igroup-destroy' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'igroup-get-iter' => {
        'category' => 'igroup',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'initiator-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'initiator-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'initiator-group-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'igroup-lookup-lun' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'lun-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'igroup-os-type-list' => {
        'category' => 'igroup',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'ostypes' => {
                'type' => 'system-api-enum-value-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'igroup-remove' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'igroup-rename' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'igroup-set-attribute' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'attribute' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'igroup-unbind-portset' => {
        'category' => 'igroup',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-auth-add-initiator-address-ranges' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-address-ranges' => {
                'type' => 'ip-range-or-mask',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-auth-generate-chap-password' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'secret' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-auth-remove-initiator-address-ranges' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-address-ranges' => {
                'type' => 'ip-range-or-mask',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-connection-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-connection-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-connection-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-connection-list-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-initiator-add-auth' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'auth-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-address-ranges' => {
                'type' => 'ip-range-or-mask',
                'flags' => 6,
                'scope' => [],
            },
            'outbound-passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'outbound-password' => {
                'type' => 'string',
                'flags' => 12,
                'scope' => [],
            },
            'outbound-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'password' => {
                'type' => 'string',
                'flags' => 12,
                'scope' => [],
            },
            'radius' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-initiator-auth-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-security-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-security-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-security-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-initiator-delete-auth' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-initiator-get-auth' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'auth-chap-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'auth-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-address-ranges' => {
                'type' => 'ip-range-or-mask',
                'flags' => 6,
                'scope' => [],
            },
            'outbound-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'iscsi-initiator-get-default-auth' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'auth-chap-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'auth-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'outbound-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'iscsi-initiator-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-initiator-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-initiator-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-initiator-list-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-initiator-modify-chap-params' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'outbound-passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'outbound-password' => {
                'type' => 'string',
                'flags' => 12,
                'scope' => [],
            },
            'outbound-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'password' => {
                'type' => 'string',
                'flags' => 12,
                'scope' => [],
            },
            'radius' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'remove-outbound' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-initiator-set-default-auth' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'auth-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'outbound-passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'outbound-password' => {
                'type' => 'string',
                'flags' => 12,
                'scope' => [],
            },
            'outbound-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'password' => {
                'type' => 'string',
                'flags' => 12,
                'scope' => [],
            },
            'radius' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-interface-accesslist-add' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-interface-accesslist-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-interface-accesslist-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-interface-accesslist-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-interface-accesslist-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-interface-accesslist-remove' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-interface-disable' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-interface-enable' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-interface-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-interface-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-interface-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-interface-list-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-interface-modify' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'interface-name' => {
                'type' => 'lif-name',
                'flags' => 0,
                'scope' => [],
            },
            'sendtargets-fqdn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-isns-config' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'isns-ip-addr' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-isns-create' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'isns-ip-addr' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'start' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-isns-destroy' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'iscsi-isns-get-info' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'is-isns-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'isns-entity-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'isns-ip-addr' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'last-successful-update' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'last-successful-update-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'last-update-attempt' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'last-update-attempt-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'last-update-result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'iscsi-isns-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-isns-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-isns-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-isns-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-isns-start' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'iscsi-isns-stop' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'iscsi-isns-update' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'iscsi-node-get-name' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-node-set-name' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-service-create' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'alias-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-service-destroy' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'iscsi-service-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-service-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-service-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-service-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-service-modify' => {
        'category' => 'iscsi',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'login-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-cmds-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-conn-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-error-recovery-level' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'retain-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tcp-window-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-service-start' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'iscsi-service-status' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'is-available' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-service-stop' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'iscsi-session-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-session-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-session-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-session-list-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-stats-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-target-alias-clear-alias' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'iscsi-target-alias-get-alias' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'alias-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-alias-assigned' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-target-alias-set-alias' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'alias-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-tpgroup-create' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'tpgroup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-tpgroup-destroy' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-tpgroup-get-iter' => {
        'category' => 'iscsi',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'iscsi-tpgroup-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'iscsi-tpgroup-list-entry-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'iscsi-tpgroup-list-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-tpgroup-interface-add' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'iscsi-tpgroup-interface-delete' => {
        'category' => 'iscsi',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-by-node-get' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-by-node-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-completed-get' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-completed-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-get' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-history-get' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'log-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-history-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-history-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-history-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-pause' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-pause-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-pause-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-pause-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-private-completed-get' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-private-completed-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-private-get' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-private-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-private-pause' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-private-pause-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-private-pause-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-private-pause-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-private-resume' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-private-resume-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-private-resume-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-private-resume-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-private-soft-pause' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-private-soft-pause-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-private-soft-pause-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-private-soft-pause-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-private-stop' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-private-stop-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-private-stop-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-private-stop-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-resume' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-resume-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-resume-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-resume-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-schedule-cron-create' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-cron-day' => {
                'type' => 'cron-day-of-month',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-day-of-week' => {
                'type' => 'cron-day-of-week',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-hour' => {
                'type' => 'cron-hour',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-minute' => {
                'type' => 'cron-minute',
                'flags' => 2,
                'scope' => [],
            },
            'job-schedule-cron-month' => {
                'type' => 'cron-month',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'job-schedule-cron-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'job-schedule-cron-destroy' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-schedule-cron-destroy-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-schedule-cron-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-schedule-cron-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-schedule-cron-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-schedule-cron-get' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-schedule-cron-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-schedule-cron-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-schedule-cron-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-schedule-cron-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-schedule-cron-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-schedule-cron-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-schedule-cron-modify' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-cron-day' => {
                'type' => 'cron-day-of-month',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-day-of-week' => {
                'type' => 'cron-day-of-week',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-hour' => {
                'type' => 'cron-hour',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-minute' => {
                'type' => 'cron-minute',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-month' => {
                'type' => 'cron-month',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-schedule-get' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-schedule-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-schedule-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-schedule-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-schedule-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-schedule-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-schedule-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-schedule-interval-create' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-days' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-hours' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-minutes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'job-schedule-interval-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'job-schedule-interval-destroy' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-schedule-interval-destroy-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-schedule-interval-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-schedule-interval-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-schedule-interval-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-schedule-interval-get' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-schedule-interval-info',
                'flags' => 5,
                'scope' => [],
            },
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'job-schedule-interval-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-schedule-interval-get-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'job-schedule-interval-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-schedule-interval-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'job-schedule-interval-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'job-schedule-interval-modify' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-days' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-hours' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-minutes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-soft-pause' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-soft-pause-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-soft-pause-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-soft-pause-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'job-stop' => {
        'category' => 'job',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'job-stop-iter' => {
        'category' => 'job',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'job-stop-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'job-stop-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'kerberos-config-get' => {
        'category' => 'kerberos',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'kerberos-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'kerberos-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'kerberos-config-get-iter' => {
        'category' => 'kerberos',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'kerberos-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'kerberos-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'kerberos-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'kerberos-config-modify' => {
        'category' => 'kerberos',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-kerberos-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'keytab-uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organizational-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'service-principal-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'kerberos-realm-create' => {
        'category' => 'kerberos',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'ad-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'ad-server-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'admin-server-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'clock-skew' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'config-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'kdc-ip' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'kdc-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kdc-vendor' => {
                'type' => 'kdc-vendor',
                'flags' => 0,
                'scope' => [],
            },
            'password-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'password-server-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'realm' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'kerberos-realm',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'kerberos-realm-delete' => {
        'category' => 'kerberos',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'config-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'realm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'kerberos-realm-get-iter' => {
        'category' => 'kerberos',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'kerberos-realm',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'kerberos-realm',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'kerberos-realm',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'kerberos-realm-modify' => {
        'category' => 'kerberos',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'ad-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'ad-server-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'admin-server-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'clock-skew' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'config-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'kdc-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'kdc-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kdc-vendor' => {
                'type' => 'kdc-vendor',
                'flags' => 4,
                'scope' => [],
            },
            'password-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'password-server-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'realm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ldap-check-get-iter' => {
        'category' => 'ldap',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ldap-status',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ldap-status',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ldap-status',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ldap-client-create' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ad-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'allow-ssl' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'base-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'base-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'bind-as-cifs-server' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'bind-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'bind-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'group-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'is-netgroup-byhost-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ldap-client-config' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ldap-servers' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'min-bind-level' => {
                'type' => 'ldap-auth-method',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-byhost-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-byhost-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'obs-password' => {
                'type' => 'hex-string',
                'flags' => 4,
                'scope' => [],
            },
            'preferred-ad-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'query-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schema' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'session-security' => {
                'type' => 'ldap-security',
                'flags' => 4,
                'scope' => [],
            },
            'tcp-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-start-tls' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'user-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'ldap-client',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'ldap-client-delete' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ldap-client-config' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ldap-client-get-iter' => {
        'category' => 'ldap',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ldap-client',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ldap-client',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ldap-client',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ldap-client-modify' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ad-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'allow-ssl' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'base-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'base-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'bind-as-cifs-server' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'bind-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'bind-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'group-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'is-netgroup-byhost-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ldap-client-config' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ldap-servers' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'min-bind-level' => {
                'type' => 'ldap-auth-method',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-byhost-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-byhost-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'obs-password' => {
                'type' => 'hex-string',
                'flags' => 4,
                'scope' => [],
            },
            'preferred-ad-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'query-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schema' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'session-security' => {
                'type' => 'ldap-security',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tcp-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-start-tls' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'user-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ldap-client-schema-copy' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-schema-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'schema' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ldap-client-schema-delete' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'schema' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ldap-client-schema-get-iter' => {
        'category' => 'ldap',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ldap-client-schema',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ldap-client-schema',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ldap-client-schema',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ldap-client-schema-modify' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'cn-group-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cn-netgroup-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable-rfc2307bis' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'gecos-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gid-number-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-of-unique-names-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-directory-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'login-shell-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-nis-netgroup-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-uid-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-mapentry-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-mapname-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-netgroup-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-netgroup-triple-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'posix-account-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'posix-group-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schema' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'uid-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uid-number-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unique-member-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-password-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-account-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-to-unix-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-to-unix-no-domain-prefix' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'windows-to-unix-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ldap-config-create' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'client-config' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'client-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'ldap-config',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'ldap-config-delete' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'ldap-config-get-iter' => {
        'category' => 'ldap',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ldap-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ldap-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ldap-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ldap-config-modify' => {
        'category' => 'ldap',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'client-config' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'license-v2-add' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'codes' => {
                'type' => 'license-code-v2',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
            'license-v2-failure-list' => {
                'type' => 'license-v2-result',
                'flags' => 7,
                'scope' => [],
            },
            'license-v2-success-list' => {
                'type' => 'license-v2-added',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'license-v2-apply' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'content' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'license-v2-capacity-create' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'license-input' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'license-v2-capacity-get-iter' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'license-v2-capacity-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'license-v2-capacity-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'license-v2-capacity-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'license-v2-cleanup-list-info' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'licenses' => {
                'type' => 'license-v2-cleanup',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'license-v2-delete' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'package' => {
                'type' => 'licensed-package',
                'flags' => 0,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'license-v2-delete-expired' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'license-v2-delete-unused' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'license-v2-entitlement-risk-get-iter' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'license-v2-entitlement-risk-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'license-v2-entitlement-risk-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'license-v2-entitlement-risk-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'license-v2-list-info' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'licenses' => {
                'type' => 'license-v2-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'license-v2-status-get-iter' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'license-v2-license-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'license-v2-license-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'license-v2-license-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'license-v2-status-list-info' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'license-v2-status' => {
                'type' => 'license-v2-status-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'license-v2-subscription-create' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'license-input' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'license-v2-subscription-get-iter' => {
        'category' => 'license-v2',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'license-v2-subscription-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'license-v2-subscription-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'license-v2-subscription-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lock-break-iter' => {
        'category' => 'lock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lock-info',
                'flags' => 5,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'lock-break-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'lock-break-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'lock-get-iter' => {
        'category' => 'lock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lock-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lock-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lock-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-alignment-get-iter' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lun-align-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lun-align-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lun-align-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-alignment-reset-statistics' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-clear-persistent-reservation-info' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-copy-cancel' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-copy-get-iter' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lun-copy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lun-copy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lun-copy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-copy-modify' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-throughput' => {
                'type' => 'size',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-copy-pause' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-copy-resume' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-copy-start' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'destination-vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'max-throughput' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'paths' => {
                'type' => 'lun-path-pair',
                'flags' => 3,
                'scope' => [],
            },
            'promote-early' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'reference-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-create-by-size' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'foreign-disk' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'ostype' => {
                'type' => 'lun-os-type',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'prefix-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'space-allocation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'space-reservation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-exact-size' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
            'actual-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-create-from-file' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ostype' => {
                'type' => 'lun-os-type',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'qos-policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'space-allocation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'space-reservation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'actual-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-destroy' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'destroy-application-lun' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destroy-fenced-lun' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-generate-serial' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-attribute' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-attributes' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'lun-attribute-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'lun-get-comment' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-geometry' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'bytes-per-sector' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'cylinders' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-resize-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'sectors-per-track' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'tracks-per-cylinder' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'lun-get-inquiry-info' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'firmware-revision' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'product-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vendor-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-iter' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lun-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lun-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lun-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'volume-errors' => {
                'type' => 'volume-error',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'lun-get-maxsize' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'type' => {
                'type' => 'lun-os-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'with-complete-snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'with-snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'without-snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-minsize' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'type' => {
                'type' => 'lun-os-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'min-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-occupied-size' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'occupied-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-persistent-reservation-info' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'persistent-reservation' => {
                'type' => 'persistent-reservation-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'lun-get-select-attribute' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'creation-timestamp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'previous-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'select-attribute' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-serial-number' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-space-reservation-info' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-get-vdisk-attributes' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'filer-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-has-scsi-reservations' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-reservation-held' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-import-create' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'foreign-disk' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-import-delete' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'foreign-disk' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'lun-path',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-import-get-iter' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lun-import-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lun-import-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lun-import-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-import-pause' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-import-resume' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-import-start' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-import-stop' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-import-throttle' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'max-throughput-limit' => {
                'type' => 'size',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-import-verify-start' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-import-verify-stop' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-initiator-list-map-info' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'lun-maps' => {
                'type' => 'lun-map-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'lun-initiator-logged-in' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-logged-in' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-map' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'additional-reporting-node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'lun-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'lun-id-assigned' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-map-add-reporting-nodes' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'all' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'igroup' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'filer-id',
                'flags' => 6,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-map-get-iter' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lun-map-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lun-map-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lun-map-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'volume-errors' => {
                'type' => 'volume-error',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'lun-map-list-info' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'initiator-groups' => {
                'type' => 'initiator-group-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'lun-map-remove-reporting-nodes' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'igroup' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'filer-id',
                'flags' => 6,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-move' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'new-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-move-cancel' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-move-get-iter' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lun-move-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lun-move-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lun-move-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-move-modify' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-throughput' => {
                'type' => 'size',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-move-pause' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-move-resume' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-move-start' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'max-throughput' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'paths' => {
                'type' => 'lun-path-pair',
                'flags' => 3,
                'scope' => [],
            },
            'promote-late' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'reference-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-offline' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-online' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-os-type-list' => {
        'category' => 'lun',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'ostypes' => {
                'type' => 'system-api-enum-value-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'lun-port-has-scsi-reservations' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'portname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-reservation-held' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-resize' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'actual-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-set-attribute' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-set-comment' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-set-device-id' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'device-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'device-id-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-set-qos-policy-group' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
            'qos-policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-set-select-attribute' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'select-value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-set-serial-number' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-set-space-alloc' => {
        'category' => 'lun',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'enable' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'lun-path',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-set-space-reservation-info' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'enable' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-stats-get-iter' => {
        'category' => 'lun',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lun-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lun-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lun-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-unmap' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'initiator-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-unset-attribute' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'lun-unset-device-id' => {
        'category' => 'lun',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'device-id-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'metrocluster-check-aggregate-eligibility-get' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggregate' => {
                'type' => 'aggr-name',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'metrocluster-check-aggregate-eligibility-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'metrocluster-check-aggregate-eligibility-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-aggregate-eligibility-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-check-aggregate-eligibility-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-check-aggregate-eligibility-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-check-aggregate-eligibility-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-aggregate-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-check-aggregate-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-check-aggregate-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-check-aggregate-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-capture-status-get' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-check-capture-status-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'metrocluster-check-capture-status-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-cluster-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-check-cluster-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-check-cluster-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-check-cluster-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-config-replication-get' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-check-config-replication-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'metrocluster-check-config-replication-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-check-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-check-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-check-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-lif-repair-placement' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'lif' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'metrocluster-check-node-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-check-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-check-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-check-node-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-run' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'skip-dr-simulation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'start-on-node-and-skip-node-version-checks' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-config-diff-get' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'config-cluster-diff-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination-cluster-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'instance' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'keys' => {
                'type' => 'key-value-pair',
                'flags' => 2,
                'scope' => [],
            },
            'object' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'source-cluster-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'config-cluster-diff-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'metrocluster-config-diff-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'config-cluster-diff-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'config-cluster-diff-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'config-cluster-diff-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-config-replication-cluster-storage-configuration-get' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-cr-storage-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'metrocluster-cr-storage-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'metrocluster-config-replication-cluster-storage-configuration-modify' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'disallowed-aggregates' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'metrocluster-config-replication-resync-status-get' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-config-replication-resync-status-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'metrocluster-config-replication-resync-status-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'metrocluster-configure' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'refresh' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'start-on-node-and-skip-node-version-checks' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-create-periodic-job' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'metrocluster-delete-periodic-job' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'metrocluster-disable-periodic-check' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'metrocluster-enable-periodic-check' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'metrocluster-get' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'metrocluster-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'metrocluster-heal' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'healing-phase' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'start-on-node-and-skip-node-version-checks' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-adapter-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-interconnect-adapter',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-interconnect-adapter',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-interconnect-adapter',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-ipfo-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-interconnect-ipfo',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-interconnect-ipfo',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-interconnect-ipfo',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-mirror-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-interconnect-mirror',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-interconnect-mirror',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-interconnect-mirror',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-mirror-multipath-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-interconnect-mirror-multipath',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-interconnect-mirror-multipath',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-interconnect-mirror-multipath',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-is-configured' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'is-mcc-config' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-node-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-node-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-operation-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-operation-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-operation-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-operation-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-operation-statistics-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-operation-statistics-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-operation-statistics-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-operation-statistics-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-progress-table-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-progress-table-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-progress-table-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-progress-table-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-show-lif-placement-failures-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-show-lif-placement-failures',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-show-lif-placement-failures',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-show-lif-placement-failures',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-switchback' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'override-cluster-stream-resync-errors' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'override-vetoes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'override-vserver-stream-resync-errors' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'simulate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'start-on-node-and-skip-node-version-checks' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-switchover' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'automatic' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-nvfail-all' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'forced-on-disaster' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'override-vetoes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'retry-failed-nodes' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'simulate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'start-on-node-and-skip-node-version-checks' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-unconfigure' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'dr-group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'start-on-node-and-skip-node-version-checks' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-vserver-get-iter' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-vserver-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-vserver-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-vserver-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-vserver-resync' => {
        'category' => 'metrocluster',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-name' => {
                'type' => 'cluster-name',
                'flags' => 0,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'metrocluster-configuration-settings-get-iter' => {
        'category' => 'metrocluster-configuration-settings',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-configuration-settings-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-configuration-settings-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-configuration-settings-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-connection-connect-async' => {
        'category' => 'metrocluster-connection',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-connection-disconnect-async' => {
        'category' => 'metrocluster-connection',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'dr-group-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-connection-get-iter' => {
        'category' => 'metrocluster-connection',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-connection-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-connection-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-connection-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-dr-group-create' => {
        'category' => 'metrocluster-dr-group',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'local-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'partner-cluster' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'remote-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'metrocluster-dr-group-delete' => {
        'category' => 'metrocluster-dr-group',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'dr-group-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'metrocluster-dr-group-get-iter' => {
        'category' => 'metrocluster-dr-group',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-dr-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-dr-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-dr-group-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'metrocluster-interface-create' => {
        'category' => 'metrocluster-interface',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'home-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'home-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'metrocluster-interface-delete' => {
        'category' => 'metrocluster-interface',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cluster-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'home-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'home-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'metrocluster-interface-get-iter' => {
        'category' => 'metrocluster-interface',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'metrocluster-interface-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'metrocluster-interface-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'metrocluster-interface-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'name-mapping-create' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'address' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 0,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pattern' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'replacement' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'name-mapping-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'name-mapping-delete' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-get-iter' => {
        'category' => 'name-mapping',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'name-mapping-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'name-mapping-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'name-mapping-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'name-mapping-insert' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'address' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 0,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pattern' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'replacement' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-modify' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'address' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 0,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pattern' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'replacement' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-refresh-hostname' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 4,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-swap' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'direction' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'with-position' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-unix-group-add-user' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-unix-group-create' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-name-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'unix-group-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'name-mapping-unix-group-delete-user' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-unix-group-destroy' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-unix-group-get' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'unix-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'unix-group-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-mapping-unix-group-get-iter' => {
        'category' => 'name-mapping',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'unix-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'unix-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'unix-group-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'name-mapping-unix-group-modify' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-unix-user-create' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'full-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-name-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'unix-user-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'name-mapping-unix-user-destroy' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-mapping-unix-user-get' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'unix-user-info',
                'flags' => 5,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'unix-user-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-mapping-unix-user-get-iter' => {
        'category' => 'name-mapping',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'unix-user-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'unix-user-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'unix-user-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'name-mapping-unix-user-modify' => {
        'category' => 'name-mapping',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'full-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'user-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-service-cache-group-membership-settings-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'name-service-cache-group-membership-settings-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'name-service-cache-group-membership-settings-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-service-cache-group-membership-settings-modify' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'grplist-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-service-cache-hosts-settings-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'name-service-cache-hosts-settings-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'name-service-cache-hosts-settings-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-service-cache-hosts-settings-modify' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-negative-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'negative-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-service-cache-netgroup-settings-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'name-service-cache-netgroup-settings-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'name-service-cache-netgroup-settings-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-service-cache-netgroup-settings-modify' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-negative-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'negative-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl-members' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-service-cache-unix-group-settings-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'name-service-cache-unix-group-settings-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'name-service-cache-unix-group-settings-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-service-cache-unix-group-settings-modify' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-negative-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-propagation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'negative-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-service-cache-unix-user-settings-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'name-service-cache-unix-user-settings-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'name-service-cache-unix-user-settings-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-service-cache-unix-user-settings-modify' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-negative-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-propagation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'negative-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'name-service-dns-statistics-get-iter' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nameservice-dns-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'nameservice-dns-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'nameservice-dns-statistics',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'name-service-nis-binding-detail-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'bound-server' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'nis-binding-detail',
                'flags' => 5,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'nis-binding-detail',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-service-nis-binding-detail-get-iter' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nis-binding-detail',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'nis-binding-detail',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'nis-binding-detail',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'name-service-nis-show-bound' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nis-domain-show-bound',
                'flags' => 5,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'nis-domain-show-bound',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-service-nis-show-bound-iter' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nis-domain-show-bound',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'nis-domain-show-bound',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'nis-domain-show-bound',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'name-service-nis-statistics-get-iter' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nameservice-nis-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'nameservice-nis-statistics',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'nameservice-nis-statistics',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'name-service-unix-group-fileonly-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'name-service-unix-group-fileonly-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'name-service-unix-group-fileonly-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'name-service-unix-user-fileonly-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'name-service-unix-user-fileonly-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'name-service-unix-user-fileonly-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'nameservice-dns-statistics-clear' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'name-server' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'nameservice-get-hostname-from-ipv4' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'show-source' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'canonical-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'source' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nameservice-get-ip-from-hostname' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-family' => {
                'type' => 'address-family',
                'flags' => 4,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'show-source' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'ipaddress' => {
                'type' => 'ip-address',
                'flags' => 2,
                'scope' => [],
            },
            'source' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nameservice-get-ipv4-from-hostname' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'hostname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'show-source' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'ipaddress' => {
                'type' => 'ip-address',
                'flags' => 2,
                'scope' => [],
            },
            'source' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nameservice-nis-statistics-clear' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'server' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'nameservice-nsswitch-create' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'nameservice-database' => {
                'type' => 'nss-db-type',
                'flags' => 0,
                'scope' => [],
            },
            'nameservice-sources' => {
                'type' => 'nss-source-type',
                'flags' => 2,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'namservice-nsswitch-config-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'nameservice-nsswitch-destroy' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'nameservice-database' => {
                'type' => 'nss-db-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'nameservice-nsswitch-get' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'namservice-nsswitch-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'nameservice-database' => {
                'type' => 'nss-db-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'namservice-nsswitch-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'nameservice-nsswitch-get-iter' => {
        'category' => 'nameservice',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'namservice-nsswitch-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'namservice-nsswitch-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'namservice-nsswitch-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nameservice-nsswitch-modify' => {
        'category' => 'nameservice',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'nameservice-database' => {
                'type' => 'nss-db-type',
                'flags' => 0,
                'scope' => [],
            },
            'nameservice-sources' => {
                'type' => 'nss-source-type',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ndmp-node-session-info-get-iter' => {
        'category' => 'ndmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ndmp-node-session-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ndmp-node-session-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ndmp-node-session-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ndmp-node-session-kill' => {
        'category' => 'ndmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ndmp-node-session-kill-all' => {
        'category' => 'ndmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ndmp-password-generate' => {
        'category' => 'ndmp',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ndmp-password-info',
                'flags' => 5,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ndmp-password-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ndmp-vserver-attributes-get-iter' => {
        'category' => 'ndmp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ndmp-vserver-attributes-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ndmp-vserver-attributes-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ndmp-vserver-attributes-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ndmp-vserver-attributes-modify' => {
        'category' => 'ndmp',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'abort-on-disk-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'authtype' => {
                'type' => 'ndmpd-authtypes',
                'flags' => 6,
                'scope' => [],
            },
            'backup-log-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'data-port-range' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'debug-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'debug-filter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dump-detailed-stats' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'dump-logical-find' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'fh-dir-retry-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'fh-node-retry-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-ctime-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-secure-control-connection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'offset-map-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'per-qtree-exclude-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'preferred-interface-role' => {
                'type' => 'netport-role',
                'flags' => 6,
                'scope' => [],
            },
            'restore-vm-cache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-debug-filter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tcpnodelay' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tcpwinsize' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ndmp-vserver-service-disable' => {
        'category' => 'ndmp',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'ndmp-vserver-service-enable' => {
        'category' => 'ndmp',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'ndmp-vserver-session-info-get-iter' => {
        'category' => 'ndmp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ndmp-vserver-session-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ndmp-vserver-session-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ndmp-vserver-session-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ndmp-vserver-session-kill' => {
        'category' => 'ndmp',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'session-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ndmp-vserver-session-kill-all' => {
        'category' => 'ndmp',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'data-lif-capacity' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'data-lif-capacity-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'data-lif-capacity-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'data-lif-capacity-details' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'data-lif-capacity-details-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'data-lif-capacity-details-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'data-lif-capacity-details-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-active-routes-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'address-type' => {
                'type' => 'ipaddresstype',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'net-active-routes-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'interface' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'route-interface-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-group' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-active-routes-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-active-routes-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-active-routes-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-active-routes-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-active-routes-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-arp-active-entry-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'remotehost' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-group-name' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-arp-active-entry-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-arp-operational-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'remote-host' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-group' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-arp-operational-info',
                'flags' => 1,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'mac-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-arp-active-entry-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-arp-operational-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-arp-operational-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-arp-operational-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-arp-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'mac' => {
                'type' => 'mac-address',
                'flags' => 0,
                'scope' => [],
            },
            'remotehost' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-arp-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'remotehost' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-arp-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-arp-info',
                'flags' => 5,
                'scope' => [],
            },
            'remotehost' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-arp-info',
                'flags' => 1,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mac' => {
                'type' => 'mac-address',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-arp-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-arp-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-arp-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-arp-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-check-failover' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'lif-capacity-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'lif-capacity-info',
                'flags' => 5,
                'scope' => [],
            },
            'source-nodes' => {
                'type' => 'filer-id',
                'flags' => 2,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'lif-capacity-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-cluster-ping' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'destination-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'interface' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'retry-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-source-port' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'wait' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'wait-response' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-cluster-ping6' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'destination-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'disable-fragmentation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disable-fragmentation-all' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disable-fragmentation-unicast' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'packet-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'retry-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-source-port' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-connections-receive-window-size-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'receive-buffer',
                'flags' => 5,
                'scope' => [],
            },
            'network' => {
                'type' => 'network-type',
                'flags' => 0,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'protocol-layer4',
                'flags' => 0,
                'scope' => [],
            },
            'service' => {
                'type' => 'stream-protocol-service',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'receive-buffer',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-connections-receive-window-size-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'receive-buffer',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'receive-buffer',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'receive-buffer',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-connections-receive-window-size-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'network' => {
                'type' => 'network-type',
                'flags' => 0,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'protocol-layer4',
                'flags' => 0,
                'scope' => [],
            },
            'receive-auto-tune' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'receive-buffer' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'service' => {
                'type' => 'stream-protocol-service',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-ddns-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ddns-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-ddns-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-ddns-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ddns-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-ddns-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-ddns-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-ddns-modify' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'domain-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-fqdn-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'use-secure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-device-discovery-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-device-discovery-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-device-discovery-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-device-discovery-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-dns-check-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'dns-status',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'dns-status',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'dns-status',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-dns-create' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'attempts' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dns-state' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'domains' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
            'is-tld-query-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name-servers' => {
                'type' => 'ip-address',
                'flags' => 2,
                'scope' => [],
            },
            'require-packet-query-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'require-source-address-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'net-dns-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-dns-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-dns-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-dns-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-dns-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-dns-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-dns-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-dns-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-dns-modify' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'attempts' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dns-state' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'domains' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'is-tld-query-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'require-packet-query-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'require-source-address-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-external-route-table-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'route-table-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'external-route-table-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-external-route-table-delete' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'route-table-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-failover-group-add-targets' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'failover-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'targets' => {
                'type' => 'net-qualified-port-name',
                'flags' => 2,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-failover-group-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'failover-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'targets' => {
                'type' => 'net-qualified-port-name',
                'flags' => 2,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'net-failover-group-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-failover-group-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'failover-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-failover-group-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-failover-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'failover-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-failover-group-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-failover-group-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-failover-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-failover-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-failover-group-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-failover-group-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'failover-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'targets' => {
                'type' => 'net-qualified-port-name',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-failover-group-remove-targets' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'failover-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'targets' => {
                'type' => 'net-qualified-port-name',
                'flags' => 2,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-failover-group-rename' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'failover-group' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'new-failover-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-firewall-config-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-firewall-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-firewall-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-firewall-config-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-firewall-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-firewall-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-firewall-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-firewall-config-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-logging' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-firewall-config-modify-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'net-firewall-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-firewall-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'net-firewall-config-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'net-firewall-config-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'net-firewall-policy-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'allow-list' => {
                'type' => 'ip-and-mask',
                'flags' => 2,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'service' => {
                'type' => 'fw-service',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'net-firewall-policy-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-firewall-policy-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'policy' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'service' => {
                'type' => 'fw-service',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-firewall-policy-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-firewall-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'service' => {
                'type' => 'fw-service',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-firewall-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-firewall-policy-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-firewall-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-firewall-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-firewall-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-firewall-policy-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'allow-list' => {
                'type' => 'ip-and-mask',
                'flags' => 6,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'service' => {
                'type' => 'fw-service',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-hosts-create' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'aliases' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'host-ip-address' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'hosts-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-hosts-destroy' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'host-ip-address' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-hosts-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'hosts-info',
                'flags' => 5,
                'scope' => [],
            },
            'host-ip-address' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'hosts-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-hosts-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'hosts-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'hosts-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'hosts-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-hosts-modify' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'aliases' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'host-ip-address' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-interface-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-protocols' => {
                'type' => 'data-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'dns-domain-name' => {
                'type' => 'dns-zone',
                'flags' => 4,
                'scope' => [],
            },
            'failover-group' => {
                'type' => 'failover-group',
                'flags' => 4,
                'scope' => [],
            },
            'failover-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firewall-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force-subnet-association' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'home-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'home-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-auto-revert' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dns-update-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ipv4-link-local' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'listen-for-dns-query' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'netmask-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'role' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'routing-group-name' => {
                'type' => 'routing-group-type',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 4,
                'scope' => [],
            },
            'use-failover-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'net-interface-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-interface-delete' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-interface-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-interface-info',
                'flags' => 5,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-interface-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-interface-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-interface-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-interface-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-interface-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-interface-migrate' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'destination-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lif' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'source-node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-interface-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dns-domain-name' => {
                'type' => 'dns-zone',
                'flags' => 4,
                'scope' => [],
            },
            'failover-group' => {
                'type' => 'failover-group',
                'flags' => 4,
                'scope' => [],
            },
            'failover-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firewall-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force-subnet-association' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'home-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-auto-revert' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dns-update-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ipv4-link-local' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'listen-for-dns-query' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'netmask-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'routing-group-name' => {
                'type' => 'routing-group-type',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 4,
                'scope' => [],
            },
            'use-failover-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-interface-modify-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'net-interface-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-interface-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'net-interface-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'net-interface-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'net-interface-revert' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-ipspaces-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'net-ipspaces-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-ipspaces-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-ipspaces-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'broadcast-domains' => {
                'type' => 'broadcast-domain-name',
                'flags' => 6,
                'scope' => [],
            },
            'ports' => {
                'type' => 'net-qualified-port-name',
                'flags' => 6,
                'scope' => [],
            },
            'vservers' => {
                'type' => 'vserver-name',
                'flags' => 2,
                'scope' => [],
            },
        },
    },
    'net-ipspaces-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ipspaces-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-ipspaces-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-ipspaces-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-ipspaces-rename' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-ndp-active-neighbor-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'neighbor' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-group' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-ndp-active-neighbor-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ndp-neighbor-cache-info',
                'flags' => 5,
                'scope' => [],
            },
            'neighbor' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-group' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-ndp-neighbor-cache-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-ndp-active-neighbor-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ndp-neighbor-cache-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-ndp-neighbor-cache-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-ndp-neighbor-cache-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-ndp-default-router-delete-all' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-ndp-default-router-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ndp-default-router-info',
                'flags' => 5,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'router-addr' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-ndp-default-router-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-ndp-default-router-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ndp-default-router-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-ndp-default-router-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-ndp-default-router-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-ndp-neighbor-create' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'mac-address' => {
                'type' => 'mac-address',
                'flags' => 0,
                'scope' => [],
            },
            'neighbor-address' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'ndp-neighbor-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-ndp-neighbor-destroy' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'neighbor-address' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-ndp-neighbor-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ndp-neighbor-info',
                'flags' => 5,
                'scope' => [],
            },
            'neighbor-address' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ndp-neighbor-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-ndp-neighbor-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ndp-neighbor-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ndp-neighbor-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ndp-neighbor-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-ndp-prefix-delete-all' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-ndp-prefix-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ndp-prefix-info',
                'flags' => 5,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-ndp-prefix-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-ndp-prefix-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ndp-prefix-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-ndp-prefix-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-ndp-prefix-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-options-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'net-options' => {
                'type' => 'net-options',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-options-hypervisor-uplink-monitoring-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-options-hypervisor-uplink-monitoring-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-options-hypervisor-uplink-monitoring-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-options-hypervisor-uplink-monitoring-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-options-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'net-options' => {
                'type' => 'net-options',
                'flags' => 1,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-placement-cache-delete' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'netmask-length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-placement-cache-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-placement-cache',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-placement-cache',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-placement-cache',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-placement-discover' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'mac' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'netmask-length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-broadcast-domain-add-ports' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ports' => {
                'type' => 'net-qualified-port-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
            'port-update-status-combined' => {
                'type' => 'broadcast-domain-port-status',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-port-broadcast-domain-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mtu' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'ports' => {
                'type' => 'net-qualified-port-name',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
            'port-update-status-combined' => {
                'type' => 'broadcast-domain-port-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-port-broadcast-domain-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'port-update-status-combined' => {
                'type' => 'broadcast-domain-port-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-port-broadcast-domain-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'net-port-broadcast-domain-info',
                'flags' => 5,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-port-broadcast-domain-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-port-broadcast-domain-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-port-broadcast-domain-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-port-broadcast-domain-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-port-broadcast-domain-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-port-broadcast-domain-merge' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'into-broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-broadcast-domain-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mtu' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'port-update-status-combined' => {
                'type' => 'broadcast-domain-port-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-port-broadcast-domain-remove-ports' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ports' => {
                'type' => 'net-qualified-port-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
            'port-update-status-combined' => {
                'type' => 'broadcast-domain-port-status',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-port-broadcast-domain-rename' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-broadcast-domain-split' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'new-broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'ports' => {
                'type' => 'net-qualified-port-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-delete' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-port-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-port-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-port-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-port-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-port-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-port-health-monitor-disable' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'health-monitors' => {
                'type' => 'netport-degraded-reason',
                'flags' => 2,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-health-monitor-enable' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'health-monitors' => {
                'type' => 'netport-degraded-reason',
                'flags' => 2,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-health-monitor-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-port-health-monitor-info',
                'flags' => 5,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-port-health-monitor-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-port-health-monitor-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-port-health-monitor-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-port-health-monitor-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-port-health-monitor-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-port-ifgrp-add-port' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ifgrp-name' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-ifgrp-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'distribution-function' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ifgrp-name' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'net-ifgrp-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-port-ifgrp-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ifgrp-name' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-ifgrp-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-ifgrp-info',
                'flags' => 5,
                'scope' => [],
            },
            'ifgrp-name' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-ifgrp-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-port-ifgrp-remove-port' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ifgrp-name' => {
                'type' => 'lif-bindable',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'administrative-duplex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-flowcontrol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-speed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'autorevert-delay' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ifgrp-distribution-function' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ifgrp-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ifgrp-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ifgrp-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-health-status' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-administrative-auto-negotiate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-administrative-up' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mtu' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mtu-admin' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-port-modify-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'net-port-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-port-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'net-port-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'net-port-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'net-qos-marking-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-marking',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-marking',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qos-marking',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-qos-marking-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'dscp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-routes-create' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'destination' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'metric' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'net-vs-routes-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-routes-destroy' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'destination' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-routes-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-vs-routes-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-vs-routes-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-routes-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-vs-routes-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-vs-routes-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-vs-routes-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-routes-lifs-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-vs-routes-lif-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-vs-routes-lif-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-routes-lifs-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-vs-routes-lif-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-vs-routes-lif-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-vs-routes-lif-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-routing-group-route-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'gateway-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'metric' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'routing-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'routing-group-route-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-routing-group-route-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'routing-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-routing-group-route-get' => {
        'category' => 'net',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'routing-group-route-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'routing-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'routing-group-route-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-routing-group-route-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'routing-group-route-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'routing-group-route-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'routing-group-route-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-san-lif-placement-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'adapter-type' => {
                'type' => 'adapter-type',
                'flags' => 0,
                'scope' => [],
            },
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lifs-per-node' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'nodelist' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'data-protocol',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'lif-placement' => {
                'type' => 'lif-placement-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'net-subnet-add-ranges' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force-update-lif-associations' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ip-ranges' => {
                'type' => 'ip-range',
                'flags' => 2,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-subnet-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 0,
                'scope' => [],
            },
            'force-update-lif-associations' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'ip-ranges' => {
                'type' => 'ip-range',
                'flags' => 6,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'subnet' => {
                'type' => 'ip-and-mask',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'net-subnet-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-subnet-destroy' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force-update-lif-associations' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-subnet-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-subnet-info',
                'flags' => 5,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-subnet-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-subnet-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-subnet-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'net-subnet-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'net-subnet-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'net-subnet-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force-update-lif-associations' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'ip-ranges' => {
                'type' => 'ip-range',
                'flags' => 6,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subnet' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-subnet-remove-ranges' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force-update-lif-associations' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ip-ranges' => {
                'type' => 'ip-range',
                'flags' => 2,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-subnet-rename' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-test-path' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'cluster-name',
                'flags' => 0,
                'scope' => [],
            },
            'destination-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'session-type' => {
                'type' => 'csm-session-type',
                'flags' => 0,
                'scope' => [],
            },
            'source-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'average-latency' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-latency' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-latency' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'receive-throughput' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'send-throughput' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'test-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-traceroute6' => {
        'category' => 'net',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'debug-mode' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'first-hop' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'remote-inet-address',
                'flags' => 4,
                'scope' => [],
            },
            'hop-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nqueries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'numeric' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'packet-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-icmp6' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-udp' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'verbose' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'wait-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'raw-output' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-tuning-icmp-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-tuning-icmp-options',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-tuning-icmp-options',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-tuning-icmp-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-drop-redirect-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'redirect-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tx-icmp-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-tuning-icmp6-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-tuning-icmp6-options',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-tuning-icmp6-options',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-tuning-icmp6-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-v6-redirect-accepted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'redirect-v6-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-tuning-tcp-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'net-tuning-tcp-options',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'net-tuning-tcp-options',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-tuning-tcp-modify' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-path-mtu-discovery-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rfc3390-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rfc3465-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sack-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-cwnd-increment' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-vlan-create' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vlan-info' => {
                'type' => 'vlan-info',
                'flags' => 1,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-vlan-delete' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vlan-info' => {
                'type' => 'vlan-info',
                'flags' => 1,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'net-vlan-get' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vlan-info',
                'flags' => 5,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vlan-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-vlan-get-iter' => {
        'category' => 'net',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vlan-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vlan-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vlan-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'netgroups-file-delete' => {
        'category' => 'netgroup',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'netgroups-file-get' => {
        'category' => 'netgroup',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'netgroups-file-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'host' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-netgroup' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'netgroups-file-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'netgroups-file-get-iter' => {
        'category' => 'netgroup',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'netgroups-file-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'netgroups-file-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'netgroups-file-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nfs-disable' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'nfs-enable' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'nfs-exportfs-append-rules' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'create-multi-clientmatch' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'persistent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'rules' => {
                'type' => 'exports-rule-info',
                'flags' => 3,
                'scope' => [],
            },
            'verbose' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'exported-pathnames' => {
                'type' => 'pathname-info',
                'flags' => 7,
                'scope' => [],
            },
            'loaded-pathnames' => {
                'type' => 'pathname-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'nfs-exportfs-append-rules-2' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'create-multi-clientmatch' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'persistent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'rules' => {
                'type' => 'exports-rule-info-2',
                'flags' => 3,
                'scope' => [],
            },
            'verbose' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'exported-pathnames' => {
                'type' => 'pathname-info',
                'flags' => 7,
                'scope' => [],
            },
            'loaded-pathnames' => {
                'type' => 'pathname-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'nfs-exportfs-check-permission' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'host' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'pathname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'permission' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-permissible' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nfs-exportfs-delete-rules' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'all-pathnames' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'pathnames' => {
                'type' => 'pathname-info',
                'flags' => 7,
                'scope' => [],
            },
            'persistent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'verbose' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'deleted-pathnames' => {
                'type' => 'pathname-info',
                'flags' => 7,
                'scope' => [],
            },
            'unexported-pathnames' => {
                'type' => 'pathname-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'nfs-exportfs-list-rules' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'pathname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'persistent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'rules' => {
                'type' => 'exports-rule-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'nfs-exportfs-list-rules-2' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'pathname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'persistent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'rules' => {
                'type' => 'exports-rule-info-2',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'nfs-exportfs-modify-rule' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'create-multi-clientmatch' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'persistent' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'rule' => {
                'type' => 'exports-rule-info',
                'flags' => 1,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'nfs-exportfs-modify-rule-2' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'create-multi-clientmatch' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'persistent' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'rule' => {
                'type' => 'exports-rule-info-2',
                'flags' => 1,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'nfs-get-supported-sec-flavors' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'sec-flavor' => {
                'type' => 'sec-flavor-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'nfs-service-create' => {
        'category' => 'nfs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'auth-sys-extended-groups' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cached-cred-negative-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cached-cred-positive-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cached-transient-err-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'chown-mode' => {
                'type' => 'nfschownmode',
                'flags' => 4,
                'scope' => [],
            },
            'default-windows-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-windows-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable-ejukebox' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'extended-groups-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-session-io-grouping-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-session-io-grouping-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-nt-acl-for-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-checksum-enabled-for-replay-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-mount-rootonly-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-netgroup-dns-domain-search' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfs-access-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfs-rootonly-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv2-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-64bit-identifiers-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-connection-drop-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-fsid-change-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv4-fsid-change-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv4-numeric-ids-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-acl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-migration-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-read-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-referrals-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-req-open-confirm-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-write-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-acl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-acl-preserve-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-migration-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-pnfs-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-pnfs-striped-volumes-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-read-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-referrals-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-state-protection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-write-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rquota-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-tcp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-udp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-v3-ms-dos-client-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-validate-qtree-export-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-vstorage-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'map-unknown-uid-to-default-windows-user' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mountd-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name-service-lookup-protocol' => {
                'type' => 'export-lookup-protos',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-trust-any-ns-switch-no-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-acl-max-aces' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-grace-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-id-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-lease-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-time' => {
                'type' => 'date',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4x-session-num-slots' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4x-session-slot-reply-cache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nlm-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nsm-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ntacl-display-permissive-perms' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-unix-security-ops' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'permitted-enc-types' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'rpcsec-ctx-high' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rpcsec-ctx-idle' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rquotad-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'showmount' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-root-owner-write-perm-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'v3-search-unconverted-filename' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'v4-inherited-acl-preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'nfs-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'nfs-service-destroy' => {
        'category' => 'nfs',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'nfs-service-get' => {
        'category' => 'nfs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nfs-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'nfs-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'nfs-service-get-create-defaults' => {
        'category' => 'nfs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'attributes' => {
                'type' => 'nfs-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'defaults' => {
                'type' => 'nfs-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'nfs-service-get-iter' => {
        'category' => 'nfs',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nfs-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'nfs-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'nfs-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nfs-service-modify' => {
        'category' => 'nfs',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'auth-sys-extended-groups' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cached-cred-negative-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cached-cred-positive-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cached-transient-err-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'chown-mode' => {
                'type' => 'nfschownmode',
                'flags' => 4,
                'scope' => [],
            },
            'default-windows-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-windows-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable-ejukebox' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'extended-groups-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-session-io-grouping-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-session-io-grouping-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-nt-acl-for-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-checksum-enabled-for-replay-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-mount-rootonly-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-netgroup-dns-domain-search' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfs-access-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfs-rootonly-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv2-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-64bit-identifiers-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-connection-drop-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-fsid-change-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv4-fsid-change-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv4-numeric-ids-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-acl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-migration-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-read-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-referrals-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-req-open-confirm-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-write-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-acl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-acl-preserve-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-migration-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-pnfs-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-pnfs-striped-volumes-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-read-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-referrals-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-state-protection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-write-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rquota-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-tcp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-udp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-v3-ms-dos-client-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-validate-qtree-export-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-vstorage-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'map-unknown-uid-to-default-windows-user' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mountd-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name-service-lookup-protocol' => {
                'type' => 'export-lookup-protos',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-trust-any-ns-switch-no-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-acl-max-aces' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-grace-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-id-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-lease-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-time' => {
                'type' => 'date',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4x-session-num-slots' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4x-session-slot-reply-cache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nlm-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nsm-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ntacl-display-permissive-perms' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-unix-security-ops' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'permitted-enc-types' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'rpcsec-ctx-high' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rpcsec-ctx-idle' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rquotad-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'showmount' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-root-owner-write-perm-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'v3-search-unconverted-filename' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'v4-inherited-acl-preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'nfs-status' => {
        'category' => 'nfs',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'is-drained' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nis-create' => {
        'category' => 'nis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'nis-fqdn' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'nis-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'nis-domain-config-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'nis-destroy' => {
        'category' => 'nis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'nis-domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'nis-get' => {
        'category' => 'nis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nis-domain-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'nis-domain-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'nis-get-iter' => {
        'category' => 'nis',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'nis-domain-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'nis-domain-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'nis-domain-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'nis-modify' => {
        'category' => 'nis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'nis-fqdn' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'nis-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ntp-server-create' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-preferred' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'server-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'ntp-server-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'ntp-server-delete' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'server-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ntp-server-get' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ntp-server-info',
                'flags' => 5,
                'scope' => [],
            },
            'server-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ntp-server-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ntp-server-get-iter' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ntp-server-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ntp-server-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ntp-server-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ntp-server-modify' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-preferred' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'server-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ntp-server-reset' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'use-public' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ntp-server-security-get' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ntp-server-security-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ntp-server-security-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ntp-server-security-set' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-query-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ntp-server-status-get' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ntp-server-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'ntp-server-status-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ntp-server-status-get-iter' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'ntp-server-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'ntp-server-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'ntp-server-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ntp-server-validate' => {
        'category' => 'ntp-server',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'server-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'options-get' => {
        'category' => 'options',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'cluster-constraint' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'options-get-iter' => {
        'category' => 'options',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'option-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'option-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'option-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'options-list-info' => {
        'category' => 'options',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'options' => {
                'type' => 'option-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'options-modify-iter' => {
        'category' => 'options',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'attributes' => {
                'type' => 'option-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'option-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'options-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'options-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'options-set' => {
        'category' => 'options',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'cluster-constraint' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'perf-archive-config-get' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'archive-config-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'archive-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'perf-archive-config-modify' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'asup-file-rotation' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'asup-max-retention' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'datastore-file-rotation' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'datastore-max-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'datastore-max-retention' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'opm-file-rotation' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'perfstat-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'perfstat-sampling-period' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-archive-create' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'archive' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'case-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'end-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'source-nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'perf-archive-info',
                'flags' => 5,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'perf-archive-datastore-get-iter' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'age-filter' => {
                'type' => 'perf-archive-datafile-age-filter',
                'flags' => 4,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'perf-archive-datastore-info',
                'flags' => 5,
                'scope' => [],
            },
            'is-partial-shown' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'perf-archive-datastore-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'perf-archive-datastore-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'perf-archive-destroy' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'archive' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'perf-archive-get-iter' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'perf-archive-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'perf-archive-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'perf-archive-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'perf-archive-modify' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'archive' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'case-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-awa-start' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggregate' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'debug-level' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flash-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interval-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'num-intervals' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'pcache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sampling-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sync' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'working-set-size' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-awa-stop' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggregate' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'flash-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-object-counter-list-info' => {
        'category' => 'perf',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'filter-data' => {
                'type' => 'filter-data',
                'flags' => 4,
                'scope' => [],
            },
            'objectname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'counters' => {
                'type' => 'counter-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'perf-object-get-instances' => {
        'category' => 'perf',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'counters' => {
                'type' => 'counter',
                'flags' => 6,
                'scope' => [],
            },
            'filter-data' => {
                'type' => 'filter-data',
                'flags' => 4,
                'scope' => [],
            },
            'instance-uuids' => {
                'type' => 'instance-uuid',
                'flags' => 6,
                'scope' => [],
            },
            'instances' => {
                'type' => 'instance',
                'flags' => 6,
                'scope' => [],
            },
            'max' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'objectname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'privilege-level' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sample-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sort-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sort-order' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'instances' => {
                'type' => 'instance-data',
                'flags' => 3,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'perf-object-instance-list-info-iter' => {
        'category' => 'perf',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'instance-info',
                'flags' => 5,
                'scope' => [],
            },
            'filter-data' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'objectname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'query' => {
                'type' => 'instance-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'instance-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'perf-object-list-info' => {
        'category' => 'perf',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'filter-data' => {
                'type' => 'filter-data',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'objects' => {
                'type' => 'object-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'perf-object-start' => {
        'category' => 'perf',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'counter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'filter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'instance' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'preset' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sample-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'sample-type' => {
                'type' => 'sample-type',
                'flags' => 4,
                'scope' => [],
            },
            'sort-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sort-order' => {
                'type' => 'sort-order',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-object-stop' => {
        'category' => 'perf',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'sample-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-preset-create' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-archive-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'preset' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'preset-detail-infos' => {
                'type' => 'preset-detail-info',
                'flags' => 7,
                'scope' => [],
            },
            'privilege' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-preset-delete' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'preset' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-preset-detail-get' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'preset' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-end-date' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'generation-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'is-archive-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-read-only' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'preset' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'preset-detail-infos' => {
                'type' => 'preset-detail-info',
                'flags' => 3,
                'scope' => [],
            },
            'privilege' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'perf-preset-get-iter' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'preset-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'preset-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'preset-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'perf-preset-import' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-archive-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'preset' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'privilege' => {
                'type' => 'privilege-level',
                'flags' => 4,
                'scope' => [],
            },
            'source-uri' => {
                'type' => 'uri',
                'flags' => 0,
                'scope' => [],
            },
            'uri-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uri-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-preset-modify' => {
        'category' => 'perf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-archive-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'preset' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'privilege' => {
                'type' => 'privilege-level',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-samples-delete' => {
        'category' => 'perf',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'sample-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'perf-samples-get-iter' => {
        'category' => 'perf',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'sample-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'sample-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'sample-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'platform-cap-get-iter' => {
        'category' => 'platform-cap',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'platform-cap-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'platform-cap-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'platform-cap-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'portset-add' => {
        'category' => 'portset',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'portset-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'portset-port-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'portset-create' => {
        'category' => 'portset',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'portset-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'portset-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'portset-destroy' => {
        'category' => 'portset',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'portset-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'portset-get-iter' => {
        'category' => 'portset',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'portset-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'portset-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'portset-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'portset-remove' => {
        'category' => 'portset',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'portset-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'portset-port-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cache-policy-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'cache-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'cache-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'cache-policy-get-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'cache-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cache-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'cache-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cache-policy-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'cache-policy-modify-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'cache-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'cache-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'cache-policy-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'cache-policy-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-create' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'absolute-min-iops' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'expected-iops' => {
                'type' => 'qos-tput-capacity',
                'flags' => 0,
                'scope' => [],
            },
            'peak-iops' => {
                'type' => 'qos-tput-capacity',
                'flags' => 0,
                'scope' => [],
            },
            'peak-iops-allocation' => {
                'type' => 'qos-peak-iops-allocation',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-delete' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-adaptive-policy-group-delete-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-adaptive-policy-group-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-adaptive-policy-group-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-get-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'absolute-min-iops' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'expected-iops' => {
                'type' => 'qos-tput-capacity',
                'flags' => 4,
                'scope' => [],
            },
            'peak-iops' => {
                'type' => 'qos-tput-capacity',
                'flags' => 4,
                'scope' => [],
            },
            'peak-iops-allocation' => {
                'type' => 'qos-peak-iops-allocation',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-adaptive-policy-group-modify-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-adaptive-policy-group-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-adaptive-policy-group-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-rename' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-policy-create' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'policy-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-policy-destroy' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'policy-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-policy-destroy-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-policy-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-policy-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-policy-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-policy-get-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qos-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-create' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'max-throughput' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'min-throughput' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'qos-policy-group-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-delete' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-policy-group-delete-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-policy-group-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-policy-group-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-policy-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-get-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-policy-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-group-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qos-policy-group-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'max-throughput' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'min-throughput' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-policy-group-modify-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'qos-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-policy-group-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-policy-group-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-rename' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-policy-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
            'read-ahead-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-policy-modify-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'qos-policy-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-policy-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-policy-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-policy-read-ahead-create' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'align-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'early-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-dump' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-full' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-none' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interarrival-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'jitter' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-deadline' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-gap' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'metadata-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overshoot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'smallfile-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-async' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-feedback' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-timing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'qos-policy-read-ahead-destroy' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'read-ahead-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-policy-read-ahead-destroy-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-policy-read-ahead-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-policy-read-ahead-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-policy-read-ahead-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 5,
                'scope' => [],
            },
            'read-ahead-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-policy-read-ahead-get-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-policy-read-ahead-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'align-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'early-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-dump' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-full' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-none' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interarrival-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'jitter' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-deadline' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-gap' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'metadata-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overshoot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'smallfile-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-async' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-feedback' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-timing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-policy-read-ahead-modify-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-policy-read-ahead-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-policy-read-ahead-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-settings-archived-workload-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-settings-archived-workload-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-settings-archived-workload-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-settings-archived-workload-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'max-workloads' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-settings-control-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-settings-control-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-settings-control-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-settings-control-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'enforcement' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-deactivation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ratebucket-rebalance' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-settings-read-ahead-create' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'align-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'early-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-dump' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-full' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-none' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interarrival-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'jitter' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-deadline' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-gap' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'metadata-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-file-histogram' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overshoot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-setting-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'smallfile-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-async' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-feedback' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-histogram' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-timing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'qos-settings-read-ahead-destroy' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'read-ahead-setting-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-settings-read-ahead-destroy-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-settings-read-ahead-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-settings-read-ahead-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-settings-read-ahead-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 5,
                'scope' => [],
            },
            'read-ahead-setting-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-settings-read-ahead-get-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-settings-read-ahead-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'align-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'early-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-dump' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-full' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-none' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interarrival-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'jitter' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-deadline' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-gap' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'metadata-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-file-histogram' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overshoot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-setting-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'smallfile-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-async' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-feedback' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-histogram' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-timing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-settings-read-ahead-modify-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-settings-read-ahead-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-settings-read-ahead-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-stream-create' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'characteristics' => {
                'type' => 'qos-stream-characteristics',
                'flags' => 1,
                'scope' => [],
            },
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'stream-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-stream-destroy' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'stream-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-stream-destroy-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-stream-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-stream-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-stream-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-stream-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-stream-info',
                'flags' => 5,
                'scope' => [],
            },
            'stream-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-stream-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-stream-get-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-stream-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-stream-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qos-stream-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-test-smf-zapi-error' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'error-op-code' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-workload-create' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'workload-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-workload-delete' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'workload-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-workload-delete-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-workload-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-workload-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-workload-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-workload-destroy' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-workload-destroy-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-workload-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-workload-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-workload-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-workload-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-workload-info',
                'flags' => 5,
                'scope' => [],
            },
            'workload-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-workload-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-workload-get-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-workload-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-workload-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qos-workload-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qos-workload-modify' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'match-priority' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'workload-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qos-workload-modify-iter' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'qos-workload-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qos-workload-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'qos-workload-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'qos-workload-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'qos-workload-policy-count-get' => {
        'category' => 'qos',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qos-workload-policy-count-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'qos-workload-policy-count-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qtree-create' => {
        'category' => 'qtree',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'export-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'oplocks' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'security-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qtree-delete' => {
        'category' => 'qtree',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qtree-delete-async' => {
        'category' => 'qtree',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qtree-list-iter' => {
        'category' => 'qtree',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'qtree-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'qtree-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'qtree-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'qtree-modify' => {
        'category' => 'qtree',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'export-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'oplocks' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'security-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'qtree-rename' => {
        'category' => 'qtree',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-qtree-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-add-entry' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'disk-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'perform-user-mapping' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-target' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'soft-disk-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'soft-file-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'threshold' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-delete-entry' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-target' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-get-entry' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-target' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'disk-limit' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'file-limit' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'perform-user-mapping' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'quota-error' => {
                'type' => 'quota-error',
                'flags' => 5,
                'scope' => [],
            },
            'soft-disk-limit' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'soft-file-limit' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'threshold' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'quota-list-entries-iter' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'quota-entry',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'quota-entry',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'quota-entry',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'quota-modify-entry' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'disk-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'perform-user-mapping' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-target' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'soft-disk-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'soft-file-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'threshold' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-off' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'quota-on' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
    },
    'quota-policy-copy' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'new-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-policy-create' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-policy-delete' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-policy-delete-iter' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'quota-policy-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'quota-policy-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'quota-policy-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'quota-policy-get-iter' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'quota-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'quota-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'quota-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'quota-policy-rename' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'new-policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-policy-rule-count-get' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'quota-policy-rule-count-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'qtree-name',
                'flags' => 0,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'quota-type',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'quota-policy-rule-count-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'quota-policy-rule-count-get-iter' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'quota-policy-rule-count-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'quota-policy-rule-count-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'quota-policy-rule-count-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'quota-report-iter' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'quota',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'quota',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'quota',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'quota-resize' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
    },
    'quota-set-entry' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'disk-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'perform-user-mapping' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-target' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'soft-disk-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'soft-file-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'threshold' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'quota-status' => {
        'category' => 'quota',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'quota-errors' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'substatus' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'quota-status-iter' => {
        'category' => 'quota',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'quota-status-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'quota-status-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'quota-status-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-get-claim-name' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'claim-cn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'claim-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-get-dc-info' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'client-site' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'domain-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'flags' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'forest-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'guid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'netbios-hostname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'netbios-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'server-site' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-sid-to-uid' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'uid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-sid-to-unix-user-name' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'unix-user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-translate-gid-to-groupname' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'gid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'unix-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-translate-sid-to-win-user-name' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'win-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-translate-uid-to-username' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'unix-user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-translate-unix-group-name-to-gid' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'gid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-translate-unix-user-name-to-uid' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'uid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-translate-windows-user-name-to-sid' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'win-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'sid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'secd-auth-uid-to-sid' => {
        'category' => 'secd',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'sid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-trace-filter-create' => {
        'category' => 'sectrace',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'client-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protocols' => {
                'type' => 'sectrace-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'time-enabled' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'trace-allow' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'unix-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'security-trace-filter-attributes',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'security-trace-filter-delete' => {
        'category' => 'sectrace',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-trace-filter-get-iter' => {
        'category' => 'sectrace',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-trace-filter-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-trace-filter-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'security-trace-filter-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-trace-filter-modify' => {
        'category' => 'sectrace',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'client-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protocols' => {
                'type' => 'sectrace-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'time-enabled' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'trace-allow' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'unix-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-trace-result-delete' => {
        'category' => 'sectrace',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'seqnum' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-trace-result-show' => {
        'category' => 'sectrace',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-trace-results-logs',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-trace-results-logs',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'security-trace-results-logs',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-config-get' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'interface' => {
                'type' => 'fips-interfaces',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'security-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-config-modify' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'fips-interfaces',
                'flags' => 0,
                'scope' => [],
            },
            'is-fips-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'supported-ciphers' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'supported-protocols' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-config-ocsp-disable' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-config-ocsp-enable' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-config-ocsp-get-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-config-ocsp',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-config-ocsp',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'security-config-ocsp',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-login-create' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'authentication-method' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-ns-switch-group' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-password-hashed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-switch-ipaddress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'second-authentication-method' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snmpv3-login-info' => {
                'type' => 'snmpv3-login-info',
                'flags' => 5,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-delete' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'authentication-method' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'remote-switch-ipaddress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-delete-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-account-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-login-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-login-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-login-expire-password' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'password-hash-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-expire-password-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-password-user-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-login-expire-password-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-login-expire-password-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-login-get' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'authentication-method' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'security-login-account-info',
                'flags' => 5,
                'scope' => [],
            },
            'remote-switch-ipaddress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'security-login-account-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-login-get-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-login-account-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-account-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'security-login-account-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-login-lock' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-modify' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'authentication-method' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-ns-switch-group' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'remote-switch-ipaddress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'second-authentication-method' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-modify-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'security-login-account-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-account-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-login-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-login-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-login-modify-password' => {
        'category' => 'security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'is-password-hashed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'new-password' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'password-hash-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-role-config-get' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-login-role-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'security-login-role-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-login-role-config-get-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-login-role-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-role-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'security-login-role-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-login-role-config-modify' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'account-expiry-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'account-inactive-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'change-password-duration-in-days' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'delay-after-failed-login' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-passwords-disallowed-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lockout-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-failed-login-attempts' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-passwd-specialchar' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-password-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-username-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'passwd-expiry-warn-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'passwd-min-digits' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'passwd-min-lowercase-chars' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'passwd-min-uppercase-chars' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'password-expiration-duration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'require-initial-password-update' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'require-password-alpha-numeric' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'require-username-alpha-numeric' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-role-config-modify-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'security-login-role-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-role-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-login-role-config-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-login-role-config-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-login-role-create' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'access-level' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'command-directory-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'role-query' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'security-login-role-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'security-login-role-delete' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'command-directory-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-role-delete-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-role-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-login-role-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-login-role-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-login-role-get' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'command-directory-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'security-login-role-info',
                'flags' => 5,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'security-login-role-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-login-role-get-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-login-role-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-role-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'security-login-role-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-login-role-modify' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'access-level' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'command-directory-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'role-query' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-role-modify-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'security-login-role-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-login-role-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-login-role-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-login-role-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-login-unlock' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-login-whoami' => {
        'category' => 'security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-login-account-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'security-login-account-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-protocol-get' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'security-protocol-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'security-protocol-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-protocol-modify' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-protocol-ssh-get' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-protocol-ssh-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'security-protocol-ssh-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-protocol-ssh-modify' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'connections-per-second' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'max-instances' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'per-source-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-saml-sp-create-async' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cert-ca' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cert-common-name' => {
                'type' => 'common-name',
                'flags' => 4,
                'scope' => [],
            },
            'cert-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'idp-uri' => {
                'type' => 'uri',
                'flags' => 0,
                'scope' => [],
            },
            'sp-host' => {
                'type' => 'remote-inet-address',
                'flags' => 4,
                'scope' => [],
            },
            'verify-metadata-server' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'saml-sp-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-saml-sp-destroy' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'security-saml-sp-get' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'saml-sp-config-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'saml-sp-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-saml-sp-modify' => {
        'category' => 'security',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-ssh-add' => {
        'category' => 'security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'ciphers' => {
                'type' => 'ciphers',
                'flags' => 6,
                'scope' => [],
            },
            'key-exchange-algorithms' => {
                'type' => 'kex-algorithms',
                'flags' => 6,
                'scope' => [],
            },
            'mac-algorithms' => {
                'type' => 'mac-algorithms',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name-data-admin',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-ssh-get-iter' => {
        'category' => 'security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-ssh-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-ssh-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'security-ssh-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-ssh-remove' => {
        'category' => 'security',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'ciphers' => {
                'type' => 'ciphers',
                'flags' => 6,
                'scope' => [],
            },
            'key-exchange-algorithms' => {
                'type' => 'kex-algorithms',
                'flags' => 6,
                'scope' => [],
            },
            'mac-algorithms' => {
                'type' => 'mac-algorithms',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name-data-admin',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-ssh-reset' => {
        'category' => 'security',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ciphers' => {
                'type' => 'ciphers',
                'flags' => 6,
                'scope' => [],
            },
            'key-exchange-algorithms' => {
                'type' => 'kex-algorithms',
                'flags' => 6,
                'scope' => [],
            },
            'mac-algorithms' => {
                'type' => 'mac-algorithms',
                'flags' => 6,
                'scope' => [],
            },
            'max-authentication-retry-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-certificate-ca-issued-get' => {
        'category' => 'security-certificate',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ca-serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'certificate-ca-issued-info',
                'flags' => 5,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'certificate-ca-issued-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-certificate-ca-issued-get-iter' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'certificate-ca-issued-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'certificate-ca-issued-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'certificate-ca-issued-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-certificate-create' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'common-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'country' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'email-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expire-days' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'hash-function' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-system-internal-certificate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'locality' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organization' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organization-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-certificate-delete' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-system-internal-certificate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subtype' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-certificate-delete-iter' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'certificate-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-certificate-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-certificate-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-certificate-file-get-iter' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'certificate-file-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'certificate-file-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'certificate-file-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-certificate-generate-csr' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'common-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'country' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'email-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hash-function' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'locality' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organization' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organization-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'csr' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'private-key' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-certificate-get' => {
        'category' => 'security-certificate',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'certificate-info',
                'flags' => 5,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subtype' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'certificate-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-certificate-get-iter' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'certificate-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'certificate-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'certificate-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-certificate-install' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'certificate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'common-name',
                'flags' => 4,
                'scope' => [],
            },
            'intermediate-cert-list' => {
                'type' => 'pubcertificate',
                'flags' => 6,
                'scope' => [],
            },
            'is-system-internal-certificate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'kmip-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'private-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subtype' => {
                'type' => 'subtype',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-certificate-remove-precluster-cert' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'security-certificate-revoke' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'ca-serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-certificate-sign' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'ca-serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'csr' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'destination' => {
                'type' => 'uri',
                'flags' => 4,
                'scope' => [],
            },
            'expire-days' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'filepassword' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'format' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hash-function' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'private-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'signed-cert' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-certificate-truststore-clear' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'security-certificate-truststore-load' => {
        'category' => 'security-certificate',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'security-key-manager-add' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'key-manager-tcp-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-key-manager-add-iter' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'key-manager-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-key-manager-add-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-key-manager-add-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-key-manager-backup-get' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'key-backup' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-key-manager-certificate-update-iter' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'key-manager-certificate-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-key-manager-certificate-update-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-key-manager-certificate-update-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-key-manager-create-key' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'key-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'error-status' => {
                'type' => 'keymanager-status',
                'flags' => 4,
                'scope' => [],
            },
            'key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'restore-failure-list' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'restore-success-list' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'security-key-manager-delete' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-key-manager-delete-iter' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'key-manager-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-key-manager-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-key-manager-delete-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-key-manager-delete-keys' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-key-manager-delete-kmip-config' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'security-key-manager-get' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'key-manager-info',
                'flags' => 5,
                'scope' => [],
            },
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'key-manager-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-key-manager-get-iter' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'key-manager-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'key-manager-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'key-manager-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-key-manager-query-get' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'key-manager-query-info',
                'flags' => 5,
                'scope' => [],
            },
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'key-manager-query-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-key-manager-query-get-iter' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'key-manager-query-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'key-manager-query-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'key-manager-query-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-key-manager-query-v2-get' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'key-manager-query-info-v2',
                'flags' => 5,
                'scope' => [],
            },
            'key-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'key-manager-query-info-v2',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-key-manager-query-v2-get-iter' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'key-manager-query-info-v2',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'key-manager-query-info-v2',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'key-manager-query-info-v2',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-key-manager-restore-get' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'key-manager-restore-info',
                'flags' => 5,
                'scope' => [],
            },
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'key-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'key-manager-restore-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-key-manager-restore-get-iter' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'key-manager-restore-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'key-manager-restore-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'key-manager-restore-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-key-manager-setup' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'key-manager-boot-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-boot-addressV6' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-boot-gateway' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-boot-gatewayV6' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-boot-interface' => {
                'type' => 'lif-bindable',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-boot-netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-boot-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-boot-prefixlen' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'onboard-passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-key-manager-update-passphrase' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'new-passphrase' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'onboard-passphrase' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-key-manager-volume-encryption-supported' => {
        'category' => 'security-key-manager',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'vol-encryption-supported' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-key-manager-key-get-iter' => {
        'category' => 'security-key-manager-key',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'security-key-manager-key-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'security-key-manager-key-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'security-key-manager-key-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-application-stats-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-application-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-application-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-application-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-kill-cli-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-running-stats-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'security-session-kill-cli-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'security-session-kill-cli-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'security-session-limit-application-create' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'session-application-limits-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'security-session-limit-application-delete' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-application-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-application-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-application-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-application-limits-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-limit-application-modify' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'application' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-create' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'category' => {
                'type' => 'session-limit-type',
                'flags' => 0,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'session-default-limits-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'security-session-limit-delete' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'category' => {
                'type' => 'session-limit-type',
                'flags' => 0,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-default-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-default-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-default-limits-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-limit-location-create' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'location' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'session-location-limits-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'security-session-limit-location-delete' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'location' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-location-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-location-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-location-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-location-limits-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-limit-location-modify' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'location' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-modify' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'category' => {
                'type' => 'session-limit-type',
                'flags' => 0,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-request-create' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'request' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'session-request-limits-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'security-session-limit-request-delete' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'request' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-request-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-request-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-request-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-request-limits-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-limit-request-modify' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'request' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-user-create' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'session-user-limits-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'security-session-limit-user-delete' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-user-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-user-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-user-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-user-limits-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-limit-user-modify' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-vserver-create' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'session-vserver-limits-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'security-session-limit-vserver-delete' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-limit-vserver-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-vserver-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-vserver-limits-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-vserver-limits-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-limit-vserver-modify' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 0,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'security-session-location-stats-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-location-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-location-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-location-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-request-stats-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-request-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-request-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-request-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-running-stats-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-running-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-running-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-running-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-user-stats-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-user-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-user-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-user-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-session-vserver-stats-get-iter' => {
        'category' => 'security-session',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'session-vserver-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'session-vserver-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'session-vserver-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-ssl-get' => {
        'category' => 'security-ssl',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-ssl-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-ssl-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-ssl-get-iter' => {
        'category' => 'security-ssl',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-ssl-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-ssl-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-ssl-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-ssl-modify' => {
        'category' => 'security-ssl',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-authentication-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-default-responder' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-max-response-age' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-max-response-time-skew' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-override-responder' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-responder-timeout' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-use-request-nonce' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'server-authentication-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-api-service-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-api-service',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'service-processor-api-service',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-api-service-modify' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-api-service-renew-certificates' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'renew-all' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-asup-config-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-asup-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'service-processor-asup-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-asup-config-set' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-asup-invoke' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-auto-configuration-disable' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-family' => {
                'type' => 'sp-ip-address-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-auto-configuration-enable' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-family' => {
                'type' => 'sp-ip-address-type',
                'flags' => 0,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-auto-configuration-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'sp-subnet-name-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'sp-subnet-name-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'service-processor-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-get-iter' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'service-processor-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'service-processor-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'service-processor-image-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-image',
                'flags' => 5,
                'scope' => [],
            },
            'firmware-image' => {
                'type' => 'sp-fw-type',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'service-processor-image',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-image-modify' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-autoupdate-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-image-update' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'clear-logs' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'install-baseline-image' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'package' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'update-type' => {
                'type' => 'sp-fw-update-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-image-update-progress-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-image-update-progress-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'service-processor-image-update-progress-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-log-allocation-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-log-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'remote-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'service-processor-log-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-log-allocation-get-iter' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-log-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'service-processor-log-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'service-processor-log-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'service-processor-network-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-type' => {
                'type' => 'sp-ip-address-type',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'service-processor-network-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'service-processor-network-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-network-get-iter' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-network-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'service-processor-network-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'service-processor-network-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'service-processor-network-modify' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-type' => {
                'type' => 'sp-ip-address-type',
                'flags' => 0,
                'scope' => [],
            },
            'dhcp' => {
                'type' => 'sp-dhcp-status',
                'flags' => 4,
                'scope' => [],
            },
            'gateway-ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'prefix-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-network-modify-iter' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'service-processor-network-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'service-processor-network-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'service-processor-network-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'service-processor-network-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'service-processor-reboot' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'firmware-image' => {
                'type' => 'sp-fw-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-ssh-add-allowed-addresses' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'allowed-addresses' => {
                'type' => 'ip-and-mask',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'service-processor-ssh-get' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'service-processor-ssh-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'service-processor-ssh-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-ssh-remove-allowed-addresses' => {
        'category' => 'service-processor',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'allowed-addresses' => {
                'type' => 'ip-and-mask',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-shelf-bay-list-info' => {
        'category' => 'ses',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'channel-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'shelf-bay-list' => {
                'type' => 'shelf-bay-list-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'storage-shelf-environment-list-info' => {
        'category' => 'ses',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'channel-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'shelf-environ-channel-list' => {
                'type' => 'shelf-environ-channel-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'storage-shelf-get-shelf-info' => {
        'category' => 'ses',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'channel-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'bay-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bay-list' => {
                'type' => 'bay-info',
                'flags' => 3,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-rev-A' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-rev-B' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-revision' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'shelf-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-list-info' => {
        'category' => 'ses',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'channel-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'shelf-list' => {
                'type' => 'shelf-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'sis-disable' => {
        'category' => 'sis',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'sis-disable-async' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sis-enable' => {
        'category' => 'sis',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'sis-enable-async' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sis-get' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'sis-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'path' => {
                'type' => 'volume-path',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'sis-status-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'sis-get-iter' => {
        'category' => 'sis',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'sis-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'sis-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'sis-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sis-policy-create' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'changelog-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'duration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'sis-policy-delete' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'sis-policy-get' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'sis-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'sis-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'sis-policy-get-iter' => {
        'category' => 'sis',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'sis-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'sis-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'sis-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sis-policy-modify' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'changelog-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'duration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'sis-set-config' => {
        'category' => 'sis',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'application-io-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'compression-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'compression-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable-compression' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-cross-volume-background-dedupe' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-cross-volume-inline-dedupe' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-data-compaction' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-idd' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-inline-compression' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-inline-dedupe' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'quick-check-fsize' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'sis-set-config-async' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'application-io-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'compression-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'compression-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable-compression' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-cross-volume-background-dedupe' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-cross-volume-inline-dedupe' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-data-compaction' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-idd' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-inline-compression' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-inline-dedupe' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'quick-check-fsize' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sis-start' => {
        'category' => 'sis',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'build-metadata' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'delete-checkpoint' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'qos-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'queue-operation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'restart-checkpoint' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'run-compaction-scan' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'scan' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'scan-all' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'sis-start-async' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'build-metadata' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'delete-checkpoint' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'queue-operation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'restart-checkpoint' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'run-compaction-scan' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'scan' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'scan-all' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sis-status' => {
        'category' => 'sis',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'verbose' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'sis-object' => {
                'type' => 'dense-status',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'sis-stop' => {
        'category' => 'sis',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'all-operations' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'sis-stop-async' => {
        'category' => 'sis',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'all-operations' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapdiff-rpc-server-create' => {
        'category' => 'snapdiff',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'sd-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'snapdiff-rpc-server-destroy' => {
        'category' => 'snapdiff',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snapdiff-rpc-server-disable' => {
        'category' => 'snapdiff',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snapdiff-rpc-server-enable' => {
        'category' => 'snapdiff',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snapdiff-rpc-server-get' => {
        'category' => 'snapdiff',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'sd-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'sd-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapdiff-rpc-server-get-create-defaults' => {
        'category' => 'snapdiff',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'attributes' => {
                'type' => 'sd-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'defaults' => {
                'type' => 'sd-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapdiff-rpc-server-get-iter' => {
        'category' => 'snapdiff',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'sd-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'sd-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'sd-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapdiff-rpc-server-modify' => {
        'category' => 'snapdiff',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'state' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snaplock-archive-vserver-log' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'base-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-create-vserver-log' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'default-retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'max-log-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'snaplock-vserver-log-config',
                'flags' => 5,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplock-destroy-vserver-log' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snaplock-event-retention-abort' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'operation-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snaplock-event-retention-apply-start' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-event-retention-get-iter' => {
        'category' => 'snaplock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snaplock-event-retention-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snaplock-event-retention-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snaplock-event-retention-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-event-retention-policy-create' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'snaplock-event-retention-policy-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'snaplock-event-retention-policy-destroy' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snaplock-event-retention-policy-get-iter' => {
        'category' => 'snaplock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snaplock-event-retention-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snaplock-event-retention-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snaplock-event-retention-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-event-retention-policy-modify' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snaplock-file-privileged-delete' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'file' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-get-file-retention' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snaplock-file-retention-info',
                'flags' => 5,
                'scope' => [],
            },
            'file' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snaplock-file-retention-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snaplock-get-node-compliance-clock' => {
        'category' => 'snaplock',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'snaplock-node-compliance-clock' => {
                'type' => 'compliance-clock-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snaplock-get-vserver-active-log-files-iter' => {
        'category' => 'snaplock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snaplock-vserver-log-file',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snaplock-vserver-log-file',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snaplock-vserver-log-file',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-get-vserver-log-iter' => {
        'category' => 'snaplock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snaplock-vserver-log-config',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snaplock-vserver-log-config',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snaplock-vserver-log-config',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-legal-hold-abort' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'operation-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snaplock-legal-hold-begin-start' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'litigation-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-legal-hold-dump-files-start' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'litigation-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'output-directory-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'output-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-legal-hold-dump-litigations-start' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'output-directory-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'output-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-legal-hold-end-start' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'litigation-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-legal-hold-get-iter' => {
        'category' => 'snaplock',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snaplock-legal-hold-attributes-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snaplock-legal-hold-attributes-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snaplock-legal-hold-attributes-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-modify-vserver-log' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'default-retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'max-log-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snaplock-set-file-retention' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'file' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'retention-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'set-infinite-retention' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snaplock-set-node-compliance-clock' => {
        'category' => 'snaplock',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'snaplock-volume-set-privileged-delete' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-get-snaplock-attrs' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'snaplock-attrs' => {
                'type' => 'snaplock-attrs-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'volume-set-snaplock-attrs' => {
        'category' => 'snaplock',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'autocommit-period' => {
                'type' => 'snaplock-autocommit-period',
                'flags' => 4,
                'scope' => [],
            },
            'default-retention-period' => {
                'type' => 'snaplock-default-period',
                'flags' => 4,
                'scope' => [],
            },
            'is-volume-append-mode-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-abort' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'check-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'clear-checkpoint' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapmirror-abort-async' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'check-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'clear-checkpoint' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-abort-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'check-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'clear-checkpoint' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-abort-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-abort-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-auto-protect-add-exclude' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'path-list' => {
                'type' => 'snapmirror-path',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-auto-protect-off' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snapmirror-auto-protect-on' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snapmirror-auto-protect-remove-exclude' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'path-list' => {
                'type' => 'snapmirror-path',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-break' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'recover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'restore-destination-to-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapmirror-break-async' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'recover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'restore-destination-to-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-break-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'recover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'restore-destination-to-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-break-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-break-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-capabilities-get' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-capabilities-info',
                'flags' => 5,
                'scope' => [],
            },
            'endpoint-type' => {
                'type' => 'smendpointtype',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-capabilities-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-capabilities-get-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-capabilities-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-capabilities-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapmirror-capabilities-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-check' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'check-file-list' => {
                'type' => 'snapmirror-file-path',
                'flags' => 6,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'skip-se-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-check-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'check-file-list' => {
                'type' => 'snapmirror-file-path',
                'flags' => 6,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-se-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-check-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-check-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-config-replication-cluster-storage-configuration-get' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-cr-storage-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-cr-storage-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-config-replication-cluster-storage-configuration-modify' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'disallowed-aggregates' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-cr-status-aggregate-eligibility-get' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggregate' => {
                'type' => 'aggr-name',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'snapmirror-cr-status-aggregate-eligibility-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-cr-status-aggregate-eligibility-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-cr-status-aggregate-eligibility-get-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-cr-status-aggregate-eligibility-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-cr-status-aggregate-eligibility-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapmirror-cr-status-aggregate-eligibility-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-cr-status-comm-get' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-cr-status-comm-info',
                'flags' => 5,
                'scope' => [],
            },
            'peer-cluster-uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-cr-status-comm-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-cr-status-comm-get-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-cr-status-comm-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-cr-status-comm-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapmirror-cr-status-comm-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-cr-status-get' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-cr-status-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-cr-status-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-create' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'identity-preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-auto-expand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tries' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'snapmirror-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'snapmirror-destroy' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-destroy-async' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-destroy-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-get' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-get-destination' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-destination-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-destination-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-get-destination-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-destination-info',
                'flags' => 5,
                'scope' => [],
            },
            'expand' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-destination-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapmirror-destination-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-get-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-info',
                'flags' => 5,
                'scope' => [],
            },
            'expand' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapmirror-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-get-total-records' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-get-volume-status' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-destination' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-source' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-transfer-broken' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-transfer-in-progress' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-history-get' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operation-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-history-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-history-get-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-history-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapmirror-history-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-initialize' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-auto-expand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'transfer-priority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapmirror-initialize-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-auto-expand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-priority' => {
                'type' => 'sm-transfer-priority-enum',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-initialize-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-initialize-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-initialize-ls-set' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-modify' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-auto-expand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'sm-policy',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tries' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-modify-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-auto-expand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'sm-policy',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tries' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-promote' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-promote-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-promote-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-promote-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-protect' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'auto-initialize' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume-prefix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume-suffix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 4,
                'scope' => [],
            },
            'path-list' => {
                'type' => 'snapmirror-path',
                'flags' => 2,
                'scope' => [],
            },
            'policy' => {
                'type' => 'sm-policy',
                'flags' => 0,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-quiesce' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapmirror-quiesce-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-quiesce-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-quiesce-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-release' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'relationship-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'relationship-info-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapmirror-release-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-destination-info',
                'flags' => 1,
                'scope' => [],
            },
            'relationship-info-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-release-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-release-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-restore' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'cg-item-mappings' => {
                'type' => 'cg-item-mapping',
                'flags' => 6,
                'scope' => [],
            },
            'clean-up-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'create-check-snapshot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disable-storage-efficiency' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'restore-file-list' => {
                'type' => 'snapmirror-file-path',
                'flags' => 6,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-priority' => {
                'type' => 'sm-transfer-priority-enum',
                'flags' => 4,
                'scope' => [],
            },
            'tries' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'use-network-compression' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-resume' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'result-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapmirror-resume-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-resume-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-resume-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-resync' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-auto-expand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'quick-resync' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'transfer-priority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapmirror-resync-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-auto-expand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'quick-resync' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-priority' => {
                'type' => 'sm-transfer-priority-enum',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-resync-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-resync-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-snapshot-owner-create' => {
        'category' => 'snapmirror',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'snapshot' => {
                'type' => 'snapshot-id',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-owner-name' => {
                'type' => 'snapshot-owner-name',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-snapshot-owner-destroy' => {
        'category' => 'snapmirror',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'snapshot' => {
                'type' => 'snapshot-id',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-owner-name' => {
                'type' => 'snapshot-owner-name',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-snapshot-owner-get' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'snapshot' => {
                'type' => 'snapshot-id',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'snapshot-owner-names' => {
                'type' => 'snapshot-owner-name',
                'flags' => 2,
                'scope' => [],
            },
        },
    },
    'snapmirror-snapshot-owner-get-snapshots' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'snapshots' => {
                'type' => 'snapshot-id',
                'flags' => 2,
                'scope' => [],
            },
        },
    },
    'snapmirror-update' => {
        'category' => 'snapmirror',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'enable-storage-efficiency' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'transfer-priority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapmirror-update-iter' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enable-storage-efficiency' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-priority' => {
                'type' => 'sm-transfer-priority-enum',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapmirror-update-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapmirror-update-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-update-ls-set' => {
        'category' => 'snapmirror',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-policy-add-rule' => {
        'category' => 'snapmirror-policy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'keep' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'sm-policy',
                'flags' => 0,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'warn' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-policy-create' => {
        'category' => 'snapmirror-policy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'discard-configs' => {
                'type' => 'svmdr-config-obj',
                'flags' => 6,
                'scope' => [],
            },
            'ignore-atime' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-network-compression-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'keep' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'owner' => {
                'type' => 'policy-owner',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'sm-policy',
                'flags' => 0,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'preserve' => {
                'type' => 'boolean',
                'flags' => 6,
                'scope' => [],
            },
            'restart' => {
                'type' => 'sm-restart-enum',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'transfer-priority' => {
                'type' => 'sm-transfer-priority-enum',
                'flags' => 4,
                'scope' => [],
            },
            'tries' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'sm-policy-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'warn' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'window-size-for-tdp-mirror' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'snapmirror-policy-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'snapmirror-policy-delete' => {
        'category' => 'snapmirror-policy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'sm-policy',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-policy-get' => {
        'category' => 'snapmirror-policy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'sm-policy',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapmirror-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-policy-get-iter' => {
        'category' => 'snapmirror-policy',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapmirror-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapmirror-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapmirror-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-policy-modify' => {
        'category' => 'snapmirror-policy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'discard-configs' => {
                'type' => 'svmdr-config-obj',
                'flags' => 6,
                'scope' => [],
            },
            'ignore-atime' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-network-compression-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'keep' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'owner' => {
                'type' => 'policy-owner',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'sm-policy',
                'flags' => 0,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'preserve' => {
                'type' => 'boolean',
                'flags' => 6,
                'scope' => [],
            },
            'restart' => {
                'type' => 'sm-restart-enum',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'transfer-priority' => {
                'type' => 'sm-transfer-priority-enum',
                'flags' => 4,
                'scope' => [],
            },
            'tries' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'warn' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'window-size-for-tdp-mirror' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-policy-modify-rule' => {
        'category' => 'snapmirror-policy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'keep' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'sm-policy',
                'flags' => 0,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'warn' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapmirror-policy-remove-rule' => {
        'category' => 'snapmirror-policy',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'sm-policy',
                'flags' => 0,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-autodelete-list-info' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'options' => {
                'type' => 'snapshot-autodelete-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'snapshot-autodelete-set-option' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'option-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'option-value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-create' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'async' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-create-async' => {
        'category' => 'snapshot',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-delete' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'ignore-owners' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-instance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-delete-async' => {
        'category' => 'snapshot',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'ignore-owners' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-instance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-delta-info' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'snapshot1' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot2' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'consumed-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'elapsed-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-get-iter' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapshot-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapshot-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapshot-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'volume-errors' => {
                'type' => 'volume-error',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapshot-get-reserve' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'blocks-reserved' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'percent-reserved' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-get-schedule' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'days' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'hours' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'minutes' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'weeks' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'which-hours' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'which-minutes' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-list-info' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'is-7-mode-snapshot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lun-clone-snapshot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snapowners' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'target-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'terse' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'snapshots' => {
                'type' => 'snapshot-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapshot-modify-iter' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'attributes' => {
                'type' => 'snapshot-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapshot-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'snapshot-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'snapshot-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapshot-modify-snaplock-expiry-time' => {
        'category' => 'snapshot',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'expiry-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'infinite-expiry-time' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-multicreate' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'cleanup' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-names' => {
                'type' => 'volume-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
            'status' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'volume-errors' => {
                'type' => 'volume-error',
                'flags' => 7,
                'scope' => ['ontap-vserver'],
            },
            'volume-is-snapcreated-list' => {
                'type' => 'volume-is-snapcreated',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapshot-multicreate-validate' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-names' => {
                'type' => 'volume-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
            'volume-errors' => {
                'type' => 'volume-error',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'snapshot-multidelete' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver'],
        'inputs' => {
            'snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-names' => {
                'type' => 'volume-name',
                'flags' => 2,
                'scope' => ['ontap-c', 'ontap-vserver'],
            },
        },
        'outputs' => {
            'volume-errors' => {
                'type' => 'volume-error',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapshot-multirename' => {
        'category' => 'snapshot',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-snapshot-name' => {
                'type' => 'snapshot-id',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-name' => {
                'type' => 'snapshot-id',
                'flags' => 0,
                'scope' => [],
            },
            'volume-names' => {
                'type' => 'volume-name',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
            'snapshot-multirename-errors' => {
                'type' => 'snapshot-multirename-error',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapshot-partial-restore-file' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'byte-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-instance-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start-byte' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-partial-restore-file-list-info' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'max-byte-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-policy-add-schedule' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'policy' => {
                'type' => 'snapshot-policy',
                'flags' => 0,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-policy-create' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'count1' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'count2' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'count3' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'count4' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'count5' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'prefix1' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'prefix2' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'prefix3' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'prefix4' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'prefix5' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule1' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'schedule2' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule3' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule4' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule5' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label1' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label2' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label3' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label4' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label5' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-policy-delete' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'policy' => {
                'type' => 'snapshot-policy',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-policy-get' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapshot-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'policy' => {
                'type' => 'snapshot-policy',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'snapshot-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapshot-policy-get-iter' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'snapshot-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'snapshot-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'snapshot-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-policy-modify' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-policy-modify-schedule' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'new-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'new-snapmirror-label' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'snapshot-policy',
                'flags' => 0,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-policy-remove-schedule' => {
        'category' => 'snapshot',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'policy' => {
                'type' => 'snapshot-policy',
                'flags' => 0,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-reclaimable-info' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'snapshots' => {
                'type' => 'snapshot-name',
                'flags' => 2,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'reclaimable-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-rename' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'current-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-reserve-list-info' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'snapshot-reserve-details' => {
                'type' => 'snapshot-reserve-detail-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'snapshot-restore-file' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-streams' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-d', 'ontap-vserver'],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'restore-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-instance-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'space-efficient-split-disabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-restore-file-info' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'max-sfsr-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'sfsr-in-progress' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-restore-volume' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'preserve-lun-ids' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-instance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-restore-volume-async' => {
        'category' => 'snapshot',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snapshot-instance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-set-reserve' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'percentage' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snapshot-volume-info' => {
        'category' => 'snapshot',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'size-available' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snmp-community-add' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'access-control' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'community' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snmp-community-delete' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'access-control' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'community' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snmp-community-delete-all' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snmp-disable' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snmp-enable' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snmp-enable-snmpv3' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snmp-get' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'object-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-value-hexadecimal' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snmp-get-next' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'object-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-value-hexadecimal' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'next-object-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snmp-status' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
            'communities' => {
                'type' => 'community-info',
                'flags' => 7,
                'scope' => [],
            },
            'contact' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-trap-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'location' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'traphosts' => {
                'type' => 'traphost-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snmp-test-trap-trigger' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snmp-trap-disable' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snmp-trap-enable' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'snmp-traphost-add' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'host' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'snmp-traphost-delete' => {
        'category' => 'snmp',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'host' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-acp-firmware-file-get-iter' => {
        'category' => 'storage-acp-firmware',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-acp-firmware-file',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-acp-firmware-file',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-acp-firmware-file',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-adapter-enable-adapter' => {
        'category' => 'storage-adapter',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'storage-adapter-get-adapter-info' => {
        'category' => 'storage-adapter',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'adapter-details' => {
                'type' => 'adapter-detail-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'storage-adapter-get-adapter-list' => {
        'category' => 'storage-adapter',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'adapter-list' => {
                'type' => 'adapter-name-elem',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'storage-adapter-modify' => {
        'category' => 'storage-adapter',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'adapter-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force-offline' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-array-get-config-summary' => {
        'category' => 'storage-array',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'ownership-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'config-summary' => {
                'type' => 'storage-array-config-summary',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'storage-array-list-info' => {
        'category' => 'storage-array',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'array-profiles' => {
                'type' => 'storage-array-profile',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'storage-array-modify' => {
        'category' => 'storage-array',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'all-path-fail-delay' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'array-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-upgrade-pending' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lun-queue-depth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-queue-depth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'options' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path-failover-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-array-port-modify' => {
        'category' => 'storage-array',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'max-queue-depth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'target-iqn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tpgt' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'utilization-policy' => {
                'type' => 'utilizationpolicytypes',
                'flags' => 4,
                'scope' => [],
            },
            'wwnn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-array-ports-list-info' => {
        'category' => 'storage-array',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'array-ports' => {
                'type' => 'storage-array-port',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'storage-array-rename' => {
        'category' => 'storage-array',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-bridge-config-dump-collect' => {
        'category' => 'storage-bridge',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'bridge' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-config-dump-delete' => {
        'category' => 'storage-bridge',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'file' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-bridge-config-dump-get-iter' => {
        'category' => 'storage-bridge',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-bridge-config-dump-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-bridge-config-dump-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-bridge-config-dump-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-bridge-coredump-collect' => {
        'category' => 'storage-bridge',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-coredump-delete' => {
        'category' => 'storage-bridge',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'corename' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-bridge-coredump-get-iter' => {
        'category' => 'storage-bridge',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-bridge-coredump-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-bridge-coredump-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-bridge-coredump-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-bridge-get' => {
        'category' => 'storage-bridge',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-bridge-info',
                'flags' => 5,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-bridge-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-bridge-get-iter' => {
        'category' => 'storage-bridge',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-bridge-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-bridge-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-bridge-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-disk-get-iter' => {
        'category' => 'storage-disk',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d', 'vfiler'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-disk-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-disk-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-disk-modify' => {
        'category' => 'storage-disk',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'disk-name' => {
                'type' => 'disk-name',
                'flags' => 4,
                'scope' => [],
            },
            'is-foreign' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-disk-set-foreign-lun' => {
        'category' => 'storage-disk',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'disk' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-foreign-lun' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-disk-firmware-file-get-iter' => {
        'category' => 'storage-disk-firmware',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-disk-firmware-file',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-disk-firmware-file',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-disk-firmware-file',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-initiator-balance' => {
        'category' => 'storage-initiator',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'storage-initiator-disk-path-list-info' => {
        'category' => 'storage-initiator',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'disk-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'disk-path-info' => {
                'type' => 'disk-path-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'storage-initiator-errors-list-info' => {
        'category' => 'storage-initiator',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'errors' => {
                'type' => 'storage-error-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'storage-initiator-get-load' => {
        'category' => 'storage-initiator',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'load-info' => {
                'type' => 'storage-initiator-load-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'storage-initiator-path-list-info' => {
        'category' => 'storage-initiator',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'path-info' => {
                'type' => 'storage-initiator-path-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'storage-initiator-path-quiesce' => {
        'category' => 'storage-initiator',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'lun-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'path-failure-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'target-wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'wait-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-initiator-path-resume' => {
        'category' => 'storage-initiator',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d'],
        'inputs' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'lun-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'target-wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-iscsi-initiator-add-target' => {
        'category' => 'storage-iscsi-initiator',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'administrative-status' => {
                'type' => 'service-state',
                'flags' => 4,
                'scope' => [],
            },
            'label' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'target-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-portal' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-type' => {
                'type' => 'iscsi-initiator-target-type',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-iscsi-initiator-connect' => {
        'category' => 'storage-iscsi-initiator',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'label' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'target-type' => {
                'type' => 'iscsi-initiator-target-type',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-iscsi-initiator-disconnect' => {
        'category' => 'storage-iscsi-initiator',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'label' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'target-type' => {
                'type' => 'iscsi-initiator-target-type',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-iscsi-initiator-get-iter' => {
        'category' => 'storage-iscsi-initiator',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-iscsi-initiator-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-iscsi-initiator-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-iscsi-initiator-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-iscsi-initiator-remove-target' => {
        'category' => 'storage-iscsi-initiator',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'label' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'target-type' => {
                'type' => 'iscsi-initiator-target-type',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-pool-add' => {
        'category' => 'storage-pool',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'auto-grow-aggregates' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-list' => {
                'type' => 'disk-name',
                'flags' => 6,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'simulate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'aggregates-autogrow-list' => {
                'type' => 'aggregate-autogrow-info',
                'flags' => 5,
                'scope' => [],
            },
            'available-capacity' => {
                'type' => 'size',
                'flags' => 0,
                'scope' => [],
            },
            'new-available-capacity' => {
                'type' => 'size',
                'flags' => 0,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'selected-disks' => {
                'type' => 'disk-name',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'storage-pool-aggregate-get-iter' => {
        'category' => 'storage-pool',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-pool-aggregate-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-pool-aggregate-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-pool-aggregate-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-pool-available-capacity-get-iter' => {
        'category' => 'storage-pool',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-pool-available-capacity-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-pool-available-capacity-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-pool-available-capacity-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-pool-create' => {
        'category' => 'storage-pool',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-list' => {
                'type' => 'disk-name',
                'flags' => 6,
                'scope' => [],
            },
            'disk-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'simulate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'selected-allocation-unit-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'selected-disks' => {
                'type' => 'disk-name',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'storage-pool-delete' => {
        'category' => 'storage-pool',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'storage-pool' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-pool-disk-get-iter' => {
        'category' => 'storage-pool',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-pool-disk-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-pool-disk-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-pool-disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-pool-get-iter' => {
        'category' => 'storage-pool',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-pool-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-pool-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-pool-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-pool-reassign' => {
        'category' => 'storage-pool',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'allocation-units' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'from-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'to-node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-port-disable' => {
        'category' => 'storage-port',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-port-enable' => {
        'category' => 'storage-port',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-port-info-get' => {
        'category' => 'storage-port',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-port-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-port-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-port-info-get-iter' => {
        'category' => 'storage-port',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-port-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-port-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-port-rescan' => {
        'category' => 'storage-port',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-port-reset' => {
        'category' => 'storage-port',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-port-reset-device' => {
        'category' => 'storage-port',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'bay-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'loop-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-shelf-acp-configure' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'channel' => {
                'type' => 'channel-config-enum',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'true-false',
                'flags' => 0,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'subnet' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-shelf-acp-firmware-update' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'module-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-shelf-acp-get' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-acp-connection',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-shelf-acp-connection',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-acp-module-get' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-acp-module',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-shelf-acp-module',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-acp-module-get-iter' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-acp-module',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-acp-module',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-shelf-acp-module',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-get' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-drawer-info',
                'flags' => 5,
                'scope' => [],
            },
            'drawer' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-shelf-drawer-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-get-iter' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-drawer-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-drawer-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-shelf-drawer-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-phy-get' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-drawer-phy-info',
                'flags' => 5,
                'scope' => [],
            },
            'drawer' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'phy' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-shelf-drawer-phy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-phy-get-iter' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-drawer-phy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-drawer-phy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-shelf-drawer-phy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-slot-get' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'bay' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'storage-shelf-drawer-slot-info',
                'flags' => 5,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-shelf-drawer-slot-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-slot-get-iter' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-drawer-slot-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-drawer-slot-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-shelf-drawer-slot-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-shelf-error-list-info' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'shelf-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'shelf-errors' => {
                'type' => 'storage-shelf-error-show-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'storage-shelf-firmware-update' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'module-type' => {
                'type' => 'shelf-module-type',
                'flags' => 4,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-shelf-firmware-update-info-get' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-firmware-update-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-shelf-firmware-update-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-firmware-update-info-get-iter' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-firmware-update-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-firmware-update-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-shelf-firmware-update-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-shelf-info-get' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-info',
                'flags' => 5,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-shelf-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-info-get-iter' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-shelf-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-shelf-location-led-get' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-location-led-info',
                'flags' => 5,
                'scope' => [],
            },
            'shelf-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-shelf-location-led-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-location-led-get-iter' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-location-led-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-location-led-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-shelf-location-led-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-shelf-location-led-modify' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'led-status' => {
                'type' => 'storage-shelf-led-status',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-shelf-location-led-modify-iter' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'storage-shelf-location-led-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-location-led-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'storage-shelf-location-led-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'storage-shelf-location-led-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'storage-shelf-storage-acp-configure' => {
        'category' => 'storage-shelf',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'true-false',
                'flags' => 0,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'subnet' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'storage-shelf-firmware-file-get-iter' => {
        'category' => 'storage-shelf-firmware',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-shelf-firmware-file',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-shelf-firmware-file',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-shelf-firmware-file',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-switch-get' => {
        'category' => 'storage-switch',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-switch-info',
                'flags' => 5,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'storage-switch-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-switch-get-iter' => {
        'category' => 'storage-switch',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-switch-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-switch-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-switch-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'external-cache-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'external-cache-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'external-cache-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'external-cache-modify' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-hya-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rewarm-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'pcs-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-api-get-elements' => {
        'category' => 'system',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'api-list' => {
                'type' => 'api-list-info',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
            'api-entries' => {
                'type' => 'system-api-entry-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'system-api-list' => {
        'category' => 'system',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'apis' => {
                'type' => 'system-api-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'system-api-list-types' => {
        'category' => 'system',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'type-entries' => {
                'type' => 'system-api-type-entry-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'system-get-node-info-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'system-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'system-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-get-ontapi-version' => {
        'category' => 'system',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'major-version' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'minor-version' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node-ontapi-details' => {
                'type' => 'node-ontapi-detail-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'system-get-vendor-info' => {
        'category' => 'system',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'autosupport-email' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'autosupport-url' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'complete-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'customer-support-contact' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'customer-support-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'information-url' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ontap-oid-prefix' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'product-url' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'short-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-get-version' => {
        'category' => 'system',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'build-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-clustered' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'node-version-details' => {
                'type' => 'node-version-detail-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'version-tuple' => {
                'type' => 'system-version-tuple',
                'flags' => 5,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'system-hypervisor-host-config-create' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-ipv4' => {
                'type' => 'ip-address',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'port-ipv4' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'system-hypervisor-host-config-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-host-config-destroy' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-hypervisor-host-config-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-hypervisor-host-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'system-hypervisor-host-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-host-config-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-hypervisor-host-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'system-hypervisor-host-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'system-hypervisor-host-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-host-config-modify' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'address-ipv4' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'port-ipv4' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-hypervisor-snmpv3-config-create' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'auth-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'auth-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'engine-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'priv-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-trapport' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'system-hypervisor-snmpv3-config-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-snmpv3-config-destroy' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-hypervisor-snmpv3-config-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-hypervisor-snmpv3-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'system-hypervisor-snmpv3-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-snmpv3-config-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-hypervisor-snmpv3-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'system-hypervisor-snmpv3-config-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'system-hypervisor-snmpv3-config-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-snmpv3-config-modify' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'auth-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'auth-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'engine-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'priv-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-trapport' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-hypervisor-uplink-mapping-create' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'net-port',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'uplinks' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'system-hypervisor-uplink-mapping-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-uplink-mapping-destroy' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'net-port',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-hypervisor-uplink-mapping-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-hypervisor-uplink-mapping-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'net-port',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'system-hypervisor-uplink-mapping-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-uplink-mapping-modify' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'filer-id',
                'flags' => 0,
                'scope' => [],
            },
            'port' => {
                'type' => 'net-port',
                'flags' => 0,
                'scope' => [],
            },
            'uplinks' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-image-external-package-delete' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'device' => {
                'type' => 'externaldevice',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'package' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-image-external-package-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-image-external-package-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'system-image-external-package-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'system-image-external-package-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-image-fetch-package' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'package' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'rename-package' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'replace-package' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-image-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-image-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'system-image-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'system-image-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-image-install' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'package' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'rename-package' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'replace-package' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-image-modify' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'image' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-image-package-delete' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'package' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-image-package-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-image-package-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'system-image-package-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'system-image-package-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-image-update' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ignore-compatibility' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-offline' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'package' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'rename-package' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'replace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'replace-package' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'setdefault' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'validate-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-image-update-get-abort' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-image-update-progress-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'exit-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'exit-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'phase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'run-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-node-discovery-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-node-discovery',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'system-node-discovery',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'system-node-discovery',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-node-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'node-details-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'node-details-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'system-node-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'node-details-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'node-details-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'node-details-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-node-modify' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-diff-svcs' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'node-asset-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-node-power-cycle' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-node-power-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-node-power-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'system-node-power-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'system-node-power-off' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-node-power-on' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-node-reboot' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ignore-quorum-warnings' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dump' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-inhibit-takeover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-skip-lif-migration-before-reboot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-node-rename' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-node-reset' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'firmware' => {
                'type' => 'bios-fw-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-node-shutdown' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'ignore-quorum-warnings' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dump' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-inhibit-takeover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-skip-lif-migration-before-shutdown' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-services-web-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-services-web-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'system-services-web-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'system-services-web-node-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-services-web-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'system-services-web-node-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'system-services-web-node-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'system-services-web-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'system-services-web-node-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'system-services-web-node-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-status-hypervisor-get' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'status-hypervisor-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'status-hypervisor-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'system-status-hypervisor-modify' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'host-type' => {
                'type' => 'oss-host-type',
                'flags' => 0,
                'scope' => [],
            },
            'support-level' => {
                'type' => 'oss-support-level',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-status-restart-restart-service' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'service' => {
                'type' => 'oss-restart',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'system-status-service-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-user-capability-get-iter' => {
        'category' => 'system',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'capability-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'capability-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'capability-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'tape-mc-get' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'tape-mc-info',
                'flags' => 5,
                'scope' => [],
            },
            'device-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'tape-mc-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'tape-mc-get-iter' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'tape-mc-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'tape-mc-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'tape-mc-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'tape-mc-info-alias-clear' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'clear-scope' => {
                'type' => 'tape-mc-device-scope-enum',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'tape-mc-info-alias-set' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'mapping' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'tape-mc-info-offline' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'device-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'device-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'tape-mc-info-online' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'device-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'device-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'tape-mc-info-position' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'device-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'operation' => {
                'type' => 'tape-mc-tape-oper-enum',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'tape-mc-info-reset' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'device-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'tape-mc-info-test-release' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'device-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'tape-mc-info-test-reserve' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'device-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'tape-mc-info-trace' => {
        'category' => 'tape-mc-info',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-trace-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'template-management-template-copy' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'destination-template' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'template' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'template-management-template-delete' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'template' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'template-management-template-download' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'template-management-template-get' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'template-info',
                'flags' => 5,
                'scope' => [],
            },
            'name' => {
                'type' => 'template-name',
                'flags' => 0,
                'scope' => [],
            },
            'template' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'template-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'template-management-template-get-iter' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'template-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'template-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'template-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'template-management-template-parameter-get' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'template-parameter-info',
                'flags' => 5,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'parameter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'template' => {
                'type' => 'template-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'template-parameter-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'template-management-template-parameter-get-iter' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'template-parameter-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'template-parameter-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'template-parameter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'template-management-template-parameter-modify' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'default-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'parameter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'template' => {
                'type' => 'template-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'template-management-template-parameter-modify-iter' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'template-parameter-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'template-parameter-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'template-management-template-parameter-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'template-management-template-parameter-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'template-management-template-provision' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'custom-inputs' => {
                'type' => 'custom-input-info',
                'flags' => 7,
                'scope' => [],
            },
            'template' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'template-management-template-provision-error-get' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'template-provision-error-info',
                'flags' => 5,
                'scope' => [],
            },
            'jobid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'template-provision-error-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'template-management-template-rename' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'template' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'template-management-template-upload' => {
        'category' => 'template-management',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'ucm-adapter-get' => {
        'category' => 'ucm',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'desired-attributes' => {
                'type' => 'uc-adapter-info',
                'flags' => 5,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'uc-adapter-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'ucm-adapter-get-iter' => {
        'category' => 'ucm',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'uc-adapter-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'uc-adapter-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'uc-adapter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ucm-adapter-modify' => {
        'category' => 'ucm',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'fc4-type' => {
                'type' => 'ucm-type',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'ucm-mode',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'virtual-machine-get-info' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vm-instance-info',
                'flags' => 5,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vm-instance-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-credential-create' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aws-access-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aws-secret-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'vm-provider-credential',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-credential-destroy' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'virtual-machine-provider-credential-destroy-iter' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vm-provider-credential',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'virtual-machine-provider-credential-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'virtual-machine-provider-credential-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-credential-get-iter' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vm-provider-credential',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vm-provider-credential',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vm-provider-credential',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-credential-modify' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aws-access-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aws-secret-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'virtual-machine-provider-credential-modify-iter' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'vm-provider-credential',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vm-provider-credential',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'virtual-machine-provider-credential-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'virtual-machine-provider-credential-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-proxy-create' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'vm-provider-proxy',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-proxy-destroy' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'virtual-machine-provider-proxy-destroy-iter' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vm-provider-proxy',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'virtual-machine-provider-proxy-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'virtual-machine-provider-proxy-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-proxy-get-iter' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vm-provider-proxy',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vm-provider-proxy',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vm-provider-proxy',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-proxy-modify' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'virtual-machine-provider-proxy-modify-iter' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'vm-provider-proxy',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vm-provider-proxy',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'virtual-machine-provider-proxy-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'virtual-machine-provider-proxy-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'virtual-machine-system-disks-get-iter' => {
        'category' => 'virtual-machine',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'virtual-machine-system-disks-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'virtual-machine-system-disks-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'virtual-machine-system-disks-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vmservices-vsphere-credential-check' => {
        'category' => 'vmservices',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'are-credentials-correct' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'vmservices-vsphere-credential-get' => {
        'category' => 'vmservices',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vmservices-vsphere-credential-modify' => {
        'category' => 'vmservices',
        'family' => ['ontap-c', 'ontap-cluster'],
        'inputs' => {
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'password' => {
                'type' => 'string',
                'flags' => 12,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-aggregate-vacate-async' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'dest-aggr' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'source-aggr' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-autobalance-get' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-autobalance-info',
                'flags' => 5,
                'scope' => [],
            },
            'storage-service' => {
                'type' => 'storage-service-name',
                'flags' => 0,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'volume-autobalance-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'volume-autobalance-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-autobalance-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-autobalance-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'volume-autobalance-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-autobalance-start' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'storage-service' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-autobalance-stop' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'storage-service' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-autosize-get' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'grow-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'increment-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'maximum-size' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'minimum-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shrink-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-autosize-set' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'grow-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'increment-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reset' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'shrink-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-autosize-set-async' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'grow-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reset' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'shrink-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-clone-create' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-cluster', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'gid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'junction-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'junction-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'parent-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'parent-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'parent-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'qos-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'space-reserve' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'vserver-dr-protection' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
        },
    },
    'volume-clone-get' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-clone-info',
                'flags' => 5,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'volume-clone-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'volume-clone-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-clone-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-clone-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'volume-clone-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-clone-split-estimate' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'clone-split-estimate' => {
                'type' => 'clone-split-estimate-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'volume-clone-split-start' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
    },
    'volume-clone-split-status' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'clone-split-details' => {
                'type' => 'clone-split-detail-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'volume-clone-split-stop' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-container' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'containing-aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-copy-start' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-create' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver'],
        'inputs' => {
            'antivirus-on-access-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'cache-retention-priority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'caching-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'constituent-role' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'containing-aggr-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'efficiency-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'encrypt' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'excluded-from-autobalance' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'export-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'extent-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'flexcache-cache-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'flexcache-fill-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'flexcache-origin-volume-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'index-dir-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'is-junction-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'is-nvfail-enabled' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'is-vserver-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'junction-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'language-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-vserver', 'vfiler'],
            },
            'max-dir-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'max-write-alloc-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'percentage-snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'qos-adaptive-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'space-reserve' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'space-slo' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-service' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tiering-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-permissions' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'user-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'vm-align-sector' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vm-align-suffix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'volume-security-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'volume-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'volume-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'vserver-dr-protection' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
        },
    },
    'volume-create-async' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'aggr-list-multiplier' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'auto-provision-as' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'cache-retention-priority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'caching-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'containing-aggr-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'efficiency-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'enable-snapdiff' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'encrypt' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'excluded-from-autobalance' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'export-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'flexcache-cache-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'flexcache-fill-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'flexcache-origin-volume-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-junction-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'is-managed-by-service' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nvfail-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-vserver-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'junction-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'language-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-c', 'ontap-vserver', 'vfiler'],
            },
            'max-constituent-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-data-constituent-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-dir-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-namespace-constituent-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'namespace-aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'namespace-mirror-aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'percentage-snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'qos-adaptive-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'space-guarantee' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'space-reserve' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'space-slo' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-service' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tiering-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-permissions' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vm-align-sector' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vm-align-suffix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-security-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'volume-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-dr-protection' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-destroy' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-destroy-async' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-encryption-conversion-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-encryption-conversion-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-encryption-conversion-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'volume-encryption-conversion-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-encryption-conversion-pause' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-encryption-conversion-resume' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-encryption-conversion-start' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-encryption-prepare-to-downgrade' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'volume-encryption-rekey-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-encryption-rekey-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-encryption-rekey-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'volume-encryption-rekey-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-encryption-rekey-pause' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-encryption-rekey-resume' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-encryption-rekey-start' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-expand-async' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 2,
                'scope' => [],
            },
            'aggr-list-multiplier' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-flexgroup-deploy-async' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'space-reserve' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-flexgroup-deploy-simulate-aggr-layout' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
            'aggr-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'aggr-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-flexgroup-get-create-limits' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 2,
                'scope' => [],
            },
            'aggr-list-multiplier' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'space-guarantee' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'max-create-with-dedupe' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'max-create-without-dedupe' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'min-create' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-flexgroup-get-expand-limits' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'max-aggr-list-with-dedupe' => {
                'type' => 'aggr-name',
                'flags' => 2,
                'scope' => [],
            },
            'max-aggr-list-without-dedupe' => {
                'type' => 'aggr-name',
                'flags' => 2,
                'scope' => [],
            },
        },
    },
    'volume-flexgroup-get-resize-limits' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'max-resize-with-dedupe' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'max-resize-without-dedupe' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'min-resize' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-footprint-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'footprint-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'footprint-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'footprint-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'volume-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-get-language' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'language' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'language-code' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'nfs-character-set' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'oem-character-set' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-get-limits' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'data-aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'enable-snapdiff' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-data-constituent-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-namespace-constituent-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'namespace-aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'namespace-mirror-aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'space-guarantee' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'max-infinitevol-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'min-infinitevol-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-get-root-name' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
        },
        'outputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-get-volume-path' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-style-cifs' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'junction' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-modify-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'attributes' => {
                'type' => 'volume-attributes',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-attributes',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'volume-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'volume-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'volume-modify-iter-async' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'attributes' => {
                'type' => 'volume-attributes',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-attributes',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'volume-modify-iter-async-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'volume-modify-iter-async-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'volume-mount' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'activate-junction' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'export-policy-override' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'junction-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-move-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-move-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-move-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'volume-move-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-move-pause' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-move-resume' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-move-start' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'cutover-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'cutover-attempts' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-window' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dest-aggr' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'encrypt-destination' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'generate-destination-key' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'perform-validation-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tiering-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'vol-move-warnings' => {
                'type' => 'errors-warnings-info',
                'flags' => 5,
                'scope' => ['ontap-cluster'],
            },
            'volume-move-dedup-warnings' => {
                'type' => 'errors-warnings-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'volume-move-target-aggr-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'volume-move-target-aggr-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination-tiering-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'volume-move-target-aggr-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'volume-move-target-aggr-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-move-trigger-abort' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'source-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-move-trigger-cutover' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
        'outputs' => {
        },
    },
    'volume-offline' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-offline-async' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-online' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-online-async' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-options-list-info' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'options' => {
                'type' => 'volume-option-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'volume-rehost' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'auto-remap-luns' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'force-unmap-luns' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-rename' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'new-volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-rename-async' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-restrict' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-restrict-async' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-set-option' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'option-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'option-value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-set-total-files' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'requested-total-files' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'resulting-total-files' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-size' => {
        'category' => 'volume',
        'family' => ['ontap-c', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'new-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'is-fixed-size-flex-volume' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-readonly-flex-volume' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-replica-flex-volume' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume-size' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-size-async' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-space-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'space-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'space-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'space-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-storage-service-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'storage-service-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'storage-service-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'storage-service-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-storage-service-rename' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'new-storage-service' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'storage-service' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-transition' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'non-disruptive' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'operation-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'override-warnings' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volumes' => {
                'type' => 'volume-transition-volinfo',
                'flags' => 3,
                'scope' => [],
            },
        },
        'outputs' => {
            'job-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-transition-check' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'non-disruptive' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'operation-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'override-warnings' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volumes' => {
                'type' => 'volume-transition-volinfo',
                'flags' => 3,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-transition-log-delete' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'destination-vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operation-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-transition-log-get-iter' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-features' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'desired-levels' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'desired-phases' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'destination-vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'operation-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'eof' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'records' => {
                'type' => 'volume-transition-log-record-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'volume-transition-prepare-to-downgrade' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'volume-transition-protect' => {
        'category' => 'volume',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'volume-unmount' => {
        'category' => 'volume',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-active-scanner-pool-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-active-scanner-pool-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-active-scanner-pool-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-active-scanner-pool-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-connection-extended-stats-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-connection-extended-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-connection-extended-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-connection-extended-stats-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-connection-status-all-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-connection-status-all-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-connection-status-all-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-connection-status-all-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-events-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-events-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-events-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-events-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-on-access-policy-create' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'file-ext-to-exclude' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'file-ext-to-include' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'filters' => {
                'type' => 'vscan-on-access-policy-ui-filter',
                'flags' => 6,
                'scope' => [],
            },
            'is-scan-mandatory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-file-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'paths-to-exclude' => {
                'type' => 'file-path',
                'flags' => 6,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'vscan-protocol',
                'flags' => 0,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'scan-files-with-no-ext' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'vscan-on-access-policy-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'vscan-on-access-policy-delete' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-on-access-policy-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-on-access-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-on-access-policy-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-on-access-policy-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-on-access-policy-modify' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'file-ext-to-exclude' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'file-ext-to-include' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'filters' => {
                'type' => 'vscan-on-access-policy-ui-filter',
                'flags' => 6,
                'scope' => [],
            },
            'is-scan-mandatory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-file-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'paths-to-exclude' => {
                'type' => 'file-path',
                'flags' => 6,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'scan-files-with-no-ext' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-on-access-policy-status-modify' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 0,
                'scope' => [],
            },
            'policy-status' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-on-demand-report-delete' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'delete-report-file' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'report-file' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'task-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-on-demand-report-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-on-demand-report-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-on-demand-report-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-on-demand-report-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-on-demand-task-create' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'cross-junction' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'directory-recursion' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'file-ext-to-exclude' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'file-ext-to-include' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'max-file-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'paths-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'report-directory' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'report-log-level' => {
                'type' => 'vscan-od-log-level',
                'flags' => 4,
                'scope' => [],
            },
            'request-timeout' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'scan-files-with-no-ext' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'scan-paths' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
            'scan-priority' => {
                'type' => 'vscan-scan-priority',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'task-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'vscan-on-demand-task-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'vscan-on-demand-task-delete' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'task-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-on-demand-task-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-on-demand-task-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-on-demand-task-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-on-demand-task-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-on-demand-task-modify' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'cross-junction' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'directory-recursion' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'file-ext-to-exclude' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'file-ext-to-include' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'max-file-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'paths-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'report-directory' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'report-log-level' => {
                'type' => 'vscan-od-log-level',
                'flags' => 4,
                'scope' => [],
            },
            'request-timeout' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'scan-files-with-no-ext' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'scan-paths' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'scan-priority' => {
                'type' => 'vscan-scan-priority',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'task-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-on-demand-task-run' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'task-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-reset' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'vscan-resolve-hostnames' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'scanner-pool' => {
                'type' => 'scanner-pool',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-scanner-pool-apply-policy' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-policy' => {
                'type' => 'scanner-policy',
                'flags' => 0,
                'scope' => [],
            },
            'scanner-pool' => {
                'type' => 'scanner-pool',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-scanner-pool-create' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'hostnames' => {
                'type' => 'string',
                'flags' => 2,
                'scope' => [],
            },
            'max-session-setup-retries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'privileged-users' => {
                'type' => 'privileged-user',
                'flags' => 2,
                'scope' => [],
            },
            'request-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'scan-queue-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-pool' => {
                'type' => 'scanner-pool',
                'flags' => 0,
                'scope' => [],
            },
            'servers' => {
                'type' => 'ip-address',
                'flags' => 2,
                'scope' => [],
            },
            'session-setup-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-teardown-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'vscan-scanner-pool-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'vscan-scanner-pool-delete' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'scanner-pool' => {
                'type' => 'scanner-pool',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-scanner-pool-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-scanner-pool-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-scanner-pool-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-scanner-pool-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-scanner-pool-modify' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'hostnames' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'max-session-setup-retries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'privileged-users' => {
                'type' => 'privileged-user',
                'flags' => 6,
                'scope' => [],
            },
            'request-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scan-queue-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-pool' => {
                'type' => 'scanner-pool',
                'flags' => 0,
                'scope' => [],
            },
            'servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'session-setup-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-teardown-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vscan-status-get-iter' => {
        'category' => 'vscan',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vscan-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vscan-status-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vscan-status-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vscan-status-modify' => {
        'category' => 'vscan',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-vscan-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-add-aggregates' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 2,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-add-protocols' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'protocols' => {
                'type' => 'protocol',
                'flags' => 2,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-config-diff-get' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'config-diff-info',
                'flags' => 5,
                'scope' => [],
            },
            'destination-vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'instance' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'keys' => {
                'type' => 'key-value-pair',
                'flags' => 2,
                'scope' => [],
            },
            'object' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'config-diff-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-config-diff-get-iter' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'config-diff-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'config-diff-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'config-diff-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-create' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'antivirus-on-access-policy' => {
                'type' => 'antivirus-policy',
                'flags' => 4,
                'scope' => [],
            },
            'caching-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-repository-vserver' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'language' => {
                'type' => 'language-code',
                'flags' => 4,
                'scope' => [],
            },
            'name-mapping-switch' => {
                'type' => 'nmswitch',
                'flags' => 6,
                'scope' => [],
            },
            'name-server-switch' => {
                'type' => 'nsswitch',
                'flags' => 6,
                'scope' => [],
            },
            'quota-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume-aggregate' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume-security-style' => {
                'type' => 'security-style-enum',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-policy' => {
                'type' => 'snapshot-policy',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver-subtype' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'vserver-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'vserver-create-async' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'antivirus-on-access-policy' => {
                'type' => 'antivirus-policy',
                'flags' => 4,
                'scope' => [],
            },
            'caching-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-repository-vserver' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'language' => {
                'type' => 'language-code',
                'flags' => 4,
                'scope' => [],
            },
            'name-mapping-switch' => {
                'type' => 'nmswitch',
                'flags' => 6,
                'scope' => [],
            },
            'name-server-switch' => {
                'type' => 'nsswitch',
                'flags' => 6,
                'scope' => [],
            },
            'quota-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume-aggregate' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume-security-style' => {
                'type' => 'security-style-enum',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-policy' => {
                'type' => 'snapshot-policy',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver-subtype' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'vserver-info',
                'flags' => 5,
                'scope' => [],
            },
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-data-policy-export' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
            'data-policy-expression' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-data-policy-import' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'data-policy-expression' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-data-policy-validation-get-error' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'expression' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-destroy' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-destroy-async' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-get' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-get-iter' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-login-banner-get' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-login-banner-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-login-banner-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-login-banner-get-iter' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-login-banner-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-login-banner-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-login-banner-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-login-banner-modify' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-login-banner-modify-iter' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-login-banner-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'vserver-login-banner-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'vserver-login-banner-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'vserver-modify' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'allowed-protocols' => {
                'type' => 'protocol',
                'flags' => 6,
                'scope' => [],
            },
            'antivirus-on-access-policy' => {
                'type' => 'antivirus-policy',
                'flags' => 4,
                'scope' => [],
            },
            'caching-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disallowed-protocols' => {
                'type' => 'protocol',
                'flags' => 6,
                'scope' => [],
            },
            'language' => {
                'type' => 'language-code',
                'flags' => 4,
                'scope' => [],
            },
            'max-volumes' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name-mapping-switch' => {
                'type' => 'nmswitch',
                'flags' => 6,
                'scope' => [],
            },
            'name-server-switch' => {
                'type' => 'nsswitch',
                'flags' => 6,
                'scope' => [],
            },
            'qos-policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'quota-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-policy' => {
                'type' => 'snapshot-policy',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'vsadminstate',
                'flags' => 4,
                'scope' => [],
            },
            'volume-delete-retention-hours' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-modify-iter' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'attributes' => {
                'type' => 'vserver-info',
                'flags' => 1,
                'scope' => [],
            },
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'vserver-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'vserver-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'vserver-motd-get' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-motd-info',
                'flags' => 5,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-motd-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-motd-get-iter' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-motd-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-motd-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-motd-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-motd-modify' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'is-cluster-message-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-motd-modify-iter' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-cluster-message-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-motd-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'vserver-motd-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'vserver-motd-modify-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'vserver-remove-aggregates' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 2,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-remove-protocols' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'protocols' => {
                'type' => 'protocol',
                'flags' => 2,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-rename' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-rename-async' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-san-purge' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
        },
    },
    'vserver-san-purge-verify' => {
        'category' => 'vserver',
        'family' => ['ontap-vserver'],
        'inputs' => {
        },
        'outputs' => {
            'status' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-show-aggr-get-iter' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'show-aggregates',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'show-aggregates',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'show-aggregates',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-start' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-stop' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-unlock' => {
        'category' => 'vserver',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-migrate-cleanup' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-migrate-cutover' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-migrate-get' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-migrate-info',
                'flags' => 5,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-migrate-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-migrate-get-iter' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-migrate-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-migrate-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-migrate-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-migrate-pause' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-migrate-resume' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'auto-cutover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-ready-max-transfer-time-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-performance-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-migrate-start' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'auto-cutover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'check-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-ready-max-transfer-time-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'skip-performance-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'cluster-name-simple',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-migrate-volume-get' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-migrate-volume-info',
                'flags' => 5,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-migrate-volume-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-migrate-volume-get-iter' => {
        'category' => 'vserver-migrate',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-migrate-volume-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-migrate-volume-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-migrate-volume-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-peer-accept' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'local-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-check-peer-table' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'send-ems' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-create' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'applications' => {
                'type' => 'vserver-peer-application',
                'flags' => 2,
                'scope' => [],
            },
            'local-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-delete' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-get' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-peer-info',
                'flags' => 5,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-peer-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-peer-get-iter' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-peer-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-peer-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-peer-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-peer-modify' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'applications' => {
                'type' => 'vserver-peer-application',
                'flags' => 2,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-modify-local-name' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'new-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'peer-cluster' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-permission-create' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'applications' => {
                'type' => 'vserver-peer-permission-application',
                'flags' => 2,
                'scope' => [],
            },
            'peer-cluster' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-permission-delete' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'peer-cluster' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-permission-get' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-peer-permission-info',
                'flags' => 5,
                'scope' => [],
            },
            'peer-cluster' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-peer-permission-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-peer-permission-get-iter' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-peer-permission-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-peer-permission-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-peer-permission-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-peer-reject' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-repair-peer-name' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'vserver-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-resume' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-suspend' => {
        'category' => 'vserver-peer',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-transition-create' => {
        'category' => 'vserver-peer-transition',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'local-lifs' => {
                'type' => 'lif-name',
                'flags' => 6,
                'scope' => [],
            },
            'local-vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
            'multi-path-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'return-record' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'src-filer-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'result' => {
                'type' => 'vserver-peer-transition-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'vserver-peer-transition-destroy' => {
        'category' => 'vserver-peer-transition',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'local-vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
            'src-filer-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'vserver-peer-transition-destroy-iter' => {
        'category' => 'vserver-peer-transition',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'continue-on-failure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-peer-transition-info',
                'flags' => 1,
                'scope' => [],
            },
            'return-failure-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'return-success-list' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'failure-list' => {
                'type' => 'vserver-peer-transition-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-list' => {
                'type' => 'vserver-peer-transition-destroy-iter-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'vserver-peer-transition-get' => {
        'category' => 'vserver-peer-transition',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-peer-transition-info',
                'flags' => 5,
                'scope' => [],
            },
            'local-vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
            'src-filer-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes' => {
                'type' => 'vserver-peer-transition-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-peer-transition-get-iter' => {
        'category' => 'vserver-peer-transition',
        'family' => ['ontap-cluster', 'ontap-vserver'],
        'inputs' => {
            'desired-attributes' => {
                'type' => 'vserver-peer-transition-info',
                'flags' => 5,
                'scope' => [],
            },
            'max-records' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'vserver-peer-transition-info',
                'flags' => 5,
                'scope' => [],
            },
            'tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
        'outputs' => {
            'attributes-list' => {
                'type' => 'vserver-peer-transition-info',
                'flags' => 7,
                'scope' => [],
            },
            'next-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-records' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'vserver-peer-transition-modify' => {
        'category' => 'vserver-peer-transition',
        'family' => ['ontap-cluster'],
        'inputs' => {
            'local-lifs' => {
                'type' => 'lif-name',
                'flags' => 6,
                'scope' => [],
            },
            'local-vserver' => {
                'type' => 'vserver-name',
                'flags' => 0,
                'scope' => [],
            },
            'multi-path-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'src-filer-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
        'outputs' => {
        },
    },
    'wafl-get-sync-status' => {
        'category' => 'wafl',
        'family' => ['ontap-d', 'ontap-vserver'],
        'inputs' => {
            'sync-handle' => {
                'type' => 'wafl-sync-handle',
                'flags' => 1,
                'scope' => [],
            },
        },
        'outputs' => {
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'wafl-sync' => {
        'category' => 'wafl',
        'family' => ['ontap-c', 'ontap-d', 'ontap-vserver', 'vfiler'],
        'inputs' => {
            'volumes' => {
                'type' => 'volume-name',
                'flags' => 6,
                'scope' => ['ontap-c', 'ontap-vserver', 'vfiler'],
            },
        },
        'outputs' => {
            'handles' => {
                'type' => 'wafl-sync-handle',
                'flags' => 7,
                'scope' => ['ontap-d', 'ontap-vserver'],
            },
        },
    },
};

my $TYPEDEFS = {
    'active-directory-account-config' => {
        'category' => 'active-directory',
        'fields' => {
            'account-name' => {
                'type' => 'netbios-name',
                'flags' => 4,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'domain-workgroup' => {
                'type' => 'domain-name',
                'flags' => 4,
                'scope' => [],
            },
            'organizational-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'domain-name' => {
        'category' => 'active-directory',
        'fields' => {
        },
    },
    'netbios-name' => {
        'category' => 'active-directory',
        'fields' => {
        },
    },
    'aggr-64bit-upgrade-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-check-attributes' => {
                'type' => 'aggr-check-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-start-attributes' => {
                'type' => 'aggr-start-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-status-attributes' => {
                'type' => 'aggr-status-attributes',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'aggr-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-64bit-upgrade-attributes' => {
                'type' => 'aggr-64bit-upgrade-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-fs-attributes' => {
                'type' => 'aggr-fs-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-inode-attributes' => {
                'type' => 'aggr-inode-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-ownership-attributes' => {
                'type' => 'aggr-ownership-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-performance-attributes' => {
                'type' => 'aggr-performance-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-raid-attributes' => {
                'type' => 'aggr-raid-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-snaplock-attributes' => {
                'type' => 'aggr-snaplock-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-snapmirror-attributes' => {
                'type' => 'aggr-snapmirror-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-snapshot-attributes' => {
                'type' => 'aggr-snapshot-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-space-attributes' => {
                'type' => 'aggr-space-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-striping-attributes' => {
                'type' => 'aggr-striping-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-volume-count-attributes' => {
                'type' => 'aggr-volume-count-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-wafliron-attributes' => {
                'type' => 'aggr-wafliron-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'aggregate-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'autobalance-available-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'autobalance-state' => {
                'type' => 'autobalance-aggregate-state',
                'flags' => 4,
                'scope' => [],
            },
            'autobalance-state-change-counter' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'autobalance-unbalanced-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'excluded-from-autobalance' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-autobalance-eligible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-cft-precommit' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-object-store-attach-eligible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-transition-out-of-space' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'striping-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-autobalance-aggregate-state' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'autobalance-threshold' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'incoming-volume-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'is-balanceable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-considered-for-balance' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-hybrid' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'outgoing-volume-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'raidtype' => {
                'type' => 'raid-type',
                'flags' => 4,
                'scope' => [],
            },
            'total-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'used-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-autobalance-config' => {
        'category' => 'aggr',
        'fields' => {
            'available-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'hold-duration-after-move' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'move-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state-polling-interval' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'unbalanced-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-activity-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-inactive-delay-threshold' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-autobalance-notification' => {
        'category' => 'aggr',
        'fields' => {
            'notifying-node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-autobalance-volume-state' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-volume-moving' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-volume-quiesced' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-time-threshold-exceeded' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'last-time-was-placed' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-total-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-check-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'added-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'check-last-errno' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cookie' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-space-estimate-complete' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-disk-info' => {
        'category' => 'aggr',
        'fields' => {
            'copy-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk' => {
                'type' => 'disk-name',
                'flags' => 4,
                'scope' => [],
            },
            'disk-rpm' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'effective-disk-rpm' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'effective-disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-evacuating' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-offline' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-recons-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-replacing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sdc-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sick' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'physical-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'disk-position-type',
                'flags' => 4,
                'scope' => [],
            },
            'reconstruction-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'standard-disk-type' => {
                'type' => 'standarddisktype',
                'flags' => 4,
                'scope' => [],
            },
            'syncmirror-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'usable-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-additional-details-info' => {
        'category' => 'aggr',
        'fields' => {
            'number-of-offline-volumes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'number-of-sis-change-log-disabled-volumes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'number-of-sis-disabled-volumes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-aggr-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-compaction-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-data-reduction-storage-efficiency-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-cumulated-additional-details-info' => {
        'category' => 'aggr',
        'fields' => {
            'number-of-offline-volumes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'number-of-sis-change-log-disabled-volumes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'number-of-sis-disabled-volumes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'number-of-skipped-aggregates' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'skipped-aggregates' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-cumulated-aggr-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-data-reduction-storage-efficiency-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-cumulated-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-efficiency-cumulated-additional-details-info' => {
                'type' => 'aggr-efficiency-cumulated-additional-details-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-efficiency-cumulated-aggr-info' => {
                'type' => 'aggr-efficiency-cumulated-aggr-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-efficiency-cumulated-snapshot-and-flexclone-info' => {
                'type' => 'aggr-efficiency-cumulated-snapshot-and-flexclone-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-efficiency-cumulated-volume-info' => {
                'type' => 'aggr-efficiency-cumulated-volume-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-efficiency-total-cumulated-info' => {
                'type' => 'aggr-efficiency-total-cumulated-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-cumulated-snapshot-and-flexclone-info' => {
        'category' => 'aggr',
        'fields' => {
            'flexclone-volume-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexclone-volume-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-flexclone-volume-data-reduction-storage-efficiency-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-cumulated-volume-info' => {
        'category' => 'aggr',
        'fields' => {
            'volume-compression-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-data-reduction-storage-efficiency-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-dedupe-zero-pattern-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-cumulative-info' => {
        'category' => 'aggr',
        'fields' => {
            'total-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-storage-efficiency-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-efficiency-additional-details-info' => {
                'type' => 'aggr-efficiency-additional-details-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-efficiency-aggr-info' => {
                'type' => 'aggr-efficiency-aggr-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-efficiency-cumulative-info' => {
                'type' => 'aggr-efficiency-cumulative-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-efficiency-snapshot-and-flexclone-volume-info' => {
                'type' => 'aggr-efficiency-snapshot-and-flexclone-volume-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggr-efficiency-volume-info' => {
                'type' => 'aggr-efficiency-volume-info',
                'flags' => 5,
                'scope' => [],
            },
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-snapshot-and-flexclone-volume-info' => {
        'category' => 'aggr',
        'fields' => {
            'flexclone-volume-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexclone-volume-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-flexclone-volume-data-reduction-storage-efficiency-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-total-cumulated-info' => {
        'category' => 'aggr',
        'fields' => {
            'total-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-storage-efficiency-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-efficiency-volume-info' => {
        'category' => 'aggr',
        'fields' => {
            'volume-compression-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-data-reduction-storage-efficiency-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-efficiency-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-logical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-vbn-zero-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-fs-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'block-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-inode-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'files-private-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'files-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'files-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodefile-private-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodefile-public-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inofile-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maxfiles-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maxfiles-possible' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maxfiles-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percent-inode-used-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-object-store-config-info' => {
        'category' => 'aggr',
        'fields' => {
            'access-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'license-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'provider-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            's3-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ssl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'used-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-option-info' => {
        'category' => 'aggr',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'aggr-ownership-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-home-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dr-home-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'home-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'owner-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-performance-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'free-space-realloc' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-write-alloc-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'single-instance-data-logging' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-plex-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-raidgroup-list' => {
                'type' => 'aggr-raidgroup-info',
                'flags' => 7,
                'scope' => [],
            },
            'plex-is-online' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'plex-is-resyncing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'plex-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'plex-pool' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'plex-resync-level' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'plex-resync-pct-with-precision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'plex-resync-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'plex-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-raid-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cache-raid-group-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'checksum-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checksum-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'encryption-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ha-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'has-local-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'has-partner-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-checksum-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-composite' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-encrypted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-hybrid' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-hybrid-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-inconsistent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-mirrored' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-root-aggregate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mirror-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mount-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'plex-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'plexes' => {
                'type' => 'plex-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'raid-lost-write-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'raid-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'raid-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'raid-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uses-shared-disks' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-raidgroup-entity-info' => {
        'category' => 'aggr',
        'fields' => {
            'is-rg-recomputing-parity' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rg-reconstructing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-scrub-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'raidgroup' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rg-cksumstyle' => {
                'type' => 'checksum-style',
                'flags' => 4,
                'scope' => [],
            },
            'rg-raidtype' => {
                'type' => 'raid-type',
                'flags' => 4,
                'scope' => [],
            },
            'rg-recons-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rg-reparity-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rg-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'scrub-percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-raidgroup-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-disk-list' => {
                'type' => 'aggr-disk-info',
                'flags' => 7,
                'scope' => [],
            },
            'aggr-raidgroup-entity-list' => {
                'type' => 'aggr-raidgroup-entity-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-relocation-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relocation-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-resync-options-info' => {
        'category' => 'aggr',
        'fields' => {
            'max-concurrent-resyncs-allowed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-snaplock-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'is-snaplock' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snaplock-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-snapmirror-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'dp-snapmirror-destinations' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ls-snapmirror-destinations' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mv-snapmirror-destinations' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-snapshot-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'files-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'files-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inofile-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-snapshot-auto-create-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-snapshot-auto-delete-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'maxfiles-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maxfiles-possible' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maxfiles-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percent-inode-used-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percent-used-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-space-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate-metadata' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'capacity-tier-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-compacted-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-compaction-space-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-compaction-space-saved-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'hybrid-cache-size-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percent-used-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sis-shared-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sis-space-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sis-space-saved-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-reserved-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'used-including-snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-footprints' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-spare-disk-info' => {
        'category' => 'aggr',
        'fields' => {
            'checksum-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-rpm' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'effective-disk-rpm' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'effective-disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-disk-left-behind' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-disk-shared' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-disk-zeroed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-disk-zeroing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sparecore' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'local-usable-data-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-usable-data-size-blks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-usable-data1-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-usable-data1-size-blks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-usable-data2-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-usable-data2-size-blks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-usable-root-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-usable-root-size-blks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'original-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'standard-disk-type' => {
                'type' => 'standarddisktype',
                'flags' => 4,
                'scope' => [],
            },
            'syncmirror-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'total-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'usable-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'usable-size-blks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'zeroing-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-start-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'min-space-for-upgrade' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'start-last-errno' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-status-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'is-64-bit-upgrade-in-progress' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-status-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggr-cksumstyle' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-plex-list' => {
                'type' => 'aggr-plex-info',
                'flags' => 7,
                'scope' => [],
            },
            'aggr-raid-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-raid-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-wafl-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-mirror-verifying' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mirror-verification-pct-with-precision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mirror-verification-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-striping-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'member-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-volume-count-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'flexvol-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'flexvol-count-collective' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexvol-count-not-online' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexvol-count-quiesced' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexvol-count-striped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-wafliron-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'last-start-errno' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-start-error-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'scan-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'summary-scan-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggregate-simulate-layout-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate-capacity' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'checksum-types' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'disk-positions' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'disk-sizes' => {
                'type' => 'size',
                'flags' => 6,
                'scope' => [],
            },
            'disk-types' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'disks' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'raid-types' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'raidgroups' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'autobalance-aggregate-state' => {
        'category' => 'aggr',
        'fields' => {
        },
    },
    'checksum-style' => {
        'category' => 'aggr',
        'fields' => {
        },
    },
    'default-raidtype-config-info' => {
        'category' => 'aggr',
        'fields' => {
            'default-raid-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-disk-capacity' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-disk-capacity' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-info' => {
        'category' => 'aggr',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vbn-end' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vbn-start' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-position-type' => {
        'category' => 'aggr',
        'fields' => {
        },
    },
    'min-aggr-disk-count-info' => {
        'category' => 'aggr',
        'fields' => {
            'minimum-disk-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'raid-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'modify-raid-type-simulate-info' => {
        'category' => 'aggr',
        'fields' => {
            'warning-codes' => {
                'type' => 'warning-code',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'object-store-information' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'bin-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'license-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-availability' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'provider-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'used-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'object-store-vol-btuuids-info' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'bin-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'buftree-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vol-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'plex-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'is-online' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-resyncing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'plex-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'plex-resync-pct-with-precision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'plex-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pool' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'raidgroups' => {
                'type' => 'raidgroup-attributes',
                'flags' => 7,
                'scope' => [],
            },
            'resync-level' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'resyncing-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'raid-type' => {
        'category' => 'aggr',
        'fields' => {
        },
    },
    'raidgroup-attributes' => {
        'category' => 'aggr',
        'fields' => {
            'checksum-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-cache-tier' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-recomputing-parity' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-reconstructing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'raidgroup-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'recomputing-parity-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'reconstruction-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'space-information' => {
        'category' => 'aggr',
        'fields' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate-metadata' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate-metadata-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-metadata' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-metadata-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-physical-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-referenced-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-referenced-capacity-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-unreclaimed-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object-store-unreclaimed-space-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percent-snapshot-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snap-size-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve-unusable' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve-unusable-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tier-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'used-including-snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'used-including-snapshot-reserve-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-footprints' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-footprints-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'striping-type' => {
        'category' => 'aggr',
        'fields' => {
        },
    },
    'time-interval' => {
        'category' => 'aggr',
        'fields' => {
        },
    },
    'verify-detail-info' => {
        'category' => 'aggr',
        'fields' => {
            'is-suspended' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'pct-with-precision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'warning-code' => {
        'category' => 'aggr',
        'fields' => {
            'code' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'antivirus-policy' => {
        'category' => 'antivirus',
        'fields' => {
        },
    },
    'av-engine-option' => {
        'category' => 'antivirus',
        'fields' => {
            'cache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompressed-file-count-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompressed-file-size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompression-layers-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompression-size-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'group-archive-unpack' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'heuristic-analysis' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-spyware-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'macro-analysis' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mark-files-greater-than-2gb-clean' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-recursion-depth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mime-lines-to-scan' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-host' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-login' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scan-mime' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'av-event-info' => {
        'category' => 'antivirus',
        'fields' => {
            'datetime' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vendor-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vendor-string' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'protocol' => {
        'category' => 'antivirus',
        'fields' => {
        },
    },
    'aggregatetype' => {
        'category' => 'application',
        'fields' => {
        },
    },
    'cifs-share-name' => {
        'category' => 'application',
        'fields' => {
        },
    },
    'export-policy-name' => {
        'category' => 'application',
        'fields' => {
        },
    },
    'job-state' => {
        'category' => 'application',
        'fields' => {
        },
    },
    'junction-path' => {
        'category' => 'application',
        'fields' => {
        },
    },
    'lun-path' => {
        'category' => 'application',
        'fields' => {
        },
    },
    'snapshot-id' => {
        'category' => 'application',
        'fields' => {
        },
    },
    'audit-info' => {
        'category' => 'audit',
        'fields' => {
            'cli-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cli-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ontapi-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ontapi-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-get' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'audit-log-info' => {
        'category' => 'audit',
        'fields' => {
            'entry' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'seq' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aod-download' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'aod-download-status' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'asup-check-status' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'asup-content-type' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'asup-destination' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'asup-invoke-style' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'asup-manifest-status' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'asup-status' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'asup-subsystems' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'asup-transport' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'autosupport-budget-info' => {
        'category' => 'autosupport',
        'fields' => {
            'def-diagnostic-size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'def-diagnostic-time-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'def-size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'def-time-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'diagnostic-size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'diagnostic-time-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'asup-subsystems',
                'flags' => 4,
                'scope' => [],
            },
            'time-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-check-info' => {
        'category' => 'autosupport',
        'fields' => {
            'check-category' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'check-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'corrective-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-detail' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'asup-check-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-cmd-tgt' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'autosupport-compliant-info' => {
        'category' => 'autosupport',
        'fields' => {
            'hash' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-used-sequence' => {
                'type' => 'seqnum',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'plaintext' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-config-info' => {
        'category' => 'autosupport',
        'fields' => {
            'from' => {
                'type' => 'mail-address',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-local-collection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nht-data-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-in-subject' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ondemand-download-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ondemand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ondemand-remote-diag-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-perf-data-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-private-data-removed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-reminder-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-support-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-throttle-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-subject' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-trigger' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mail-hosts' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'max-download-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-http-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-smtp-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-upload-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-private-data-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'noteto' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'ondemand-polling-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ondemand-server-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-address' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'payload-format' => {
                'type' => 'compression-format',
                'flags' => 4,
                'scope' => [],
            },
            'periodic-tx-window' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'post-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'put-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'retry-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'retry-interval' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'support-address' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'to' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'transport' => {
                'type' => 'asup-transport',
                'flags' => 4,
                'scope' => [],
            },
            'validate-digital-certificate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-connectivity-check-info' => {
        'category' => 'autosupport',
        'fields' => {
            'aod-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'post-url-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'put-url-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-destinations-info' => {
        'category' => 'autosupport',
        'fields' => {
            'destinations' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-download-info' => {
        'category' => 'autosupport',
        'fields' => {
            'download-type' => {
                'type' => 'aod-download',
                'flags' => 4,
                'scope' => [],
            },
            'error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-modification-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'aod-download-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-history-info' => {
        'category' => 'autosupport',
        'fields' => {
            'attempt-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'decompressed-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'destination' => {
                'type' => 'asup-destination',
                'flags' => 4,
                'scope' => [],
            },
            'generation-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-modification-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'asup-status',
                'flags' => 4,
                'scope' => [],
            },
            'subject' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'time-remaining' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'total-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'trigger' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'upload-rate' => {
                'type' => 'byte-rate',
                'flags' => 4,
                'scope' => [],
            },
            'uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-diagnostic-iter-info' => {
        'category' => 'autosupport',
        'fields' => {
            'autosupport-key' => {
                'type' => 'autosupport-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-iter-info' => {
        'category' => 'autosupport',
        'fields' => {
            'autosupport-key' => {
                'type' => 'autosupport-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-invoke-performance-archive-iter-info' => {
        'category' => 'autosupport',
        'fields' => {
            'autosupport-key' => {
                'type' => 'autosupport-config-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-manifest-info' => {
        'category' => 'autosupport',
        'fields' => {
            'body-file' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cmd' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cmd-tgt' => {
                'type' => 'autosupport-cmd-tgt',
                'flags' => 4,
                'scope' => [],
            },
            'content-type' => {
                'type' => 'asup-content-type',
                'flags' => 4,
                'scope' => [],
            },
            'error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'orig-size-collected' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'prio-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'query' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-collected' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-compressed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'asup-manifest-status',
                'flags' => 4,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'asup-subsystems',
                'flags' => 4,
                'scope' => [],
            },
            'time-collected' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'autosupport-trigger-info' => {
        'category' => 'autosupport',
        'fields' => {
            'additional-content' => {
                'type' => 'asup-content-type',
                'flags' => 6,
                'scope' => [],
            },
            'basic-additional' => {
                'type' => 'asup-subsystems',
                'flags' => 6,
                'scope' => [],
            },
            'basic-default' => {
                'type' => 'asup-subsystems',
                'flags' => 6,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'noteto-enabled' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size-limit' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'time-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'to-enabled' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'trigger' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'troubleshooting-additional' => {
                'type' => 'asup-subsystems',
                'flags' => 6,
                'scope' => [],
            },
            'troubleshooting-default' => {
                'type' => 'asup-subsystems',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'byte-rate' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'compression-format' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'mail-address' => {
        'category' => 'autosupport',
        'fields' => {
        },
    },
    'capability-info' => {
        'category' => 'capability',
        'fields' => {
            'auto-disable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'auto-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'capability' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable-ready' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'howto-downgrade' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'marked-downgrade' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'object-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'obsolete' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'operation-list' => {
                'type' => 'operation-info',
                'flags' => 7,
                'scope' => [],
            },
            'release-debut' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'require-for-boot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'required-on-all-nodes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'uses-enable-ready' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'advanced-options' => {
        'category' => 'cf',
        'fields' => {
            'aggregate-migration-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cifs-ndo-duration' => {
                'type' => 'cifsndoduration',
                'flags' => 4,
                'scope' => [],
            },
            'propagate-mailbox-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'read-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'write-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'advanced-options-modify' => {
        'category' => 'cf',
        'fields' => {
            'aggregate-migration-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cifs-ndo-duration' => {
                'type' => 'cifsndoduration',
                'flags' => 4,
                'scope' => [],
            },
            'propagate-mailbox-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'read-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'write-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cf-aggregate-giveback-info' => {
        'category' => 'cf',
        'fields' => {
            'aggr-giveback-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-giveback-module' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-giveback-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cf-modify-iter-info' => {
        'category' => 'cf',
        'fields' => {
            'cf-key' => {
                'type' => 'options-related-info-modify',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifsndoduration' => {
        'category' => 'cf',
        'fields' => {
        },
    },
    'disk-uid' => {
        'category' => 'cf',
        'fields' => {
        },
    },
    'giveback-options' => {
        'category' => 'cf',
        'fields' => {
            'auto-giveback-after-panic-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'auto-giveback-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'auto-giveback-override-vetoes-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'autogiveback-delay' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'check-partner-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'giveback-attempts-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'giveback-attempts-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'giveback-options-modify' => {
        'category' => 'cf',
        'fields' => {
            'auto-giveback-after-panic-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'auto-giveback-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'auto-giveback-override-vetoes-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'autogiveback-delay' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'check-partner-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'giveback-attempts-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'giveback-attempts-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'giveback-related-info' => {
        'category' => 'cf',
        'fields' => {
            'giveback-failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'giveback-module' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'giveback-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'hamode' => {
        'category' => 'cf',
        'fields' => {
        },
    },
    'hatype' => {
        'category' => 'cf',
        'fields' => {
        },
    },
    'interconnect-related-info' => {
        'category' => 'cf',
        'fields' => {
            'interconnect-links' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interconnect-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-interconnect-up' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'mailbox-io-times-info' => {
        'category' => 'cf',
        'fields' => {
            'normal' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'transition' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'mailbox-state' => {
        'category' => 'cf',
        'fields' => {
        },
    },
    'mailbox-status-info' => {
        'category' => 'cf',
        'fields' => {
            'mailbox-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'node-related-info' => {
        'category' => 'cf',
        'fields' => {
            'current-mode' => {
                'type' => 'hamode',
                'flags' => 4,
                'scope' => [],
            },
            'ha-type' => {
                'type' => 'hatype',
                'flags' => 4,
                'scope' => [],
            },
            'local-firmware-progress' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'local-firmware-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'node-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nvram-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'partner-firmware-progress' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'partner-firmware-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-nvram-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'options-related-info' => {
        'category' => 'cf',
        'fields' => {
            'auto-giveback-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'failover-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ha-mode' => {
                'type' => 'hamode',
                'flags' => 4,
                'scope' => [],
            },
            'sfo-advanced-options-info' => {
                'type' => 'advanced-options',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-giveback-options-info' => {
                'type' => 'giveback-options',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-takeover-options-info' => {
                'type' => 'takeover-options',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'options-related-info-modify' => {
        'category' => 'cf',
        'fields' => {
            'auto-giveback-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'failover-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ha-mode' => {
                'type' => 'hamode',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'sfo-advanced-options-info-modify' => {
                'type' => 'advanced-options-modify',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-giveback-options-info-modify' => {
                'type' => 'giveback-options-modify',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-takeover-options-info-modify' => {
                'type' => 'takeover-options-modify',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'reason-takeover-not-possible' => {
        'category' => 'cf',
        'fields' => {
        },
    },
    'resource-table-info' => {
        'category' => 'cf',
        'fields' => {
            'fail' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'time-delta' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sf-disk-info' => {
        'category' => 'cf',
        'fields' => {
            'disk-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'physical-location' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sf-options-info' => {
        'category' => 'cf',
        'fields' => {
            'aggregate-migration-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bypass-takeover-optimization' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'giveback-auto' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'hwassist-enable' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'hwassist-health-check-interval' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'hwassist-partner-ip' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'hwassist-partner-port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'hwassist-retry-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-status-in-mailbox-disks' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'node-status-in-mailbox-disks-read-interval' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node-status-in-mailbox-disks-write-interval' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'send-home-auto' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'send-home-auto-attempts' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'send-home-auto-attempts-minutes' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'send-home-auto-delay-seconds' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'send-home-check-partner-waiting' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'takeover-detection-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'takeover-on-failure' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'takeover-on-panic' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'takeover-on-reboot' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'takeover-on-short-uptime' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-failover-info' => {
        'category' => 'cf',
        'fields' => {
            'interconnect-up' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-possible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'killpackets' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nvramid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'partner-aggregates' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'partner-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-nvramid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sfo-giveback-info' => {
                'type' => 'giveback-related-info',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-interconnect-info' => {
                'type' => 'interconnect-related-info',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-node-info' => {
                'type' => 'node-related-info',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-options-info' => {
                'type' => 'options-related-info',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-storage-info' => {
                'type' => 'storage-related-info',
                'flags' => 5,
                'scope' => [],
            },
            'sfo-takeover-info' => {
                'type' => 'takeover-related-info',
                'flags' => 5,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'time-until-takeover' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-related-info' => {
        'category' => 'cf',
        'fields' => {
            'local-mailbox-state' => {
                'type' => 'mailbox-state',
                'flags' => 6,
                'scope' => [],
            },
            'local-missing-disks' => {
                'type' => 'disk-uid',
                'flags' => 6,
                'scope' => [],
            },
            'mailbox-disks-local' => {
                'type' => 'disk-uid',
                'flags' => 6,
                'scope' => [],
            },
            'mailbox-disks-partner' => {
                'type' => 'disk-uid',
                'flags' => 6,
                'scope' => [],
            },
            'partner-mailbox-state' => {
                'type' => 'mailbox-state',
                'flags' => 6,
                'scope' => [],
            },
            'partner-missing-disks' => {
                'type' => 'disk-uid',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'takeover-info' => {
        'category' => 'cf',
        'fields' => {
            'reason' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'takeover-options' => {
        'category' => 'cf',
        'fields' => {
            'bypass-takeover-optimization-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'short-uptime-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-detection-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-onfailure-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-onpanic-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-onreboot-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-onshort-uptime-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'takeover-options-modify' => {
        'category' => 'cf',
        'fields' => {
            'bypass-takeover-optimization-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'short-uptime-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-detection-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-onfailure-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-onpanic-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-onreboot-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-onshort-uptime-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'takeover-reason' => {
        'category' => 'cf',
        'fields' => {
        },
    },
    'takeover-related-info' => {
        'category' => 'cf',
        'fields' => {
            'takeover-by-partner-not-possible-reason' => {
                'type' => 'reason-takeover-not-possible',
                'flags' => 6,
                'scope' => [],
            },
            'takeover-by-partner-possible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-module' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-of-partner-not-possible-reason' => {
                'type' => 'reason-takeover-not-possible',
                'flags' => 6,
                'scope' => [],
            },
            'takeover-of-partner-possible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-reason' => {
                'type' => 'takeover-reason',
                'flags' => 4,
                'scope' => [],
            },
            'takeover-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'time-since-takeover' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-until-takeover' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'takeover-status' => {
        'category' => 'cf',
        'fields' => {
            'aggregate-takeover-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-takeover-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'taken-over-aggregate' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'timeout-info' => {
        'category' => 'cf',
        'fields' => {
            'booting' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'connect' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'dumpcore' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'fast' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'firmware' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'mailbox' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'operator' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'reboot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'slow' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'transit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'transit-timer-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-name' => {
        'category' => 'cg',
        'fields' => {
        },
    },
    'anonymous-restriction-level' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'auth-mechanism' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-access-perms' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-auth-style' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-bc-version-control' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-branchcache' => {
        'category' => 'cifs',
        'fields' => {
            'hash-store-max-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'hash-store-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operating-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'server-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'versions' => {
                'type' => 'cifs-bc-version-control',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-ca-protection' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-character-mapping' => {
        'category' => 'cifs',
        'fields' => {
            'mapping' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-connection' => {
        'category' => 'cifs',
        'fields' => {
            'connection-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lif-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'network-context-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
            'workstation-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'workstation-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-dialects' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-domain-discovered-server-funclvl' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-domain-discovered-server-status' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-domain-discovered-server-type' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-domain-discovered-servers' => {
        'category' => 'cifs',
        'fields' => {
            'address' => {
                'type' => 'inet-address',
                'flags' => 4,
                'scope' => [],
            },
            'dc-functional-level' => {
                'type' => 'cifs-domain-discovered-server-funclvl',
                'flags' => 4,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-dc-read-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'prefer-type' => {
                'type' => 'cifs-domain-server-prefer-type',
                'flags' => 4,
                'scope' => [],
            },
            'protocol-version' => {
                'type' => 'cifs-dialects',
                'flags' => 4,
                'scope' => [],
            },
            'server-type' => {
                'type' => 'cifs-domain-discovered-server-type',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'cifs-domain-discovered-server-status',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-domain-name-mapping-search' => {
        'category' => 'cifs',
        'fields' => {
            'trusted-domains' => {
                'type' => 'realm-name',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-domain-password-schedule' => {
        'category' => 'cifs',
        'fields' => {
            'is-schedule-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schedule-day-of-week' => {
                'type' => 'cron-day-of-week',
                'flags' => 4,
                'scope' => [],
            },
            'schedule-randomized-minute' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schedule-time-of-day' => {
                'type' => 'time-of-day',
                'flags' => 4,
                'scope' => [],
            },
            'schedule-weekly-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-domain-preferred-dc' => {
        'category' => 'cifs',
        'fields' => {
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'preferred-dc' => {
                'type' => 'inet-address',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-domain-server-discovery-mode' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-domain-server-discovery-mode-info' => {
        'category' => 'cifs',
        'fields' => {
            'mode' => {
                'type' => 'cifs-domain-server-discovery-mode',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-domain-server-prefer-type' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-domain-trusts' => {
        'category' => 'cifs',
        'fields' => {
            'home-domain' => {
                'type' => 'realm-name',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'trusted-domain' => {
                'type' => 'realm-name',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-file-type' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-filesystem-sector-size' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-home-directory' => {
        'category' => 'cifs',
        'fields' => {
            'is-home-dirs-access-for-admin-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-home-dirs-access-for-public-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-home-directory-search-path' => {
        'category' => 'cifs',
        'fields' => {
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-local-group' => {
        'category' => 'cifs',
        'fields' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-local-group-members' => {
        'category' => 'cifs',
        'fields' => {
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'member' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-local-user' => {
        'category' => 'cifs',
        'fields' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'full-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-account-disabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-local-user-membership' => {
        'category' => 'cifs',
        'fields' => {
            'membership' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-name' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-nbtstat' => {
        'category' => 'cifs',
        'fields' => {
            'nbt-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nbt-name-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nbt-scope' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'netbios-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'netbios-suffix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'registered-addresses' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'registered-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'registration-time-left-minutes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wins-entries' => {
                'type' => 'wins-entry-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'cifs-open-mode' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-options' => {
        'category' => 'cifs',
        'fields' => {
            'client-session-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'default-unix-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-unix-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-system-sector-size' => {
                'type' => 'cifs-filesystem-sector-size',
                'flags' => 4,
                'scope' => [],
            },
            'grant-unix-group-perms-to-others' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'guest-unix-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-admin-users-mapped-to-root-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-advanced-sparse-file-support-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-advertise-dfs-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-client-dup-detection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-client-version-reporting-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-copy-offload-direct-copy-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-copy-offload-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dac-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-exportpolicy-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-fake-open-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-fsctl-file-level-trim-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-hide-dotfiles-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-large-mtu-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-local-auth-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-local-users-and-groups-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-multichannel-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nbns-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-netbios-over-tcp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-path-component-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-path-component-cache-symlink-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-read-only-delete-enabled' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'is-referral-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-search-short-names-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-shadowcopy-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb1-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb2-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb3-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb31-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-trusted-domain-enum-search-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-unix-extensions-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-unix-nt-acl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-use-junctions-as-reparse-points-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-connections-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-file-write-zero-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-lifs-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-mpx' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-opens-same-file-per-tree' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-same-tree-connect-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-same-user-sessions-per-connection' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-watches-set-per-tree' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path-component-cache-entry-exp-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path-component-cache-max-entries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path-component-cache-max-session-token-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path-component-cache-symlink-exp-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-grants-execute' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'restrict-anonymous' => {
                'type' => 'anonymous-restriction-level',
                'flags' => 4,
                'scope' => [],
            },
            'shadowcopy-dir-depth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'smb1-max-buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
            'widelink-as-reparse-point-versions' => {
                'type' => 'cifs-dialects',
                'flags' => 6,
                'scope' => [],
            },
            'win-name-for-null-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wins-servers' => {
                'type' => 'inet-address',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'cifs-privilege' => {
        'category' => 'cifs',
        'fields' => {
            'privileges' => {
                'type' => 'cifs-privilege-entries',
                'flags' => 6,
                'scope' => [],
            },
            'user-or-group-name' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-privilege-entries' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-security' => {
        'category' => 'cifs',
        'fields' => {
            'is-aes-encryption-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-password-complexity-required' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-signing-required' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-smb-encryption-required' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'kerberos-clock-skew' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kerberos-kdc-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kerberos-renew-age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kerberos-ticket-age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lm-compatibility-level' => {
                'type' => 'lm-compatibility-level',
                'flags' => 4,
                'scope' => [],
            },
            'session-security-for-ad-ldap' => {
                'type' => 'ldap-security',
                'flags' => 4,
                'scope' => [],
            },
            'smb1-enabled-for-dc-connections' => {
                'type' => 'system-default-bool',
                'flags' => 4,
                'scope' => [],
            },
            'smb2-enabled-for-dc-connections' => {
                'type' => 'system-default-bool',
                'flags' => 4,
                'scope' => [],
            },
            'use-start-tls-for-ad-ldap' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-server-config' => {
        'category' => 'cifs',
        'fields' => {
            'administrative-status' => {
                'type' => 'service-state',
                'flags' => 4,
                'scope' => [],
            },
            'auth-style' => {
                'type' => 'cifs-auth-style',
                'flags' => 4,
                'scope' => [],
            },
            'cifs-server' => {
                'type' => 'netbios-name',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-site' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'domain-workgroup' => {
                'type' => 'domain-name',
                'flags' => 4,
                'scope' => [],
            },
            'netbios-aliases' => {
                'type' => 'netbios-name',
                'flags' => 6,
                'scope' => [],
            },
            'organizational-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'realm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'workgroup' => {
                'type' => 'netbios-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-session' => {
        'category' => 'cifs',
        'fields' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'auth-mechanism' => {
                'type' => 'auth-mechanism',
                'flags' => 4,
                'scope' => [],
            },
            'connected-time' => {
                'type' => 'elapsed-time',
                'flags' => 4,
                'scope' => [],
            },
            'connection-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'connection-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'continuously-available' => {
                'type' => 'cifs-ca-protection',
                'flags' => 4,
                'scope' => [],
            },
            'files' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'idle-time' => {
                'type' => 'elapsed-time',
                'flags' => 4,
                'scope' => [],
            },
            'is-session-signed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lif-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'netbios-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'other' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'protocol-version' => {
                'type' => 'cifs-dialects',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'shares' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'smb-encryption-status' => {
                'type' => 'smb-encryption',
                'flags' => 4,
                'scope' => [],
            },
            'unix-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'win-unix-creds' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-session-file' => {
        'category' => 'cifs',
        'fields' => {
            'connection-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'connection-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'continuously-available' => {
                'type' => 'cifs-ca-protection',
                'flags' => 4,
                'scope' => [],
            },
            'file-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-type' => {
                'type' => 'cifs-file-type',
                'flags' => 4,
                'scope' => [],
            },
            'hosting-aggregate' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'hosting-volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'open-mode' => {
                'type' => 'cifs-open-mode',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'range-locks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'reconnected' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'share' => {
                'type' => 'cifs-share-name',
                'flags' => 4,
                'scope' => [],
            },
            'share-mode' => {
                'type' => 'cifs-open-mode',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-share' => {
        'category' => 'cifs',
        'fields' => {
            'acl' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'attribute-cache-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cifs-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dir-umask' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-umask' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-group-for-create' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-connections-per-share' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'offline-files-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'share-properties' => {
                'type' => 'cifs-share-properties',
                'flags' => 6,
                'scope' => [],
            },
            'symlink-properties' => {
                'type' => 'cifs-share-symlink-properties',
                'flags' => 6,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vscan-fileop-profile' => {
                'type' => 'vscan-fileop-profile',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-share-access-control' => {
        'category' => 'cifs',
        'fields' => {
            'permission' => {
                'type' => 'cifs-access-perms',
                'flags' => 4,
                'scope' => [],
            },
            'share' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-group-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-or-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
            'winsid' => {
                'type' => 'windows-sid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-share-properties' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-share-symlink-properties' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-symlink' => {
        'category' => 'cifs',
        'fields' => {
            'cifs-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cifs-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-directory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'locality' => {
                'type' => 'cifs-symlink-locality',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-symlink-locality' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'cifs-user-home-directory-path' => {
        'category' => 'cifs',
        'fields' => {
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-users-and-group-local-group-members' => {
        'category' => 'cifs',
        'fields' => {
            'group-name' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'member' => {
                'type' => 'cifs-name',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cifs-users-and-group-local-user-membership' => {
        'category' => 'cifs',
        'fields' => {
            'membership' => {
                'type' => 'cifs-name',
                'flags' => 6,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'cifs-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'elapsed-time' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'ems-message-info' => {
        'category' => 'cifs',
        'fields' => {
            'ems-severity' => {
                'type' => 'emsseverity',
                'flags' => 4,
                'scope' => [],
            },
            'event' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'event-xml-len' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'filter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'kernel-gen' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kernel-seq-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'num-suppressed-since-last' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'parameters' => {
                'type' => 'parameter',
                'flags' => 7,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'eventseverity',
                'flags' => 4,
                'scope' => [],
            },
            'source' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'emsseverity' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'enable' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'eventseverity' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'inet-address' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'ip-address' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'ldap-security' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'lm-compatibility-level' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'realm-name' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'service-state' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'smb-encryption' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'system-default-bool' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'time-of-day' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'vscan-fileop-profile' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'windows-sid' => {
        'category' => 'cifs',
        'fields' => {
        },
    },
    'wins-entry-info' => {
        'category' => 'cifs',
        'fields' => {
            'wins-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'wins-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'block-range' => {
        'category' => 'clone',
        'fields' => {
            'block-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'destination-block-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'source-block-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'clone-autodelete-info' => {
        'category' => 'clone',
        'fields' => {
            'is-autodelete-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'clone-deletion-info' => {
        'category' => 'clone',
        'fields' => {
            'extension-info-list' => {
                'type' => 'extension-info',
                'flags' => 7,
                'scope' => [],
            },
            'minimum-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'clone-split-info' => {
        'category' => 'clone',
        'fields' => {
            'unsplit-clone-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'unsplit-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'clone-split-load-info' => {
        'category' => 'clone',
        'fields' => {
            'available-split-load' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'current-split-load' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'max-split-load' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'token-reserved-load' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'clone-token-info' => {
        'category' => 'clone',
        'fields' => {
            'expiry-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'reservation-duration-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'reservation-duration-remaining' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'reserve-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'time-left' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'token-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'extension-info' => {
        'category' => 'clone',
        'fields' => {
            'extensions' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-contact' => {
        'category' => 'cluster',
        'fields' => {
            'address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'business-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'city' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'country' => {
                'type' => 'country-code',
                'flags' => 4,
                'scope' => [],
            },
            'primary-alt-phone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'primary-email' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'primary-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'primary-phone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-alt-phone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-email' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-phone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'zip-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-create-join-progress-info' => {
        'category' => 'cluster',
        'fields' => {
            'current-status-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-complete' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'cluster-op-enum-result',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-identity-info' => {
        'category' => 'cluster',
        'fields' => {
            'cluster-contact' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'cluster-name-simple',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-serial-number' => {
                'type' => 'cluster-serial-number',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'rdb-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-log-forward-info' => {
        'category' => 'cluster',
        'fields' => {
            'destination' => {
                'type' => 'remote-inet-address',
                'flags' => 4,
                'scope' => [],
            },
            'facility' => {
                'type' => 'syslog-facility',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'log-fwd-proto',
                'flags' => 4,
                'scope' => [],
            },
            'verify-server' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-log-forward-statistics' => {
        'category' => 'cluster',
        'fields' => {
            'destination' => {
                'type' => 'remote-inet-address',
                'flags' => 4,
                'scope' => [],
            },
            'dropped-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'facility' => {
                'type' => 'syslog-facility',
                'flags' => 4,
                'scope' => [],
            },
            'failure-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-success-time' => {
                'type' => 'datetimewithtz',
                'flags' => 4,
                'scope' => [],
            },
            'log' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'queue-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'success-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-tx-failures' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-name-simple' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'cluster-node-info' => {
        'category' => 'cluster',
        'fields' => {
            'is-node-eligible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-epsilon' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-healthy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'node-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-op-enum-result' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'cluster-serial-number' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'country-code' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'datetimewithtz' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'log-fwd-proto' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'remote-inet-address' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'syslog-facility' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'vserverid' => {
        'category' => 'cluster',
        'fields' => {
        },
    },
    'zoneinfo-info' => {
        'category' => 'cluster',
        'fields' => {
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-image-download-status' => {
        'category' => 'cluster-image',
        'fields' => {
        },
    },
    'cluster-image-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'current-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'date-installed' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'node-id' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-image-ndu-phase-list-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'duration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ndu-phase' => {
                'type' => 'non-disruptive-update-phase',
                'flags' => 4,
                'scope' => [],
            },
            'phase-comments' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'phase-status' => {
                'type' => 'non-disruptive-update-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-image-package-local-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'package-build-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'package-details' => {
                'type' => 'package-details-info',
                'flags' => 7,
                'scope' => [],
            },
            'package-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-image-validation-report-list-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'ndu-check' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ndu-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'required-action' => {
                'type' => 'required-action-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'cluster-update-history-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'completion-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'component-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'component-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'package-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'previous-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'update-status' => {
                'type' => 'non-disruptive-update-history-status',
                'flags' => 4,
                'scope' => [],
            },
            'updated-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-update-transaction-log-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'component-id' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'detailed-transaction-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start-date-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'transaction-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'transaction-name' => {
                'type' => 'non-disruptive-update-task-name',
                'flags' => 4,
                'scope' => [],
            },
            'transaction-phase' => {
                'type' => 'non-disruptive-update-phase',
                'flags' => 4,
                'scope' => [],
            },
            'transaction-status' => {
                'type' => 'non-disruptive-update-log-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ndu-node-update-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'node-elapsed-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'node-status' => {
                'type' => 'non-disruptive-update-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ndu-progress-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'completed-node-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'intermediate-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-two-stage-upgrade' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-validation-done-by-update' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ndu-node-update-list' => {
                'type' => 'ndu-node-update-info',
                'flags' => 7,
                'scope' => [],
            },
            'node-estimated-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overall-elapsed-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overall-estimated-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overall-status' => {
                'type' => 'non-disruptive-update-status',
                'flags' => 4,
                'scope' => [],
            },
            'package-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'paused-node-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phase-comments' => {
                'type' => 'phase-comment-info',
                'flags' => 5,
                'scope' => [],
            },
            'source-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'total-node-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'upgrade-stage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'node-update-progress-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-update-task-info-list' => {
                'type' => 'node-update-task-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'node-update-task-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'task-comments' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'task-end-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'task-name' => {
                'type' => 'non-disruptive-update-task-name',
                'flags' => 4,
                'scope' => [],
            },
            'task-start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'task-status' => {
                'type' => 'non-disruptive-update-task-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'non-disruptive-update-history-status' => {
        'category' => 'cluster-image',
        'fields' => {
        },
    },
    'non-disruptive-update-log-status' => {
        'category' => 'cluster-image',
        'fields' => {
        },
    },
    'non-disruptive-update-pause-after' => {
        'category' => 'cluster-image',
        'fields' => {
        },
    },
    'non-disruptive-update-phase' => {
        'category' => 'cluster-image',
        'fields' => {
        },
    },
    'non-disruptive-update-status' => {
        'category' => 'cluster-image',
        'fields' => {
        },
    },
    'non-disruptive-update-task-name' => {
        'category' => 'cluster-image',
        'fields' => {
        },
    },
    'non-disruptive-update-task-status' => {
        'category' => 'cluster-image',
        'fields' => {
        },
    },
    'package-details-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'component-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'component-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'phase-comment-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'post-update-checks-phase-comments' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'update-phase-comments' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'validation-phase-comments' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'phase-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'phase-detail' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'phase-head' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'phase-notes' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'step-info-list' => {
                'type' => 'step-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'required-action-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'advice' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'step-info' => {
        'category' => 'cluster-image',
        'fields' => {
            'step-command' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'step-detail' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'step-example' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'step-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'step-notes' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-peer-address-family' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'cluster-peer-auth-status-admin' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'cluster-peer-auth-status-operational' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'cluster-peer-authn-offer' => {
        'category' => 'cluster-peer',
        'fields' => {
            'auth-status-admin' => {
                'type' => 'cluster-peer-auth-status-admin',
                'flags' => 4,
                'scope' => [],
            },
            'auth-status-operational' => {
                'type' => 'cluster-peer-auth-status-operational',
                'flags' => 4,
                'scope' => [],
            },
            'initial-allowed-vserver-peers' => {
                'type' => 'vserver-name',
                'flags' => 6,
                'scope' => [],
            },
            'offer-creation' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'offer-expiration' => {
                'type' => 'expiration',
                'flags' => 4,
                'scope' => [],
            },
            'peer-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-cluster-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-peer-avail' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'cluster-peer-connection-type' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'cluster-peer-connections' => {
        'category' => 'cluster-peer',
        'fields' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'auth-status-admin' => {
                'type' => 'cluster-peer-auth-status-admin',
                'flags' => 4,
                'scope' => [],
            },
            'auth-status-operational' => {
                'type' => 'cluster-peer-auth-status-operational',
                'flags' => 4,
                'scope' => [],
            },
            'authenticated' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'connection-type' => {
                'type' => 'cluster-peer-connection-type',
                'flags' => 4,
                'scope' => [],
            },
            'encrypted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'file-descriptor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'idle-time' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'peer-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-cluster-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rpc-procedure' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rpc-program' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rpc-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'uniquifier' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-peer-health-info' => {
        'category' => 'cluster-peer',
        'fields' => {
            'bypass-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'data-ping' => {
                'type' => 'peer-ping-status',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-node' => {
                'type' => 'peer-node-name',
                'flags' => 4,
                'scope' => [],
            },
            'icmp-ping' => {
                'type' => 'peer-ping-status',
                'flags' => 4,
                'scope' => [],
            },
            'is-cluster-healthy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-destination-node-available' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-healthy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-updated' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'originating-node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-peer-info' => {
        'category' => 'cluster-peer',
        'fields' => {
            'active-addresses' => {
                'type' => 'remote-inet-address',
                'flags' => 6,
                'scope' => [],
            },
            'address-family' => {
                'type' => 'cluster-peer-address-family',
                'flags' => 4,
                'scope' => [],
            },
            'auth-status-admin' => {
                'type' => 'cluster-peer-auth-status-admin',
                'flags' => 4,
                'scope' => [],
            },
            'auth-status-operational' => {
                'type' => 'cluster-peer-auth-status-operational',
                'flags' => 4,
                'scope' => [],
            },
            'availability' => {
                'type' => 'cluster-peer-avail',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'encrypt' => {
                'type' => 'csm-encr-flags',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-cluster-healthy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-updated' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'peer-addresses' => {
                'type' => 'remote-inet-address',
                'flags' => 6,
                'scope' => [],
            },
            'remote-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-cluster-nodes' => {
                'type' => 'peer-node-name',
                'flags' => 6,
                'scope' => [],
            },
            'rpc-connect-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'cluster-serial-number',
                'flags' => 4,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'unreachable-local-nodes' => {
                'type' => 'peer-node-name',
                'flags' => 6,
                'scope' => [],
            },
            'update-ping-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-peer-passphrase-info' => {
        'category' => 'cluster-peer',
        'fields' => {
            'cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'remote-inet-address',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'offer-expiration' => {
                'type' => 'expiration',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-peer-ping-info' => {
        'category' => 'cluster-peer',
        'fields' => {
            'count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'current-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'destination-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'originating-node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'ping-status' => {
                'type' => 'peer-ping-status',
                'flags' => 4,
                'scope' => [],
            },
            'round-trip' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'peer-ping-protocol',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cluster-peer-policy' => {
        'category' => 'cluster-peer',
        'fields' => {
            'is-unauthenticated-access-permitted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'passphrase-minimum-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'csm-encr-flags' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'expiration' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'peer-node-name' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'peer-ping-protocol' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'peer-ping-status' => {
        'category' => 'cluster-peer',
        'fields' => {
        },
    },
    'backup-type' => {
        'category' => 'config-backup',
        'fields' => {
        },
    },
    'config-backup-info-type' => {
        'category' => 'config-backup',
        'fields' => {
            'backup-creation-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'backup-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'backup-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'backup-type' => {
                'type' => 'backup-type',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-auto' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nodes-in-backup' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'config-backup-settings-type' => {
        'category' => 'config-backup',
        'fields' => {
            'backup-count1' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'backup-count2' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'backup-count3' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'destination-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule1' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule2' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule3' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'username-for-destination-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'alarm-state' => {
        'category' => 'dashboard',
        'fields' => {
        },
    },
    'dashboard-alarm-info' => {
        'category' => 'dashboard',
        'fields' => {
            'dashboard-metric-type' => {
                'type' => 'dashboard-metric-type',
                'flags' => 4,
                'scope' => [],
            },
            'high-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'object-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'alarm-state',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'dashboard-alarm-threshold-info' => {
        'category' => 'dashboard',
        'fields' => {
            'critical-threshold' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dashboard-metric-type' => {
                'type' => 'dashboard-metric-type',
                'flags' => 4,
                'scope' => [],
            },
            'is-user-notification-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'polling-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'threshold-units' => {
                'type' => 'threshold-unit',
                'flags' => 4,
                'scope' => [],
            },
            'warning-threshold' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'dashboard-metric-type' => {
        'category' => 'dashboard',
        'fields' => {
        },
    },
    'threshold-unit' => {
        'category' => 'dashboard',
        'fields' => {
        },
    },
    'date' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'diagnosis-alert-definition-info' => {
        'category' => 'diagnosis',
        'fields' => {
            'additional-information' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'alert-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'alert-type' => {
                'type' => 'hm-alert-type',
                'flags' => 4,
                'scope' => [],
            },
            'corrective-actions' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'perceived-severity' => {
                'type' => 'hm-perceived-sev',
                'flags' => 4,
                'scope' => [],
            },
            'possible-effect' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'probable-cause' => {
                'type' => 'hm-probable-cause',
                'flags' => 4,
                'scope' => [],
            },
            'probable-cause-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'hm-subsystem',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'diagnosis-alert-info' => {
        'category' => 'diagnosis',
        'fields' => {
            'acknowledge' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'acknowledger' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'additional-info' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'alert-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'alerting-resource' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'alerting-resource-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'corrective-actions' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'indication-time' => {
                'type' => 'date',
                'flags' => 4,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'perceived-severity' => {
                'type' => 'hm-perceived-sev',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'possible-effect' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'probable-cause' => {
                'type' => 'hm-probable-cause',
                'flags' => 4,
                'scope' => [],
            },
            'probable-cause-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'hm-subsystem',
                'flags' => 4,
                'scope' => [],
            },
            'suppress' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'suppressor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'diagnosis-config-info' => {
        'category' => 'diagnosis',
        'fields' => {
            'aggregator' => {
                'type' => 'hm-type',
                'flags' => 4,
                'scope' => [],
            },
            'context' => {
                'type' => 'hm-scope',
                'flags' => 4,
                'scope' => [],
            },
            'health' => {
                'type' => 'hm-status',
                'flags' => 4,
                'scope' => [],
            },
            'init-state' => {
                'type' => 'hm-subsystem-discovery-state',
                'flags' => 4,
                'scope' => [],
            },
            'mon-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pol-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'resources' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'sub-pol-versions' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'hm-subsystem',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'diagnosis-policy-definition-info' => {
        'category' => 'diagnosis',
        'fields' => {
            'alert-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'alert-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'creation-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-autosupport-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'responsible-resource-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rule-expression' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'where' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'diagnosis-status' => {
        'category' => 'diagnosis',
        'fields' => {
            'status' => {
                'type' => 'hm-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'diagnosis-subscriptions-info' => {
        'category' => 'diagnosis',
        'fields' => {
            'class-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'creation-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'event-type' => {
                'type' => 'hm-event-type',
                'flags' => 4,
                'scope' => [],
            },
            'fail-thresh' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'instance-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-notify-period' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'monitor' => {
                'type' => 'hm-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'notify-dest-hm' => {
                'type' => 'hm-type',
                'flags' => 4,
                'scope' => [],
            },
            'notify-dest-node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'notify-fptr' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'notify-table' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'notify-type' => {
                'type' => 'hm-notify-type',
                'flags' => 4,
                'scope' => [],
            },
            'psc-option' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'subscription-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'time-gap-notify' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'diagnosis-subsystem-config-info' => {
        'category' => 'diagnosis',
        'fields' => {
            'health' => {
                'type' => 'hm-status',
                'flags' => 4,
                'scope' => [],
            },
            'init-state' => {
                'type' => 'hm-subsystem-discovery-state',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'outstanding-alert-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'refresh-interval' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'subsystem' => {
                'type' => 'hm-subsystem',
                'flags' => 4,
                'scope' => [],
            },
            'suppressed-alert-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'hm-alert-type' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-event-type' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-notify-type' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-perceived-sev' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-probable-cause' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-scope' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-status' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-subsystem' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-subsystem-discovery-state' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'hm-type' => {
        'category' => 'diagnosis',
        'fields' => {
        },
    },
    'disk-name' => {
        'category' => 'disk',
        'fields' => {
        },
    },
    'disk-sanown-detail-info' => {
        'category' => 'disk',
        'fields' => {
            'checksum' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-home-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'dr-home-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'home' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-failed' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'pool' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'reserved-by' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'serial-no' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-sanown-filer-detail-info' => {
        'category' => 'disk',
        'fields' => {
            'filer-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'filer-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'nvramid' => {
        'category' => 'disk',
        'fields' => {
        },
    },
    'disk-encrypt-info' => {
        'category' => 'disk-encrypt',
        'fields' => {
            'data-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fips-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-power-on-lock-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protection-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-encrypt-modify-iter-info' => {
        'category' => 'disk-encrypt',
        'fields' => {
            'disk-encrypt-key' => {
                'type' => 'disk-encrypt-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-encrypt-sanitize-iter-info' => {
        'category' => 'disk-encrypt',
        'fields' => {
            'disk-encrypt-key' => {
                'type' => 'disk-encrypt-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-encrypt-show-status-info' => {
        'category' => 'disk-encrypt',
        'fields' => {
            'disk-done-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-start-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-success-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-sed-support' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'latest-op' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'op-execute-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'op-start-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'non-repos-vserver-name' => {
        'category' => 'dummyfcp',
        'fields' => {
        },
    },
    'ems-config-info' => {
        'category' => 'ems',
        'fields' => {
            'auto-suppress-exempt-filter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'console' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'console-log-level' => {
                'type' => 'emsseverity',
                'flags' => 4,
                'scope' => [],
            },
            'duplicate-suppression-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'log-rotation-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'mail-from' => {
                'type' => 'mail-address',
                'flags' => 4,
                'scope' => [],
            },
            'mail-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-destination-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-filter-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-filter-rule-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-log-show-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-notification-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-target-event-bytes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-target-log-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'proxy-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rest-delivery-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'suppression' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'trace-log-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-destination' => {
        'category' => 'ems',
        'fields' => {
        },
    },
    'ems-destination-destroy-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-destination-key' => {
                'type' => 'ems-destination-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-destination-info' => {
        'category' => 'ems',
        'fields' => {
            'hide-parameters' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mail' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snmp' => {
                'type' => 'remote-ip',
                'flags' => 6,
                'scope' => [],
            },
            'snmp-community' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'syslog' => {
                'type' => 'remote-ip',
                'flags' => 6,
                'scope' => [],
            },
            'syslog-facility' => {
                'type' => 'syslog-facility',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-destination-modify-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-destination-key' => {
                'type' => 'ems-destination-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-event-filter-destroy-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-event-filter-key' => {
                'type' => 'event-filter',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destination-destroy-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-event-notification-destination-key' => {
                'type' => 'event-notification-destination',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destination-modify-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-event-notification-destination-key' => {
                'type' => 'event-notification-destination',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-destroy-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-event-notification-key' => {
                'type' => 'event-notification',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-event-notification-modify-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-event-notification-key' => {
                'type' => 'event-notification',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-id' => {
        'category' => 'ems',
        'fields' => {
        },
    },
    'ems-mail-history-destroy-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-mail-history-key' => {
                'type' => 'ems-mail-history-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-mail-history-info' => {
        'category' => 'ems',
        'fields' => {
            'drops-since-previous-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mail-address' => {
                'type' => 'mail-address',
                'flags' => 6,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'previous-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 4,
                'scope' => [],
            },
            'time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-routing-info' => {
        'category' => 'ems',
        'fields' => {
            'action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destinations' => {
                'type' => 'ems-destination',
                'flags' => 6,
                'scope' => [],
            },
            'frequency-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'eventseverity',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-support' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'time-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-routing-modify-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-routing-key' => {
                'type' => 'ems-routing-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-snmp-history-destroy-iter-info' => {
        'category' => 'ems',
        'fields' => {
            'ems-snmp-history-key' => {
                'type' => 'ems-snmp-history-info',
                'flags' => 1,
                'scope' => [],
            },
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-snmp-history-info' => {
        'category' => 'ems',
        'fields' => {
            'drops-since-previous-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'previous-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-address' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ems-status-info' => {
        'category' => 'ems',
        'fields' => {
            'accumulated-bytes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'change-since' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'drops' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'indications' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-chatter' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-day-histogram' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'last-hour-histogram' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'last-time-dropped' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'last-time-occurred' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'last-time-processed' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'last-week-histogram' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'num-asup-dropped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-autosuppressed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-console-dropped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-dup-suppressed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-dup-suppressed-after-120s' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-dup-suppressed-in-120s' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-dup-suppressed-in-30s' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-dup-suppressed-in-60s' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-dup-suppressed-in-90s' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-email-dropped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-logger-dropped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-mgwd-dropped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-rate-limited' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-router-dropped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-suppressed-since-last' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-timer-suppressed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'probability' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'emsseverity',
                'flags' => 4,
                'scope' => [],
            },
            'stat-starting-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'event-catalog-info' => {
        'category' => 'ems',
        'fields' => {
            'action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'deprecated' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'filter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-trap-type' => {
                'type' => 'snmptraptypes',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'event-filter' => {
        'category' => 'ems',
        'fields' => {
            'event-filter-rule' => {
                'type' => 'event-filter-rule-info',
                'flags' => 7,
                'scope' => [],
            },
            'filter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'event-filter-rule-info' => {
        'category' => 'ems',
        'fields' => {
            'message-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'snmp-trap-type' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'type' => {
                'type' => 'event-rule-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'event-notification' => {
        'category' => 'ems',
        'fields' => {
            'destinations' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'filter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'event-notification-destination' => {
        'category' => 'ems',
        'fields' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'email' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rest-api-url' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'syslog' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'event-notification-destination-info' => {
        'category' => 'ems',
        'fields' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'is-certificate-valid' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-server-ca-present' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'event-notification-history-info' => {
        'category' => 'ems',
        'fields' => {
            'event' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'message-name' => {
                'type' => 'ems-id',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'seq-num' => {
                'type' => 'seqnum',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'event-rule-type' => {
        'category' => 'ems',
        'fields' => {
        },
    },
    'parameter' => {
        'category' => 'ems',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'remote-ip' => {
        'category' => 'ems',
        'fields' => {
        },
    },
    'seqnum' => {
        'category' => 'ems',
        'fields' => {
        },
    },
    'snmptraptypes' => {
        'category' => 'ems',
        'fields' => {
        },
    },
    'environment-sensors-info' => {
        'category' => 'environment',
        'fields' => {
            'critical-high-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'critical-low-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'discrete-sensor-state' => {
                'type' => 'sensor-state-enum',
                'flags' => 4,
                'scope' => [],
            },
            'discrete-sensor-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'sensor-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sensor-type' => {
                'type' => 'sensor-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'threshold-sensor-state' => {
                'type' => 'sensor-state-enum',
                'flags' => 4,
                'scope' => [],
            },
            'threshold-sensor-value' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'value-units' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'warning-high-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'warning-low-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sensor-state-enum' => {
        'category' => 'environment',
        'fields' => {
        },
    },
    'sensor-type-enum' => {
        'category' => 'environment',
        'fields' => {
        },
    },
    'access-cache-attributes-info' => {
        'category' => 'exports',
        'fields' => {
            'harvest-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'refresh-period-negative' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'refresh-period-positive' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'access-protocol' => {
        'category' => 'exports',
        'fields' => {
        },
    },
    'export-access-rights' => {
        'category' => 'exports',
        'fields' => {
        },
    },
    'export-check-info' => {
        'category' => 'exports',
        'fields' => {
            'access' => {
                'type' => 'export-access-rights',
                'flags' => 4,
                'scope' => [],
            },
            'access-type' => {
                'type' => 'export-access-rights',
                'flags' => 4,
                'scope' => [],
            },
            'authentication-method' => {
                'type' => 'security-flavor',
                'flags' => 4,
                'scope' => [],
            },
            'client-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-owner-type' => {
                'type' => 'policy-owner-type',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'access-protocol',
                'flags' => 4,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'export-policy-info' => {
        'category' => 'exports',
        'fields' => {
            'policy-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'export-rule-info' => {
        'category' => 'exports',
        'fields' => {
            'anonymous-user-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-match' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'export-chown-mode' => {
                'type' => 'exportchownmode',
                'flags' => 4,
                'scope' => [],
            },
            'export-ntfs-unix-security-ops' => {
                'type' => 'exportntfsunixsecops',
                'flags' => 4,
                'scope' => [],
            },
            'is-allow-dev-is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-allow-set-uid-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'export-policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'access-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'ro-rule' => {
                'type' => 'security-flavor',
                'flags' => 6,
                'scope' => [],
            },
            'rule-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rw-rule' => {
                'type' => 'security-flavor',
                'flags' => 6,
                'scope' => [],
            },
            'super-user-security' => {
                'type' => 'security-flavor',
                'flags' => 6,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'exportchownmode' => {
        'category' => 'exports',
        'fields' => {
        },
    },
    'exportntfsunixsecops' => {
        'category' => 'exports',
        'fields' => {
        },
    },
    'exports-access-cache-config-info' => {
        'category' => 'exports',
        'fields' => {
            'harvest-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ttl-failure' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ttl-negative' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ttl-positive' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'policy-owner-type' => {
        'category' => 'exports',
        'fields' => {
        },
    },
    'security-flavor' => {
        'category' => 'exports',
        'fields' => {
        },
    },
    'fc-config' => {
        'category' => 'fc',
        'fields' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pending-fc-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aliases-info' => {
        'category' => 'fcp',
        'fields' => {
            'aliases-alias' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'aliases-wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'fcp-adapter-data-protocol' => {
        'category' => 'fcp',
        'fields' => {
        },
    },
    'fcp-adapter-initiators-info' => {
        'category' => 'fcp',
        'fields' => {
            'adapter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'fcp-connected-initiators' => {
                'type' => 'fcp-connected-initiator-info',
                'flags' => 3,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'fcp-adapter-stats-info' => {
        'category' => 'fcp',
        'fields' => {
            'adapter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'adapter-resets' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'crc-errors' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'discarded-frames' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'frame-overruns' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'frame-underruns' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiators-connected' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'invalid-xmit-words' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'is-sfp-diagnostics-internally-calibrated' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sfp-optical-transceiver-valid' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-sfp-rx-power-in-range' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sfp-tx-power-in-range' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'link-breaks' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lip-resets' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lr-received' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lr-sent' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'nos-received' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'ols-received' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'protocol-errors' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'queue-depth' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'scsi-requests-dropped' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'sfp-connector' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-date-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-encoding' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-fc-speed-capabilties' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'sfp-fc-speedcapabilities' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-formfactor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-rx-power' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-tx-power' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-vendor-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-vendor-oui' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-wavelength' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'spurious-interrupts' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'total-logins' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'total-logouts' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fcp-config-adapter-info' => {
        'category' => 'fcp',
        'fields' => {
            'adapter' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'cache-line-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'connection-established' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-link-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-protocols-supported' => {
                'type' => 'fcp-adapter-data-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'external-gbic-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'fabric-established' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'fabric-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'firmware-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hardware-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'info-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-sfp-diagnostics-internally-calibrated' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'is-sfp-optical-transceiver-valid' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'is-sfp-rx-power-in-range' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'is-sfp-tx-power-in-range' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'max-speed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'media-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mpi-firmware-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'packet-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'pci-bus-width' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'pci-clock-speed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-firmware-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'physical-data-link-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-link-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'physical-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'port-address' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'preload-table-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sfp-connector' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-date-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-encoding' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-fc-speedcapabilities' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-formfactor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-rx-power' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-tx-power' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-vendor-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-vendor-oui' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'sfp-wavelength' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'speed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sram-parity-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status-admin' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status-extended' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vlan-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcp-connected-initiator-info' => {
        'category' => 'fcp',
        'fields' => {
            'initiator-group-list' => {
                'type' => 'initiator-group-list-info',
                'flags' => 7,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port-address' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'portname-alias-list' => {
                'type' => 'portname-alias-name',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'fcp-interface-info' => {
        'category' => 'fcp',
        'fields' => {
            'current-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'current-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relative-port-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcp-nameserver-info' => {
        'category' => 'fcp',
        'fields' => {
            'fabric-port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fc4-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lif' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'service-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'non-repos-vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcp-ping-igroup-status-info' => {
        'category' => 'fcp',
        'fields' => {
            'ext-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'igroup' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lif' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'portset' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcp-ping-status-info' => {
        'category' => 'fcp',
        'fields' => {
            'ext-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lif' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcp-port-name-info' => {
        'category' => 'fcp',
        'fields' => {
            'fcp-adapter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-used' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'fcp-service-info' => {
        'category' => 'fcp',
        'fields' => {
            'is-available' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcp-topology-info' => {
        'category' => 'fcp',
        'fields' => {
            'domain-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lif' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'logical-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'release' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'non-repos-vserver-name',
                'flags' => 4,
                'scope' => [],
            },
            'wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcp-topology-port-info' => {
        'category' => 'fcp',
        'fields' => {
            'adapter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'domain-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'port-attached-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-attached-visible' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-attached-wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-slot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-state' => {
                'type' => 'fcpportstate',
                'flags' => 4,
                'scope' => [],
            },
            'port-type' => {
                'type' => 'fcpporttype',
                'flags' => 4,
                'scope' => [],
            },
            'port-wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-release' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcp-zone-info' => {
        'category' => 'fcp',
        'fields' => {
            'adapter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'domain-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'type-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unique' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'zone-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'zone-member-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'zone-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'zoneset-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fcpportstate' => {
        'category' => 'fcp',
        'fields' => {
        },
    },
    'fcpporttype' => {
        'category' => 'fcp',
        'fields' => {
        },
    },
    'portname-alias-name' => {
        'category' => 'fcp',
        'fields' => {
            'portname-alias' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fc-ports' => {
        'category' => 'fcport',
        'fields' => {
            'port-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'switch-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'link-state-info' => {
        'category' => 'fcport',
        'fields' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'fc-port-info' => {
                'type' => 'fc-ports',
                'flags' => 5,
                'scope' => [],
            },
            'link-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'feature-usage-state' => {
        'category' => 'feature',
        'fields' => {
        },
    },
    'managed-feature' => {
        'category' => 'feature',
        'fields' => {
        },
    },
    'managed-feature-status' => {
        'category' => 'feature',
        'fields' => {
        },
    },
    'managed-feature-status-info' => {
        'category' => 'feature',
        'fields' => {
            'feature-name' => {
                'type' => 'managed-feature',
                'flags' => 4,
                'scope' => [],
            },
            'notes' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'managed-feature-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'usage-state-info' => {
        'category' => 'feature',
        'fields' => {
            'date-collected' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'feature-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'feature-name' => {
                'type' => 'managed-feature',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => [],
            },
            'usage-status' => {
                'type' => 'feature-usage-state',
                'flags' => 4,
                'scope' => [],
            },
            'week-number' => {
                'type' => 'seqnum',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'usage-summary-info' => {
        'category' => 'feature',
        'fields' => {
            'feature-name' => {
                'type' => 'managed-feature',
                'flags' => 4,
                'scope' => [],
            },
            'last-used-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => [],
            },
            'weeks-configured' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'weeks-in-use' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'weeks-not-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'weeks-not-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-fingerprint-info' => {
        'category' => 'file',
        'fields' => {
            'access-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'changed-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'creation-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-fingerprint' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fileid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-access-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-changed-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-creation-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-modified-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-retention-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-changed-time-wraparound' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-wraparound' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'litigation-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'metadata-fingerprint' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'modified-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'owner-sid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'retention-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-info' => {
        'category' => 'file',
        'fields' => {
            'accessed-timestamp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'acl-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'bytes-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'changed-timestamp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'creation-timestamp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'dsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'file-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'file-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'group-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'hard-links-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'inode-gen-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inode-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'is-empty' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-junction' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-vm-aligned' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'modified-timestamp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'msid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'owner-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'perm' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fingerprint-info' => {
        'category' => 'file',
        'fields' => {
            'aggregate-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-metadata' => {
                'type' => 'file-fingerprint-info',
                'flags' => 5,
                'scope' => [],
            },
            'filer-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'filer-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fingerprint-algorithm' => {
                'type' => 'fingerprintalgo',
                'flags' => 4,
                'scope' => [],
            },
            'fingerprint-end-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'fingerprint-input-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fingerprint-scope' => {
                'type' => 'fingerprintscope',
                'flags' => 4,
                'scope' => [],
            },
            'fingerprint-start-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'fingerprint-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-fingerprint-end-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-fingerprint-start-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-snaplock-system-compliance-clock' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-snaplock-volume-compliance-clock' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-volume-expiry-date' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-volume-expiry-date-wraparound' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'metadata-files' => {
                'type' => 'file-fingerprint-info',
                'flags' => 3,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snaplock-license' => {
                'type' => 'snaplocklicense',
                'flags' => 4,
                'scope' => [],
            },
            'snaplock-system-compliance-clock' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snaplock-volume-compliance-clock' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-containing-aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-dsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-expiry-date' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-msid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'volume-snaplock-type' => {
                'type' => 'snaplocktype',
                'flags' => 4,
                'scope' => [],
            },
            'volume-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fingerprint-status-info' => {
        'category' => 'file',
        'fields' => {
            'file' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operation-status' => {
                'type' => 'wormopstatus',
                'flags' => 4,
                'scope' => [],
            },
            'progress-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fingerprintalgo' => {
        'category' => 'file',
        'fields' => {
        },
    },
    'fingerprintscope' => {
        'category' => 'file',
        'fields' => {
        },
    },
    'hole-range-info' => {
        'category' => 'file',
        'fields' => {
            'hole-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'hole-start' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'inode-info' => {
        'category' => 'file',
        'fields' => {
            'dsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'inode-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'parent-dir-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'parent-inode-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sfod-scanner-status' => {
        'category' => 'file',
        'fields' => {
        },
    },
    'snaplocklicense' => {
        'category' => 'file',
        'fields' => {
        },
    },
    'wormopstatus' => {
        'category' => 'file',
        'fields' => {
        },
    },
    'access-control' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'access-rights' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'access-type' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'advanced-access-rights' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'audit-access-type' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'file-directory-security-ntfs' => {
        'category' => 'file-directory-security',
        'fields' => {
            'control-flags-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'group' => {
                'type' => 'name-or-sid',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'name-or-sid',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-directory-security-ntfs-dacl' => {
        'category' => 'file-directory-security',
        'fields' => {
            'access-type' => {
                'type' => 'access-type',
                'flags' => 4,
                'scope' => [],
            },
            'account' => {
                'type' => 'name-or-sid',
                'flags' => 4,
                'scope' => [],
            },
            'advanced-rights' => {
                'type' => 'advanced-access-rights',
                'flags' => 6,
                'scope' => [],
            },
            'apply-to' => {
                'type' => 'inheritance-level',
                'flags' => 6,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 4,
                'scope' => [],
            },
            'readable-access-rights' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rights' => {
                'type' => 'access-rights',
                'flags' => 4,
                'scope' => [],
            },
            'rights-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-directory-security-ntfs-sacl' => {
        'category' => 'file-directory-security',
        'fields' => {
            'account' => {
                'type' => 'name-or-sid',
                'flags' => 4,
                'scope' => [],
            },
            'advanced-rights' => {
                'type' => 'advanced-access-rights',
                'flags' => 6,
                'scope' => [],
            },
            'apply-to' => {
                'type' => 'inheritance-level',
                'flags' => 6,
                'scope' => [],
            },
            'audit-access-type' => {
                'type' => 'audit-access-type',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 4,
                'scope' => [],
            },
            'readable-access-rights' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rights' => {
                'type' => 'access-rights',
                'flags' => 4,
                'scope' => [],
            },
            'rights-raw' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-directory-security-policy' => {
        'category' => 'file-directory-security',
        'fields' => {
            'policy-name' => {
                'type' => 'file-security-policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-directory-security-policy-task' => {
        'category' => 'file-directory-security',
        'fields' => {
            'access-control' => {
                'type' => 'access-control',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-mode' => {
                'type' => 'ntfs-propagation-mode',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-sd' => {
                'type' => 'file-security-ntfs-sd',
                'flags' => 6,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'file-security-policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'security-type' => {
                'type' => 'security-type',
                'flags' => 4,
                'scope' => [],
            },
            'task-index-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-security-ntfs-sd' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'file-security-policy-name' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'fsecurity-acl' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'inheritance-level' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'name-or-sid' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'ntfs-propagation-mode' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'security-style-enum' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'security-type' => {
        'category' => 'file-directory-security',
        'fields' => {
        },
    },
    'audit-events' => {
        'category' => 'fileservice-audit',
        'fields' => {
        },
    },
    'audit-format' => {
        'category' => 'fileservice-audit',
        'fields' => {
        },
    },
    'fileservice-audit-config' => {
        'category' => 'fileservice-audit',
        'fields' => {
            'audit-guarantee' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'events' => {
                'type' => 'audit-events',
                'flags' => 6,
                'scope' => [],
            },
            'format' => {
                'type' => 'audit-format',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'rotate-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rotate-schedule-day' => {
                'type' => 'cron-day-of-month',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-dayofweek' => {
                'type' => 'cron-day-of-week',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-hour' => {
                'type' => 'cron-hour',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-minute' => {
                'type' => 'cron-minute',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-schedule-month' => {
                'type' => 'cron-month',
                'flags' => 6,
                'scope' => [],
            },
            'rotate-size' => {
                'type' => 'psize',
                'flags' => 4,
                'scope' => [],
            },
            'rotation-schedule-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'psize' => {
        'category' => 'fileservice-audit',
        'fields' => {
        },
    },
    'flash-threshold' => {
        'category' => 'flash',
        'fields' => {
            'action' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'domain' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'threshold-units' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'threshold-value' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'time-slice' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'flash-threshold-profile' => {
        'category' => 'flash',
        'fields' => {
            'flash-threshold' => {
                'type' => 'flash-threshold',
                'flags' => 3,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'profile' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'fc-dev-status' => {
        'category' => 'flash-device',
        'fields' => {
        },
    },
    'flash-device-info' => {
        'category' => 'flash-device',
        'fields' => {
            'average-erase-cycle-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hardware-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-change-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'model-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'percent-online' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'service-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'slot-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'slot-string' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'fc-dev-status',
                'flags' => 4,
                'scope' => [],
            },
            'subslot-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'threshold-profile' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'flexcache-cache-policy-info' => {
        'category' => 'flexcache',
        'fields' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'deleg-lru-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'prefer-local-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-directories' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-files' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-metafiles' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-other' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-to-live-symbolic' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'flexcache-info' => {
        'category' => 'flexcache',
        'fields' => {
            'cache-aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cache-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cache-percent-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cache-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cache-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'connection-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'origin-aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'origin-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'origin-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'flexcache-options-info' => {
        'category' => 'flexcache',
        'fields' => {
            'delegations-high-watermark' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'delegations-low-watermark' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'per-cache-statistics' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'common-name' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'engine-name' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'event-name' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'external-engine-type' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'fpolicy-event-options-config' => {
        'category' => 'fpolicy',
        'fields' => {
            'event-name' => {
                'type' => 'event-name',
                'flags' => 4,
                'scope' => [],
            },
            'file-operations' => {
                'type' => 'fpolicy-operation',
                'flags' => 6,
                'scope' => [],
            },
            'filter-string' => {
                'type' => 'fpolicy-filter',
                'flags' => 6,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'fpolicy-proto',
                'flags' => 4,
                'scope' => [],
            },
            'volume-operation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fpolicy-external-engine-info' => {
        'category' => 'fpolicy',
        'fields' => {
            'certificate-ca' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-common-name' => {
                'type' => 'common-name',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'engine-name' => {
                'type' => 'engine-name',
                'flags' => 4,
                'scope' => [],
            },
            'extern-engine-type' => {
                'type' => 'external-engine-type',
                'flags' => 4,
                'scope' => [],
            },
            'is-resiliency-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'keep-alive-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-connection-retries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-server-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'primary-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'recv-buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'request-abort-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'request-cancel-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'resiliency-directory-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'resiliency-max-retention-duration' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'send-buffer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'server-progress-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-timeout' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ssl-option' => {
                'type' => 'fpolicy-ssl-opts',
                'flags' => 4,
                'scope' => [],
            },
            'status-request-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fpolicy-filter' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'fpolicy-operation' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'fpolicy-passthrough-read-connection-info' => {
        'category' => 'fpolicy',
        'fields' => {
            'connected-since' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'control-session-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disconnect-reason' => {
                'type' => 'fpolicy-passthru-disconnect-reason',
                'flags' => 4,
                'scope' => [],
            },
            'disconnected-since' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'fpolicy-server' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'server-status' => {
                'type' => 'fpolicy-passthru-conn-status',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fpolicy-passthru-conn-status' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'fpolicy-passthru-disconnect-reason' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'fpolicy-policy-info' => {
        'category' => 'fpolicy',
        'fields' => {
            'allow-privileged-access' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'engine-name' => {
                'type' => 'engine-name',
                'flags' => 4,
                'scope' => [],
            },
            'events' => {
                'type' => 'event-name',
                'flags' => 6,
                'scope' => [],
            },
            'is-mandatory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-passthrough-read-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'privileged-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fpolicy-policy-status-info' => {
        'category' => 'fpolicy',
        'fields' => {
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'sequence-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fpolicy-proto' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'fpolicy-scope-config' => {
        'category' => 'fpolicy',
        'fields' => {
            'check-extensions-on-directories' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'export-policies-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'export-policies-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'file-extensions-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'file-extensions-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'is-monitoring-of-objects-with-no-extension-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'shares-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'shares-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'volumes-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'volumes-to-include' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fpolicy-server-status' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'fpolicy-server-status-info' => {
        'category' => 'fpolicy',
        'fields' => {
            'connected-since' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'disconnect-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disconnected-since' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'fpolicy-server' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'server-status' => {
                'type' => 'fpolicy-server-status',
                'flags' => 4,
                'scope' => [],
            },
            'server-type' => {
                'type' => 'fpolicy-server-type',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'fpolicy-server-type' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'fpolicy-ssl-opts' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'policy-name' => {
        'category' => 'fpolicy',
        'fields' => {
        },
    },
    'gpo-applied-info' => {
        'category' => 'gpo',
        'fields' => {
            'adv-audit-cap-staging' => {
                'type' => 'gpo-evt-audit',
                'flags' => 4,
                'scope' => [],
            },
            'cap-list' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'dspath' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'extension' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'filesyspath' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gpo-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'gpo-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gpo-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gpo-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'link' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'registry-hash-publication' => {
                'type' => 'hash-publication-mode',
                'flags' => 4,
                'scope' => [],
            },
            'registry-hash-publication-mode' => {
                'type' => 'hash-publication-mode',
                'flags' => 4,
                'scope' => [],
            },
            'registry-hash-version' => {
                'type' => 'hash-version',
                'flags' => 4,
                'scope' => [],
            },
            'registry-refresh-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'registry-refresh-random-offset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-audit-log-ret-method' => {
                'type' => 'log-retention-method',
                'flags' => 4,
                'scope' => [],
            },
            'security-audit-logon-events' => {
                'type' => 'gpo-evt-audit',
                'flags' => 4,
                'scope' => [],
            },
            'security-audit-max-log-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-audit-object-access' => {
                'type' => 'gpo-evt-audit',
                'flags' => 4,
                'scope' => [],
            },
            'security-file-security' => {
                'type' => 'gpo-file-security-path',
                'flags' => 6,
                'scope' => [],
            },
            'security-kerberos-clock-skew' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-kerberos-renewal-age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-kerberos-ticket-age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-privilege-rights-change-notify' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'security-privilege-rights-security' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'security-privilege-rights-take-ownership' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'security-privilege-take-ownership' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-registry-signing-required' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'security-restrict-anon-combined-restriction-for-anonymous-user' => {
                'type' => 'anonymous-restriction-level',
                'flags' => 4,
                'scope' => [],
            },
            'security-restrict-anon-no-access' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'security-restrict-anon-noenum-sam' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'security-restrict-anon-noenum-sam-share' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'security-restricted-groups' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'gpo-config' => {
        'category' => 'gpo',
        'fields' => {
            'is-gpo-enabled' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'gpo-evt-audit' => {
        'category' => 'gpo',
        'fields' => {
        },
    },
    'gpo-file-security-path' => {
        'category' => 'gpo',
        'fields' => {
        },
    },
    'gpo-gpresult-info' => {
        'category' => 'gpo',
        'fields' => {
            'adv-audit-cap-staging' => {
                'type' => 'gpo-evt-audit',
                'flags' => 4,
                'scope' => [],
            },
            'cap-list' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'dspath' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'extension' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'filesyspath' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gpo-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'gpo-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gpo-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gpo-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'link' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'registry-hash-publication' => {
                'type' => 'hash-publication-mode',
                'flags' => 4,
                'scope' => [],
            },
            'registry-hash-publication-mode' => {
                'type' => 'hash-publication-mode',
                'flags' => 4,
                'scope' => [],
            },
            'registry-hash-version' => {
                'type' => 'hash-version',
                'flags' => 4,
                'scope' => [],
            },
            'registry-refresh-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'registry-refresh-random-offset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-audit-log-ret-method' => {
                'type' => 'log-retention-method',
                'flags' => 4,
                'scope' => [],
            },
            'security-audit-logon-events' => {
                'type' => 'gpo-evt-audit',
                'flags' => 4,
                'scope' => [],
            },
            'security-audit-max-log-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-audit-object-access' => {
                'type' => 'gpo-evt-audit',
                'flags' => 4,
                'scope' => [],
            },
            'security-file-security' => {
                'type' => 'gpo-file-security-path',
                'flags' => 6,
                'scope' => [],
            },
            'security-kerberos-clock-skew' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-kerberos-renewal-age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-kerberos-ticket-age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'security-privilege-rights-change-notify' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'security-privilege-rights-security' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'security-privilege-rights-take-ownership' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'security-privilege-take-ownership' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-registry-signing-required' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'security-restrict-anon-combined-restriction-for-anonymous-user' => {
                'type' => 'anonymous-restriction-level',
                'flags' => 4,
                'scope' => [],
            },
            'security-restrict-anon-no-access' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'security-restrict-anon-noenum-sam' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'security-restrict-anon-noenum-sam-share' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'security-restricted-groups' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'gpo-link' => {
        'category' => 'gpo',
        'fields' => {
        },
    },
    'gpo-restricted-group-applied-info' => {
        'category' => 'gpo',
        'fields' => {
            'group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'link-type' => {
                'type' => 'gpo-link',
                'flags' => 4,
                'scope' => [],
            },
            'member-of' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'members' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'gpo-restricted-group-defined-info' => {
        'category' => 'gpo',
        'fields' => {
            'group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'link-type' => {
                'type' => 'gpo-link',
                'flags' => 4,
                'scope' => [],
            },
            'member-of' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'members' => {
                'type' => 'gpo-user-group',
                'flags' => 6,
                'scope' => [],
            },
            'version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'gpo-user-group' => {
        'category' => 'gpo',
        'fields' => {
        },
    },
    'hash-publication-mode' => {
        'category' => 'gpo',
        'fields' => {
        },
    },
    'hash-version' => {
        'category' => 'gpo',
        'fields' => {
        },
    },
    'log-retention-method' => {
        'category' => 'gpo',
        'fields' => {
        },
    },
    'group-mapping-info' => {
        'category' => 'group-mapping',
        'fields' => {
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 4,
                'scope' => [],
            },
            'pattern' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'replacement' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'device-port-info' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'is-active-link' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'link-layer-state' => {
                'type' => 'ha-ic-cx-link-state',
                'flags' => 4,
                'scope' => [],
            },
            'phy-layer-state' => {
                'type' => 'ha-ic-cx-phy-state',
                'flags' => 4,
                'scope' => [],
            },
            'phy-link-down-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-link-up-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-ic-channel' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-ic-cx-link-state' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-ic-cx-phy-state' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-ic-device-port' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-ic-flint-image-type' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-ic-initiator' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-ic-interface-type' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-ic-nv-channel' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-ic-state' => {
        'category' => 'ha-interconnect',
        'fields' => {
        },
    },
    'ha-interconnect-channel-status' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'channel-name' => {
                'type' => 'ha-ic-channel',
                'flags' => 4,
                'scope' => [],
            },
            'channel-status' => {
                'type' => 'ha-ic-state',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-config-details' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'connection-request-initiator' => {
                'type' => 'ha-ic-initiator',
                'flags' => 4,
                'scope' => [],
            },
            'interconnect-port-details' => {
                'type' => 'interconnect-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'interface-type' => {
                'type' => 'ha-ic-interface-type',
                'flags' => 4,
                'scope' => [],
            },
            'local-node-sysid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'partner-node-sysid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'transport-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-flint-flash-info' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'board-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'chip-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'device-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'fw-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hw-access-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'image-type' => {
                'type' => 'ha-ic-flint-image-type',
                'flags' => 4,
                'scope' => [],
            },
            'invariant-sector-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-guid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'parameter-set-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-guid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-mac' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-guid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-mac' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'product-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sys-image-guid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor-specific-data' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-flint-image-info' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'board-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'chip-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'device-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'fw-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hw-access-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'image-type' => {
                'type' => 'ha-ic-flint-image-type',
                'flags' => 4,
                'scope' => [],
            },
            'invariant-sector-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-guid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'parameter-set-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-guid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-mac' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-guid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-mac' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'product-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sys-image-guid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor-specific-data' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-flush-details' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'channel-name' => {
                'type' => 'ha-ic-nv-channel',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'recv-flush-request-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'recv-notify-complete-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sent-flush-request-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sent-notify-complete-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-nvram-info' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'local-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'partition' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'total-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-ood-status' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'is-coalescing-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ood-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-performance-statistics' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'average-bytes-per-transfer' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'average-megabytes-per-second' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'average-receive-queue-wait-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'average-remote-nv-msgs-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'average-remote-nv-transfer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'average-remote-nv-transfer-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'avg-misc-queue-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'avg-nvlog-sync-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'avg-raid-queue-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'avg-wafl-queue-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'elapsed-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-16k-writes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-4k-writes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-8k-writes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-data-aligned' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-data-misaligned' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-discontiguous-writes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-isdone' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-isdone-fail' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-isdone-pass' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-metadata-aligned' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-metadata-misaligned' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-small-writes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-waitdone-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-waits' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-xorder-reads' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-xorder-writes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-nvlog-sync-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-sgl-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'misc-data-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'misc-flush-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'misc-metadata-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'nonpreempt-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'notify-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nv-conn-failover-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'preempt-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'queue-max-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'queue-max-wait-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'queue-max-wait-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'raid-data-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'raid-flush-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'raid-metadata-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rdma-read' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rdma-read-waitdone-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'remote-nv-transfers' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-receive-queue-waits' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-transfers' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'wafl-data-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'wafl-flush-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'wafl-metadata-io' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-port-details' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'device-port-details' => {
                'type' => 'device-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'link-monitor' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-reset-config' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'reset-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-scatter-gather-list-statistics' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'sgl-details' => {
                'type' => 'sgl-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-status-info' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'command-revision' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'debug-firmware' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'device-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'driver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hardware-revision' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ic-connection' => {
                'type' => 'ha-ic-state',
                'flags' => 4,
                'scope' => [],
            },
            'is-link0-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-link1-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'link-status' => {
                'type' => 'ha-ic-state',
                'flags' => 4,
                'scope' => [],
            },
            'link0-status' => {
                'type' => 'ha-ic-state',
                'flags' => 4,
                'scope' => [],
            },
            'link1-status' => {
                'type' => 'ha-ic-state',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'nvlog-rdma' => {
                'type' => 'ha-ic-state',
                'flags' => 4,
                'scope' => [],
            },
            'port-number-1' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-number-2' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port1-base-lid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-data-rate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-gid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-link-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-mtu' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port1-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-qsfp-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-qsfp-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-qsfp-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-qsfp-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port1-remote-lid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-base-lid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-data-rate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-gid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-link-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-mtu' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port2-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-qsfp-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-qsfp-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-qsfp-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port2-qsfp-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'slot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ha-interconnect-timeout' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'ic-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'ofw-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'interconnect-port-info' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'interface-flags' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ipaddress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sgl-info' => {
        'category' => 'ha-interconnect',
        'fields' => {
            'scatter-gather-entry' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'initiator-group-info' => {
        'category' => 'igroup',
        'fields' => {
            'initiator-group-alua-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-delete-on-unmap' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-os-type' => {
                'type' => 'initiator-group-os-type',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-portset-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group-throttle-borrow' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-throttle-reserve' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-use-partner' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group-vsa-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'initiators' => {
                'type' => 'initiator-info',
                'flags' => 7,
                'scope' => [],
            },
            'lun-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'initiator-group-list-info' => {
        'category' => 'igroup',
        'fields' => {
            'initiator-group-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'initiator-group-os-type' => {
        'category' => 'igroup',
        'fields' => {
        },
    },
    'initiator-info' => {
        'category' => 'igroup',
        'fields' => {
            'initiator-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'interface-list-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ip-range-or-mask' => {
        'category' => 'iscsi',
        'fields' => {
        },
    },
    'iscsi-cdb-stats-info' => {
        'category' => 'iscsi',
        'fields' => {
            'data-in-blocks' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'data-out-blocks' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'error-status' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'success-status' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'total' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-connection-list-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'connection-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'connection-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'has-session' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'local-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'local-ip-port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'remote-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'remote-ip-port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'tpgroup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'iscsi-error-stats-info' => {
        'category' => 'iscsi',
        'fields' => {
            'data-digest' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'failed-logins' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'failed-logouts' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'failed-task-mgt' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'failed-text-cmd' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'hdr-digest' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'invalid-header' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'outside-cmd-sn-window' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'total' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-initiator-list-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'initiator-aliasname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-group-list' => {
                'type' => 'initiator-group-list-info',
                'flags' => 7,
                'scope' => [],
            },
            'initiator-nodename' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'isid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-session-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'tpgroup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'iscsi-interface-accesslist-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'iscsi-interface-list-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'current-node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'current-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'ip-port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-interface-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'relative-port-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'sendtargets-fqdn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tpgroup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'iscsi-isns-info' => {
        'category' => 'iscsi',
        'fields' => {
            'is-isns-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'isns-entity-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'isns-ip-addr' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'last-successful-update' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-successful-update-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-update-attempt' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-update-attempt-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-update-result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'iscsi-received-stats-info' => {
        'category' => 'iscsi',
        'fields' => {
            'data-out' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'login-req' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'logout-req' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'nop-out' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'scsi-cmd' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'scsi-task-mgt-cmd' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'snack' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'text-req' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'total' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'unknown' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-security-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'auth-chap-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'auth-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-address-ranges' => {
                'type' => 'ip-range-or-mask',
                'flags' => 6,
                'scope' => [],
            },
            'outbound-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'iscsi-service-info' => {
        'category' => 'iscsi',
        'fields' => {
            'alias-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-available' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'login-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-cmds-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-conn-per-session' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-error-recovery-level' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'retain-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tcp-window-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'iscsi-session-connection-list-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'authentication-method' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'connection-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'data-digest-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'header-digest-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-max-rcv-data-segment-length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'local-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'local-ip-port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'rcv-window-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'remote-ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'remote-ip-port' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-max-rcv-data-segment-length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-session-list-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'cmd-window-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'data-pdu-in-order' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'data-sequence-in-order' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'default-time-to-retain' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'default-time-to-wait' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'error-recovery-level' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'first-burst-length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'immediate-data-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'initial-r2t-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-aliasname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-nodename' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'iscsi-session-connection-list-entries' => {
                'type' => 'iscsi-session-connection-list-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'iscsi-sesssion-cmd-list-entries' => {
                'type' => 'iscsi-sesssion-cmd-list-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'isid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'max-burst-length' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'max-connections' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'max-ios-per-session' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'max-outstanding-r2t' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'session-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-session-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'tpgroup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'iscsi-sesssion-cmd-list-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'cmd-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'cmd-sub-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'cmd-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-stats-info' => {
        'category' => 'iscsi',
        'fields' => {
            'iscsi-cdb-stats' => {
                'type' => 'iscsi-cdb-stats-info',
                'flags' => 1,
                'scope' => [],
            },
            'iscsi-error-stats' => {
                'type' => 'iscsi-error-stats-info',
                'flags' => 1,
                'scope' => [],
            },
            'iscsi-received-stats' => {
                'type' => 'iscsi-received-stats-info',
                'flags' => 1,
                'scope' => [],
            },
            'iscsi-transmitted-stats' => {
                'type' => 'iscsi-transmitted-stats-info',
                'flags' => 1,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'iscsi-tpgroup-list-entry-info' => {
        'category' => 'iscsi',
        'fields' => {
            'interface-list-entries' => {
                'type' => 'interface-list-entry-info',
                'flags' => 7,
                'scope' => [],
            },
            'is-user-defined' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'tpgroup-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'iscsi-transmitted-stats-info' => {
        'category' => 'iscsi',
        'fields' => {
            'async-msg' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'data-in' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'login-rsp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'logout-rsp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'nop-in' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'ready-to-transmit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'reject' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'scsi-rsp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'scsi-task-mgt-rsp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'text-rsp' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'total' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'cron-day-of-month' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'cron-day-of-week' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'cron-hour' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'cron-minute' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'cron-month' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'job-affinity' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'job-event-type' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'job-history-info' => {
        'category' => 'job',
        'fields' => {
            'job-completion' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-end-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-event-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-event-type' => {
                'type' => 'job-event-type',
                'flags' => 4,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-manager-error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-manager-error-text' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-progress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-start-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-status-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'job-vserver' => {
                'type' => 'job-history-vserver-name',
                'flags' => 4,
                'scope' => [],
            },
            'log-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'job-history-vserver-name' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'job-info' => {
        'category' => 'job',
        'fields' => {
            'is-restarted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'job-affinity' => {
                'type' => 'job-affinity',
                'flags' => 4,
                'scope' => [],
            },
            'job-category' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-completion' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-dropdead-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-end-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'job-priority' => {
                'type' => 'job-priority',
                'flags' => 4,
                'scope' => [],
            },
            'job-process' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-progress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-queue-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-restart-is-delayed-by-module' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-restart-is-or-was-delayed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-start-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-state' => {
                'type' => 'job-state',
                'flags' => 4,
                'scope' => [],
            },
            'job-status-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'job-vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'job-pause-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-key' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-priority' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'job-private-pause-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-private-key' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-private-resume-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-private-key' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-private-soft-pause-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-private-key' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-private-stop-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-private-key' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-resume-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-key' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-schedule-cron-destroy-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-cron-key' => {
                'type' => 'job-schedule-cron-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-schedule-cron-info' => {
        'category' => 'job',
        'fields' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-cron-day' => {
                'type' => 'cron-day-of-month',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-day-of-week' => {
                'type' => 'cron-day-of-week',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-hour' => {
                'type' => 'cron-hour',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-minute' => {
                'type' => 'cron-minute',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-cron-month' => {
                'type' => 'cron-month',
                'flags' => 6,
                'scope' => [],
            },
            'job-schedule-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'job-schedule-info' => {
        'category' => 'job',
        'fields' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-type' => {
                'type' => 'schedule-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'job-schedule-interval-destroy-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-key' => {
                'type' => 'job-schedule-interval-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-schedule-interval-info' => {
        'category' => 'job',
        'fields' => {
            'job-schedule-cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-days' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-hours' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-minutes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-interval-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-schedule-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'job-soft-pause-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-key' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'job-stop-iter-info' => {
        'category' => 'job',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'job-key' => {
                'type' => 'job-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'schedule-type' => {
        'category' => 'job',
        'fields' => {
        },
    },
    'kdc-vendor' => {
        'category' => 'kerberos',
        'fields' => {
        },
    },
    'kerberos-config-info' => {
        'category' => 'kerberos',
        'fields' => {
            'admin-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-kerberos-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'keytab-uri' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organizational-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'permitted-enc-types' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'service-principal-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'kerberos-realm' => {
        'category' => 'kerberos',
        'fields' => {
            'ad-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'ad-server-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'admin-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'admin-server-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'clock-skew' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'config-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'kdc-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'kdc-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'kdc-vendor' => {
                'type' => 'kdc-vendor',
                'flags' => 4,
                'scope' => [],
            },
            'password-server-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'password-server-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'permitted-enc-types' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'realm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'hex-string' => {
        'category' => 'ldap',
        'fields' => {
        },
    },
    'ldap-auth-method' => {
        'category' => 'ldap',
        'fields' => {
        },
    },
    'ldap-client' => {
        'category' => 'ldap',
        'fields' => {
            'ad-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'allow-ssl' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'base-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'base-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'bind-as-cifs-server' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'bind-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'bind-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'group-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'is-netgroup-byhost-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-owner' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ldap-client-config' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ldap-servers' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'min-bind-level' => {
                'type' => 'ldap-auth-method',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-byhost-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-byhost-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'obs-password' => {
                'type' => 'hex-string',
                'flags' => 4,
                'scope' => [],
            },
            'preferred-ad-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'query-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schema' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'session-security' => {
                'type' => 'ldap-security',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tcp-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-start-tls' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-dn' => {
                'type' => 'ldap-dn',
                'flags' => 4,
                'scope' => [],
            },
            'user-scope' => {
                'type' => 'ldap-search-scope',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name-data-admin',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ldap-client-schema' => {
        'category' => 'ldap',
        'fields' => {
            'cn-group-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cn-netgroup-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable-rfc2307bis' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'gecos-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gid-number-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-of-unique-names-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-directory-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-owner' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'login-shell-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-nis-netgroup-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-uid-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-mapentry-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-mapname-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-netgroup-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-netgroup-triple-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'posix-account-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'posix-group-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schema' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uid-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uid-number-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unique-member-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-password-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name-data-admin',
                'flags' => 4,
                'scope' => [],
            },
            'windows-account-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-to-unix-attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'windows-to-unix-no-domain-prefix' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'windows-to-unix-object-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ldap-config' => {
        'category' => 'ldap',
        'fields' => {
            'client-config' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name-data-admin',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ldap-dn' => {
        'category' => 'ldap',
        'fields' => {
        },
    },
    'ldap-search-scope' => {
        'category' => 'ldap',
        'fields' => {
        },
    },
    'ldap-status' => {
        'category' => 'ldap',
        'fields' => {
            'client-config' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ldap-status' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ldap-status-details' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-name-data-admin' => {
        'category' => 'ldap',
        'fields' => {
        },
    },
    'datetime' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'license-code-v2' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'license-entitlement-risk' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'license-entitlement-risk-action' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'license-v2-added' => {
        'category' => 'license-v2',
        'fields' => {
            'customer-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'license-key' => {
                'type' => 'license-code-v2',
                'flags' => 4,
                'scope' => [],
            },
            'package' => {
                'type' => 'licensed-package',
                'flags' => 4,
                'scope' => [],
            },
            'package-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'license-v2-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-capacity-info' => {
        'category' => 'license-v2',
        'fields' => {
            'current-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'max-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'package' => {
                'type' => 'licensed-package',
                'flags' => 4,
                'scope' => [],
            },
            'reported-state' => {
                'type' => 'reported-capacity-state',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-cleanup' => {
        'category' => 'license-v2',
        'fields' => {
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'package' => {
                'type' => 'licensed-package',
                'flags' => 4,
                'scope' => [],
            },
            'reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-entitlement-risk-info' => {
        'category' => 'license-v2',
        'fields' => {
            'action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'action-code' => {
                'type' => 'license-entitlement-risk-action',
                'flags' => 4,
                'scope' => [],
            },
            'node-license-usage' => {
                'type' => 'node-license-usage-info',
                'flags' => 7,
                'scope' => [],
            },
            'package' => {
                'type' => 'licensed-package',
                'flags' => 4,
                'scope' => [],
            },
            'risk' => {
                'type' => 'license-entitlement-risk',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-info' => {
        'category' => 'license-v2',
        'fields' => {
            'customer-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'legacy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'package' => {
                'type' => 'licensed-package',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'license-v2-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-license-info' => {
        'category' => 'license-v2',
        'fields' => {
            'detailed-status' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'license' => {
                'type' => 'licensed-package',
                'flags' => 4,
                'scope' => [],
            },
            'scope' => {
                'type' => 'licensescope',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'licensestatus',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-op-status' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'license-v2-result' => {
        'category' => 'license-v2',
        'fields' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'entry' => {
                'type' => 'license-code-v2',
                'flags' => 4,
                'scope' => [],
            },
            'errcode' => {
                'type' => 'license-v2-op-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-status-info' => {
        'category' => 'license-v2',
        'fields' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'method' => {
                'type' => 'licensed-method',
                'flags' => 4,
                'scope' => [],
            },
            'package' => {
                'type' => 'licensed-package',
                'flags' => 4,
                'scope' => [],
            },
            'status-details' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-subscription-info' => {
        'category' => 'license-v2',
        'fields' => {
            'alert' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'is-default' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'package' => {
                'type' => 'licensed-package',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'licenseperiod',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'license-v2-type' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'licensed-method' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'licensed-package' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'licenseperiod' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'licensescope' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'licensestatus' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'node-license-usage-info' => {
        'category' => 'license-v2',
        'fields' => {
            'in-use' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'is-licensed' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'node-serial-number',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'node-serial-number' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'reported-capacity-state' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'true-false' => {
        'category' => 'license-v2',
        'fields' => {
        },
    },
    'lif-name' => {
        'category' => 'lock',
        'fields' => {
        },
    },
    'lock-break-iter-info' => {
        'category' => 'lock',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lock-key' => {
                'type' => 'lock-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'lock-info' => {
        'category' => 'lock',
        'fields' => {
            'bytelock-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bytelock-offset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'client-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-address-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'delegation-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-bytelock-exclusive' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-bytelock-mandatory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-bytelock-soft' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-bytelock-super' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-constituent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sharelock-soft' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lif' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lock-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lock-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lockid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'oplock-cache-level' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'owner-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sharelock-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'smb-connect-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'smb-expiration-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'smb-open-group-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'smb-open-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'uuid' => {
        'category' => 'lock',
        'fields' => {
        },
    },
    'alignment-state' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'fcp-pr-nexus' => {
        'category' => 'lun',
        'fields' => {
            'initiator-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'third-party-initiator-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
    },
    'fli-admin-state-enum' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'fli-operation-enum' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'fli-operational-state-enum' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'iscsi-pr-nexus' => {
        'category' => 'lun',
        'fields' => {
            'initiator' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'isid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'third-party-initiator-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'tpgroup-tag' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
        },
    },
    'lun-align-info' => {
        'category' => 'lun',
        'fields' => {
            'alignment' => {
                'type' => 'alignment-state',
                'flags' => 4,
                'scope' => [],
            },
            'multiprotocol-type' => {
                'type' => 'os-enum',
                'flags' => 4,
                'scope' => [],
            },
            'partition-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'partition-scheme' => {
                'type' => 'partition-scheme',
                'flags' => 4,
                'scope' => [],
            },
            'partition-table' => {
                'type' => 'partition-list-entry',
                'flags' => 7,
                'scope' => [],
            },
            'path' => {
                'type' => 'lun-path',
                'flags' => 4,
                'scope' => [],
            },
            'read-alignment-histogram' => {
                'type' => 'read-histogram-entry',
                'flags' => 7,
                'scope' => [],
            },
            'read-partial-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'write-alignment-histogram' => {
                'type' => 'write-histogram-entry',
                'flags' => 7,
                'scope' => [],
            },
            'write-partial-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'lun-attribute-info' => {
        'category' => 'lun',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-copy-info' => {
        'category' => 'lun',
        'fields' => {
            'cutover-time' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'destination-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-path' => {
                'type' => 'lun-path',
                'flags' => 4,
                'scope' => [],
            },
            'destination-ready' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'elapsed-time' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'is-destination-ready' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-promoted-early' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-snapshot-fenced' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'job-status' => {
                'type' => 'sfod-scanner-status',
                'flags' => 4,
                'scope' => [],
            },
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'last-failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-throughput' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'progress-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'promote-early' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-progress' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-progress-bytes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-progress-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-status' => {
                'type' => 'sfod-scanner-status',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-total' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'source-path' => {
                'type' => 'lun-path',
                'flags' => 4,
                'scope' => [],
            },
            'source-snapshot-instance-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'lun-import-info' => {
        'category' => 'lun',
        'fields' => {
            'administrative-status' => {
                'type' => 'fli-admin-state-enum',
                'flags' => 4,
                'scope' => [],
            },
            'compared-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'current-throughput' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'estimated-remaining-duration' => {
                'type' => 'timeticks',
                'flags' => 4,
                'scope' => [],
            },
            'failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'foreign-disk' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'import-current-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'import-home-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'imported-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-throughput-limit' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'operation-in-progress' => {
                'type' => 'fli-operation-enum',
                'flags' => 4,
                'scope' => [],
            },
            'operational-status' => {
                'type' => 'fli-operational-state-enum',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'lun-path',
                'flags' => 4,
                'scope' => [],
            },
            'percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'total-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'lun-info' => {
        'category' => 'lun',
        'fields' => {
            'alignment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'application' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'application-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'backing-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'block-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'clone-backing-snapshot' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'creation-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'device-binary-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'device-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'device-text-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-clone' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-clone-autodelete-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-inconsistent-import' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-restore-inaccessible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-space-alloc-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'is-space-reservation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mapped' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'multiprotocol-type' => {
                'type' => 'lun-os-type',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'online' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'prefix-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'read-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'serial-7-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'share-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'staging' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'suffix-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'lun-map-info' => {
        'category' => 'lun',
        'fields' => {
            'initiator-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-group-uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'lun-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lun-uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'reporting-nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'lun-move-info' => {
        'category' => 'lun',
        'fields' => {
            'cutover-time' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'destination-path' => {
                'type' => 'lun-path',
                'flags' => 4,
                'scope' => [],
            },
            'elapsed-time' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'is-destination-ready' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-promoted-late' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-snapshot-fenced' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'job-status' => {
                'type' => 'sfod-scanner-status',
                'flags' => 4,
                'scope' => [],
            },
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'last-failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lun-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-throughput' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'progress-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-progress' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-total' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'source-path' => {
                'type' => 'lun-path',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'lun-os-type' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'lun-path-pair' => {
        'category' => 'lun',
        'fields' => {
            'destination-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'source-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'lun-stats-info' => {
        'category' => 'lun',
        'fields' => {
            'block-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'other-ops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'read-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-ops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'scsi-errors' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'write-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'write-ops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'os-enum' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'partition-list-entry' => {
        'category' => 'lun',
        'fields' => {
            'partition-offset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'partition-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'partition-scheme' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'persistent-reservation-info' => {
        'category' => 'lun',
        'fields' => {
            'fcp-pr-nexus' => {
                'type' => 'fcp-pr-nexus',
                'flags' => 5,
                'scope' => [],
            },
            'iscsi-pr-nexus' => {
                'type' => 'iscsi-pr-nexus',
                'flags' => 5,
                'scope' => [],
            },
            'reservation-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reservation-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'reservation-type-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'scsi-revision' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-vserver'],
            },
        },
    },
    'qtree-name' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'read-histogram-entry' => {
        'category' => 'lun',
        'fields' => {
            'bin-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bin-value' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-api-enum-value-info' => {
        'category' => 'lun',
        'fields' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'timeticks' => {
        'category' => 'lun',
        'fields' => {
        },
    },
    'write-histogram-entry' => {
        'category' => 'lun',
        'fields' => {
            'bin-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bin-value' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'config-cluster-attribute-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'config-cluster-diff-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'attribute-diff-list' => {
                'type' => 'config-cluster-attribute-info',
                'flags' => 7,
                'scope' => [],
            },
            'destination-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'instance' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'keys' => {
                'type' => 'key-value-pair',
                'flags' => 6,
                'scope' => [],
            },
            'object' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'skip-excluded-fields' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'key-value-pair' => {
        'category' => 'metrocluster',
        'fields' => {
        },
    },
    'metrocluster-check-aggregate-eligibility-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'aggregate' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hosted-configuration-replication-volumes' => {
                'type' => 'volume-name',
                'flags' => 6,
                'scope' => [],
            },
            'is-eligible-to-host-additional-volumes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-aggregate-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'additional-info' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'check' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-capture-status-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'is-capture-in-progress' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-cluster-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'additional-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'check' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-config-replication-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'cluster-recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-streams' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'heartbeat-recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-running' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-heartbeat-received' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'last-heartbeat-sent' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-heartbeat' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-in-use' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-non-healthy-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-streams' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'additional-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'component' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-check-node-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'additional-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'check' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-config-replication-resync-status-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'inbound-completion-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inbound-sync-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'outbound-completion-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'outbound-sync-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-cr-storage-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'disallowed-aggregates' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'use-mirrored-aggregate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'configuration-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-auso-failure-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-configuration-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'local-periodic-check-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'remote-auso-failure-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-configuration-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-periodic-check-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-adapter' => {
        'category' => 'metrocluster',
        'fields' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-ood-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'link-speed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'link-speed-neg-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'physical-link-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-adapter-list' => {
                'type' => 'metrocluster-interconnect-remote-adapter',
                'flags' => 7,
                'scope' => [],
            },
            'switch-model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-ipfo' => {
        'category' => 'metrocluster',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-timeout-trigger-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'timeout-trigger-value' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-mirror' => {
        'category' => 'metrocluster',
        'fields' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mirroring-admin-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mirroring-oper-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'physical-link-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-mirror-multipath' => {
        'category' => 'metrocluster',
        'fields' => {
            'multipath-policy' => {
                'type' => 'metroclusterinterconnectmppolicy',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-interconnect-remote-adapter' => {
        'category' => 'metrocluster',
        'fields' => {
            'remote-adapter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-adapter-port-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'remote-adapter-port-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'remote-adapter-port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-partner-node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-node-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'additional-configuration-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'automatic-uso' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'configuration-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-auxiliary-cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-auxiliary-partner-node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-auxiliary-partner-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-auxiliary-systemid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dr-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dr-mirroring-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-operation-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dr-operation-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-partner-cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-partner-node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-partner-systemid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dr-partner-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force-node-object-limit' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ha-partner-cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ha-partner-node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ha-partner-systemid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ha-partner-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-systemid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-operation-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'command-line' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'end-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-list' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operation' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operation-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-operation-statistics-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'operation' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'succeeded' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-instances' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-progress-table-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'entry-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-show-lif-placement-failures' => {
        'category' => 'metrocluster',
        'fields' => {
            'data-protocol' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'lif-placement-failure' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sync-source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sync-source-vserver-lif' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-vserver-info' => {
        'category' => 'metrocluster',
        'fields' => {
            'cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'configuration-state' => {
                'type' => 'vs-mcc-config-state',
                'flags' => 4,
                'scope' => [],
            },
            'failed-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'failed-row' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metroclusterinterconnectmppolicy' => {
        'category' => 'metrocluster',
        'fields' => {
        },
    },
    'vs-mcc-config-state' => {
        'category' => 'metrocluster',
        'fields' => {
        },
    },
    'metrocluster-configuration-settings-info' => {
        'category' => 'metrocluster-configuration-settings',
        'fields' => {
            'cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'config-error-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'configuration-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-connection-info' => {
        'category' => 'metrocluster-connection',
        'fields' => {
            'cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'config-error-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'config-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'home-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-node-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'metrocluster-dr-group-info' => {
        'category' => 'metrocluster-dr-group',
        'fields' => {
            'cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dr-partner-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-partner-node-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'lif-bindable' => {
        'category' => 'metrocluster-interface',
        'fields' => {
        },
    },
    'metrocluster-interface-info' => {
        'category' => 'metrocluster-interface',
        'fields' => {
            'address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'config-error-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'config-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'name-mapping-direction' => {
        'category' => 'name-mapping',
        'fields' => {
        },
    },
    'name-mapping-info' => {
        'category' => 'name-mapping',
        'fields' => {
            'address' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'direction' => {
                'type' => 'name-mapping-direction',
                'flags' => 4,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pattern' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'replacement' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'unix-group-info' => {
        'category' => 'name-mapping',
        'fields' => {
            'group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'skip-name-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'users' => {
                'type' => 'unix-user-name',
                'flags' => 7,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'unix-user-info' => {
        'category' => 'name-mapping',
        'fields' => {
            'full-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'skip-name-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'user-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'unix-user-name' => {
        'category' => 'name-mapping',
        'fields' => {
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'address-family' => {
        'category' => 'nameservice',
        'fields' => {
        },
    },
    'counter64' => {
        'category' => 'nameservice',
        'fields' => {
        },
    },
    'name-service-cache-group-membership-settings-info' => {
        'category' => 'nameservice',
        'fields' => {
            'grplist-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'name-service-cache-hosts-settings-info' => {
        'category' => 'nameservice',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-negative-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'negative-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'name-service-cache-netgroup-settings-info' => {
        'category' => 'nameservice',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-negative-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'negative-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl-members' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'name-service-cache-unix-group-settings-info' => {
        'category' => 'nameservice',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-negative-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-propagation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'negative-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'name-service-cache-unix-user-settings-info' => {
        'category' => 'nameservice',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-negative-cache-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-propagation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'negative-ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'name-service-unix-group-fileonly-info' => {
        'category' => 'nameservice',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'name-service-unix-user-fileonly-info' => {
        'category' => 'nameservice',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'nameservice-dns-statistics' => {
        'category' => 'nameservice',
        'fields' => {
            'avg-rtt' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'dns-num-host-not-found' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'dns-num-timed-out' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'errors' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'format-error' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'max-rtt' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'min-rtt' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'name-server' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'not-implemented' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'queries' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'refused' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'servfail' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'total-rtt' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'nameservice-nis-statistics' => {
        'category' => 'nameservice',
        'fields' => {
            'avg-rtt' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'lookups' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'max-rtt' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'min-rtt' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'num-entry-not-found' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'num-rtx' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'total-rtt' => {
                'type' => 'counter64',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'namservice-nsswitch-config-info' => {
        'category' => 'nameservice',
        'fields' => {
            'nameservice-database' => {
                'type' => 'nss-db-type',
                'flags' => 4,
                'scope' => [],
            },
            'nameservice-sources' => {
                'type' => 'nss-source-type',
                'flags' => 6,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'nis-binding-detail' => {
        'category' => 'nameservice',
        'fields' => {
            'bound-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'bound-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'nis-domain-show-bound' => {
        'category' => 'nameservice',
        'fields' => {
            'bound-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'nss-db-type' => {
        'category' => 'nameservice',
        'fields' => {
        },
    },
    'nss-source-type' => {
        'category' => 'nameservice',
        'fields' => {
        },
    },
    'ndmp-node-session-info' => {
        'category' => 'ndmp',
        'fields' => {
            'client-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-backup-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-bytes-processed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-con-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-con-addr-type' => {
                'type' => 'ndmpd-addr-type',
                'flags' => 4,
                'scope' => [],
            },
            'data-con-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-halt-reason' => {
                'type' => 'ndmpd-halt-reason',
                'flags' => 4,
                'scope' => [],
            },
            'data-operation' => {
                'type' => 'ndmpd-data-oper',
                'flags' => 4,
                'scope' => [],
            },
            'data-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-state' => {
                'type' => 'ndmpd-state',
                'flags' => 4,
                'scope' => [],
            },
            'eff-host' => {
                'type' => 'ndmpd-host',
                'flags' => 4,
                'scope' => [],
            },
            'is-secure-control-connection' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mover-bytes-left-to-read' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-bytes-moved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-con-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mover-con-addr-type' => {
                'type' => 'ndmpd-addr-type',
                'flags' => 4,
                'scope' => [],
            },
            'mover-con-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-halt-reason' => {
                'type' => 'ndmpd-halt-reason',
                'flags' => 4,
                'scope' => [],
            },
            'mover-mode' => {
                'type' => 'ndmpd-mover-mode',
                'flags' => 4,
                'scope' => [],
            },
            'mover-pause-reason' => {
                'type' => 'ndmpd-pause-reason',
                'flags' => 4,
                'scope' => [],
            },
            'mover-position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-record-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-record-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-seek-position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-setrecordsize-flag' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mover-setwindow-flag' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mover-state' => {
                'type' => 'ndmpd-state',
                'flags' => 4,
                'scope' => [],
            },
            'mover-window-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-window-offset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ndmp-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'session-authorized' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'source-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'spt-device-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'spt-ha' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'spt-scsi-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'spt-scsi-lun' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tape-device' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tape-mode' => {
                'type' => 'ndmpd-mover-mode',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ndmp-password-info' => {
        'category' => 'ndmp',
        'fields' => {
            'password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ndmp-vserver-attributes-info' => {
        'category' => 'ndmp',
        'fields' => {
            'abort-on-disk-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'authtype' => {
                'type' => 'ndmpd-authtypes',
                'flags' => 6,
                'scope' => [],
            },
            'backup-log-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'data-port-range' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'debug-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'debug-filter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dump-detailed-stats' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'dump-logical-find' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'fh-dir-retry-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'fh-node-retry-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-ctime-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-secure-control-connection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'maxversion' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'offset-map-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'per-qtree-exclude-enable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'preferred-interface-role' => {
                'type' => 'netport-role',
                'flags' => 6,
                'scope' => [],
            },
            'restore-vm-cache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'secondary-debug-filter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tcpnodelay' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'tcpwinsize' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name-data-admin',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ndmp-vserver-session-info' => {
        'category' => 'ndmp',
        'fields' => {
            'client-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-backup-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-bytes-processed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-con-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-con-addr-type' => {
                'type' => 'ndmpd-addr-type',
                'flags' => 4,
                'scope' => [],
            },
            'data-con-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-halt-reason' => {
                'type' => 'ndmpd-halt-reason',
                'flags' => 4,
                'scope' => [],
            },
            'data-operation' => {
                'type' => 'ndmpd-data-oper',
                'flags' => 4,
                'scope' => [],
            },
            'data-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-state' => {
                'type' => 'ndmpd-state',
                'flags' => 4,
                'scope' => [],
            },
            'eff-host' => {
                'type' => 'ndmpd-host',
                'flags' => 4,
                'scope' => [],
            },
            'is-secure-control-connection' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mover-bytes-left-to-read' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-bytes-moved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-con-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mover-con-addr-type' => {
                'type' => 'ndmpd-addr-type',
                'flags' => 4,
                'scope' => [],
            },
            'mover-con-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-halt-reason' => {
                'type' => 'ndmpd-halt-reason',
                'flags' => 4,
                'scope' => [],
            },
            'mover-mode' => {
                'type' => 'ndmpd-mover-mode',
                'flags' => 4,
                'scope' => [],
            },
            'mover-pause-reason' => {
                'type' => 'ndmpd-pause-reason',
                'flags' => 4,
                'scope' => [],
            },
            'mover-position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-record-num' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-record-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-seek-position' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-setrecordsize-flag' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mover-setwindow-flag' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mover-state' => {
                'type' => 'ndmpd-state',
                'flags' => 4,
                'scope' => [],
            },
            'mover-window-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mover-window-offset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ndmp-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'session-authorized' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'spt-device-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'spt-ha' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'spt-scsi-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'spt-scsi-lun' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tape-device' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tape-mode' => {
                'type' => 'ndmpd-mover-mode',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ndmpd-addr-type' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'ndmpd-authtypes' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'ndmpd-data-oper' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'ndmpd-halt-reason' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'ndmpd-host' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'ndmpd-mover-mode' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'ndmpd-pause-reason' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'ndmpd-state' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'netport-role' => {
        'category' => 'ndmp',
        'fields' => {
        },
    },
    'adapter-type' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'broadcast-domain-name' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'broadcast-domain-port-status' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'cluster-name' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'csm-session-type' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'data-lif-capacity-details-info' => {
        'category' => 'net',
        'fields' => {
            'capacity-for-node' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'count-for-node' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'limit-for-node' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'data-lif-capacity-info' => {
        'category' => 'net',
        'fields' => {
            'count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'data-protocol' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'detect-switchless-cluster-info' => {
        'category' => 'net',
        'fields' => {
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'device-capability' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'dns-status' => {
        'category' => 'net',
        'fields' => {
            'name-server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status-details' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'dns-zone' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'external-route-table-info' => {
        'category' => 'net',
        'fields' => {
            'route-table-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'failover-group' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'fw-service' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'hosts-info' => {
        'category' => 'net',
        'fields' => {
            'aliases' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'host-ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'hostname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ip-and-mask' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'ip-range' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'ipaddresstype' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'ipv6-options-info' => {
        'category' => 'net',
        'fields' => {
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ipv6-ra-processing-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'lif-capacity-info' => {
        'category' => 'net',
        'fields' => {
            'destination-nodes' => {
                'type' => 'filer-id',
                'flags' => 6,
                'scope' => [],
            },
            'failover-group' => {
                'type' => 'failover-group',
                'flags' => 4,
                'scope' => [],
            },
            'failover-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lif-name' => {
                'type' => 'lif-name',
                'flags' => 4,
                'scope' => [],
            },
            'over-amount' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vif-owner-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'lif-placement-info' => {
        'category' => 'net',
        'fields' => {
            'home-node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'home-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'mac-address' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'nd-state' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'ndp-expire-time' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'ndp-neighbor-info' => {
        'category' => 'net',
        'fields' => {
            'mac-address' => {
                'type' => 'mac-address',
                'flags' => 4,
                'scope' => [],
            },
            'neighbor-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ndp-prefix-flag' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'ndp-prefix-lifetime' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'ndp-prefix-origin' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'ndp-ra-flag' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'net-active-routes-info' => {
        'category' => 'net',
        'fields' => {
            'address-type' => {
                'type' => 'ipaddresstype',
                'flags' => 4,
                'scope' => [],
            },
            'destination' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'flags' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lookup-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'metric' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'path-mtu' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'reference-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'route-interface-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-group' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-arp-info' => {
        'category' => 'net',
        'fields' => {
            'ip-space' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mac-address' => {
                'type' => 'mac-address',
                'flags' => 4,
                'scope' => [],
            },
            'remote-host' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-arp-operational-info' => {
        'category' => 'net',
        'fields' => {
            'mac-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-host' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-group' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-ddns-info' => {
        'category' => 'net',
        'fields' => {
            'domain-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-fqdn-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ttl' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'use-secure' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-device-discovery-info' => {
        'category' => 'net',
        'fields' => {
            'capabilities' => {
                'type' => 'device-capability',
                'flags' => 6,
                'scope' => [],
            },
            'device-ip' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'discovered-device' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hold-time-remaining' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'platform' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-dns-info' => {
        'category' => 'net',
        'fields' => {
            'attempts' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dns-state' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'domains' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'is-tld-query-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'require-packet-query-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'require-source-address-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-failover-group-info' => {
        'category' => 'net',
        'fields' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 4,
                'scope' => [],
            },
            'failover-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'targets' => {
                'type' => 'net-qualified-port-name',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-firewall-config-info' => {
        'category' => 'net',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-logging' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-firewall-config-modify-iter-info' => {
        'category' => 'net',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'net-firewall-config-key' => {
                'type' => 'net-firewall-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-firewall-policy-info' => {
        'category' => 'net',
        'fields' => {
            'allow-list' => {
                'type' => 'ip-and-mask',
                'flags' => 6,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'service' => {
                'type' => 'fw-service',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-ifgrp-info' => {
        'category' => 'net',
        'fields' => {
            'distribution-function' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'down-ports' => {
                'type' => 'lif-bindable',
                'flags' => 6,
                'scope' => [],
            },
            'ifgrp-name' => {
                'type' => 'lif-bindable',
                'flags' => 4,
                'scope' => [],
            },
            'mac-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-participation' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ports' => {
                'type' => 'lif-bindable',
                'flags' => 6,
                'scope' => [],
            },
            'up-ports' => {
                'type' => 'lif-bindable',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'net-interface-info' => {
        'category' => 'net',
        'fields' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'address-family' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'current-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'current-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-protocols' => {
                'type' => 'data-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'dns-domain-name' => {
                'type' => 'dns-zone',
                'flags' => 4,
                'scope' => [],
            },
            'extended-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'failover-group' => {
                'type' => 'failover-group',
                'flags' => 4,
                'scope' => [],
            },
            'failover-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firewall-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force-subnet-association' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'home-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'home-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-auto-revert' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dns-update-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-home' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ipv4-link-local' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lif-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'listen-for-dns-query' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'netmask-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'operational-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'routing-group-name' => {
                'type' => 'routing-group-type',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 4,
                'scope' => [],
            },
            'use-failover-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-interface-modify-iter-info' => {
        'category' => 'net',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'net-key' => {
                'type' => 'net-interface-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-ipspaces-info' => {
        'category' => 'net',
        'fields' => {
            'broadcast-domains' => {
                'type' => 'broadcast-domain-name',
                'flags' => 6,
                'scope' => [],
            },
            'id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ports' => {
                'type' => 'net-qualified-port-name',
                'flags' => 6,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'vservers' => {
                'type' => 'vserver-name',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'net-ndp-default-router-info' => {
        'category' => 'net',
        'fields' => {
            'expire-time' => {
                'type' => 'ndp-expire-time',
                'flags' => 4,
                'scope' => [],
            },
            'flag' => {
                'type' => 'ndp-ra-flag',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'lif-bindable',
                'flags' => 4,
                'scope' => [],
            },
            'router-addr' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-ndp-neighbor-cache-info' => {
        'category' => 'net',
        'fields' => {
            'expire-time' => {
                'type' => 'ndp-expire-time',
                'flags' => 4,
                'scope' => [],
            },
            'is-router' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mac-address' => {
                'type' => 'mac-address',
                'flags' => 4,
                'scope' => [],
            },
            'neighbor' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'lif-bindable',
                'flags' => 4,
                'scope' => [],
            },
            'probe-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'nd-state',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-group' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vif-owner-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-ndp-prefix-info' => {
        'category' => 'net',
        'fields' => {
            'advertising-router' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'expire-time' => {
                'type' => 'ndp-expire-time',
                'flags' => 4,
                'scope' => [],
            },
            'flag' => {
                'type' => 'ndp-prefix-flag',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'origin' => {
                'type' => 'ndp-prefix-origin',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'lif-bindable',
                'flags' => 4,
                'scope' => [],
            },
            'preferred-lifetime' => {
                'type' => 'ndp-prefix-lifetime',
                'flags' => 4,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'valid-lifetime' => {
                'type' => 'ndp-prefix-lifetime',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-options' => {
        'category' => 'net',
        'fields' => {
            'detect-switchless-cluster-info' => {
                'type' => 'detect-switchless-cluster-info',
                'flags' => 5,
                'scope' => [],
            },
            'ipv6-options-info' => {
                'type' => 'ipv6-options-info',
                'flags' => 5,
                'scope' => [],
            },
            'switchless-cluster-info' => {
                'type' => 'switchless-cluster-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'net-options-hypervisor-uplink-monitoring-info' => {
        'category' => 'net',
        'fields' => {
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-placement-cache' => {
        'category' => 'net',
        'fields' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'found' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'netmask-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-port-broadcast-domain-info' => {
        'category' => 'net',
        'fields' => {
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 4,
                'scope' => [],
            },
            'failover-groups' => {
                'type' => 'failover-group',
                'flags' => 6,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mtu' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'port-update-status-combined' => {
                'type' => 'broadcast-domain-port-status',
                'flags' => 4,
                'scope' => [],
            },
            'ports' => {
                'type' => 'port-info',
                'flags' => 7,
                'scope' => [],
            },
            'subnet-names' => {
                'type' => 'subnet-name',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'net-port-health-monitor-info' => {
        'category' => 'net',
        'fields' => {
            'health-monitors' => {
                'type' => 'netport-degraded-reason',
                'flags' => 6,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-port-info' => {
        'category' => 'net',
        'fields' => {
            'administrative-duplex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-flowcontrol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'administrative-speed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'autorevert-delay' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 4,
                'scope' => [],
            },
            'health-degraded-reasons' => {
                'type' => 'netport-degraded-reason',
                'flags' => 6,
                'scope' => [],
            },
            'health-status' => {
                'type' => 'netport-health-status',
                'flags' => 4,
                'scope' => [],
            },
            'ifgrp-distribution-function' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ifgrp-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ifgrp-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ifgrp-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-health-status' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-administrative-auto-negotiate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-administrative-up' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-operational-auto-negotiate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'link-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mac-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mtu' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mtu-admin' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operational-duplex' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operational-flowcontrol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operational-speed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-device-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vlan-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vlan-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vlan-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-port-modify-iter-info' => {
        'category' => 'net',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'net-key' => {
                'type' => 'net-port-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'net-qualified-port-name' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'net-subnet-info' => {
        'category' => 'net',
        'fields' => {
            'available-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'broadcast-domain' => {
                'type' => 'broadcast-domain-name',
                'flags' => 4,
                'scope' => [],
            },
            'force-update-lif-associations' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'ip-ranges' => {
                'type' => 'ip-range',
                'flags' => 6,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subnet' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'subnet-name',
                'flags' => 4,
                'scope' => [],
            },
            'total-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'used-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-tuning-icmp-options' => {
        'category' => 'net',
        'fields' => {
            'is-drop-redirect-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'redirect-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tx-icmp-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-tuning-icmp6-options' => {
        'category' => 'net',
        'fields' => {
            'is-v6-redirect-accepted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'redirect-v6-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-tuning-tcp-options' => {
        'category' => 'net',
        'fields' => {
            'is-path-mtu-discovery-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rfc3390-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rfc3465-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sack-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-cwnd-increment' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-vs-routes-info' => {
        'category' => 'net',
        'fields' => {
            'address-family' => {
                'type' => 'ipaddresstype',
                'flags' => 4,
                'scope' => [],
            },
            'destination' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'metric' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'net-vs-routes-lif-info' => {
        'category' => 'net',
        'fields' => {
            'address-family' => {
                'type' => 'ipaddresstype',
                'flags' => 4,
                'scope' => [],
            },
            'destination' => {
                'type' => 'ip-and-mask',
                'flags' => 4,
                'scope' => [],
            },
            'gateway' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'lif-names' => {
                'type' => 'lif-name',
                'flags' => 6,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'netport-degraded-reason' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'netport-health-status' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'network-type' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'port-info' => {
        'category' => 'net',
        'fields' => {
            'port' => {
                'type' => 'net-qualified-port-name',
                'flags' => 4,
                'scope' => [],
            },
            'port-update-status' => {
                'type' => 'broadcast-domain-port-status',
                'flags' => 4,
                'scope' => [],
            },
            'port-update-status-details' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'protocol-layer4' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'qos-marking' => {
        'category' => 'net',
        'fields' => {
            'dscp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'receive-buffer' => {
        'category' => 'net',
        'fields' => {
            'network' => {
                'type' => 'network-type',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'protocol-layer4',
                'flags' => 4,
                'scope' => [],
            },
            'receive-auto-tune' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'receive-buffer' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'service' => {
                'type' => 'stream-protocol-service',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'routing-group-route-info' => {
        'category' => 'net',
        'fields' => {
            'address-family' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'gateway-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'metric' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'routing-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'routing-group-type' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'stream-protocol-service' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'subnet-name' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'switchless-cluster-info' => {
        'category' => 'net',
        'fields' => {
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vif-owner-name' => {
        'category' => 'net',
        'fields' => {
        },
    },
    'vlan-info' => {
        'category' => 'net',
        'fields' => {
            'gvrp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interface-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'parent-interface' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vlanid' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'netgroups-file-config-info' => {
        'category' => 'netgroup',
        'fields' => {
            'domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'host' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-netgroup' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'export-lookup-protos' => {
        'category' => 'nfs',
        'fields' => {
        },
    },
    'exports-hostname-info' => {
        'category' => 'nfs',
        'fields' => {
            'all-hosts' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'negate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'exports-rule-info' => {
        'category' => 'nfs',
        'fields' => {
            'actual-pathname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'anon' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nosuid' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'pathname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'read-only' => {
                'type' => 'exports-hostname-info',
                'flags' => 7,
                'scope' => [],
            },
            'read-write' => {
                'type' => 'exports-hostname-info',
                'flags' => 7,
                'scope' => [],
            },
            'root' => {
                'type' => 'exports-hostname-info',
                'flags' => 7,
                'scope' => [],
            },
            'sec-flavor' => {
                'type' => 'sec-flavor-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'exports-rule-info-2' => {
        'category' => 'nfs',
        'fields' => {
            'actual-pathname' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pathname' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'security-rules' => {
                'type' => 'security-rule-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'nfs-info' => {
        'category' => 'nfs',
        'fields' => {
            'auth-sys-extended-groups' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cached-cred-negative-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cached-cred-positive-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cached-transient-err-ttl' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'chown-mode' => {
                'type' => 'nfschownmode',
                'flags' => 4,
                'scope' => [],
            },
            'default-windows-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-windows-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enable-ejukebox' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'extended-groups-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-session-io-grouping-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-session-io-grouping-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-nt-acl-for-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-checksum-enabled-for-replay-cache' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-mount-rootonly-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-netgroup-dns-domain-search' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfs-access-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfs-rootonly-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv2-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-64bit-identifiers-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-connection-drop-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv3-fsid-change-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv4-fsid-change-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv4-numeric-ids-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-acl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-migration-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-read-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-referrals-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-req-open-confirm-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv40-write-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-acl-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-acl-preserve-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-migration-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-pnfs-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-pnfs-striped-volumes-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-read-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-referrals-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-state-protection-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nfsv41-write-delegation-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-qtree-export-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rquota-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-tcp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-udp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-v3-ms-dos-client-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-validate-qtree-export-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-vstorage-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'map-unknown-uid-to-default-windows-user' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mountd-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name-service-lookup-protocol' => {
                'type' => 'export-lookup-protos',
                'flags' => 4,
                'scope' => [],
            },
            'netgroup-trust-any-ns-switch-no-match' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-acl-max-aces' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-grace-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-id-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4-lease-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv41-implementation-id-time' => {
                'type' => 'date',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4x-session-num-slots' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nfsv4x-session-slot-reply-cache-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nlm-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nsm-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ntacl-display-permissive-perms' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ntfs-unix-security-ops' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'permitted-enc-types' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'rpcsec-ctx-high' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rpcsec-ctx-idle' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rquotad-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'showmount' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'showmount-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'skip-root-owner-write-perm-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'v3-search-unconverted-filename' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'v4-inherited-acl-preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'nfschownmode' => {
        'category' => 'nfs',
        'fields' => {
        },
    },
    'pathname-info' => {
        'category' => 'nfs',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sec-flavor-info' => {
        'category' => 'nfs',
        'fields' => {
            'flavor' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'security-rule-info' => {
        'category' => 'nfs',
        'fields' => {
            'anon' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nosuid' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'read-only' => {
                'type' => 'exports-hostname-info',
                'flags' => 7,
                'scope' => [],
            },
            'read-write' => {
                'type' => 'exports-hostname-info',
                'flags' => 7,
                'scope' => [],
            },
            'root' => {
                'type' => 'exports-hostname-info',
                'flags' => 7,
                'scope' => [],
            },
            'sec-flavor' => {
                'type' => 'sec-flavor-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'nis-domain-config-info' => {
        'category' => 'nis',
        'fields' => {
            'is-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nis-fqdn' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'nis-servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'skip-config-validation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'double' => {
        'category' => 'ntp-server',
        'fields' => {
        },
    },
    'ntp-server-info' => {
        'category' => 'ntp-server',
        'fields' => {
            'is-preferred' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-public-default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'server-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ntp-server-security-info' => {
        'category' => 'ntp-server',
        'fields' => {
            'is-query-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ntp-server-status-info' => {
        'category' => 'ntp-server',
        'fields' => {
            'is-peer-reachable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'offset' => {
                'type' => 'double',
                'flags' => 4,
                'scope' => [],
            },
            'selection-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'option-info' => {
        'category' => 'options',
        'fields' => {
            'cluster-constraint' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'default-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'priv-level' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'options-modify-iter-info' => {
        'category' => 'options',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'options-key' => {
                'type' => 'option-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'aggregation-data' => {
        'category' => 'perf',
        'fields' => {
            'constituent-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'archive-config-info' => {
        'category' => 'perf',
        'fields' => {
            'asup-file-rotation' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'asup-max-retention' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'datastore-file-rotation' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'datastore-max-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'datastore-max-retention' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'datastore-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enabled-presets' => {
                'type' => 'enabled-preset',
                'flags' => 7,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'opm-file-rotation' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'perfstat-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'perfstat-end-date' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'perfstat-sampling-period' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ccma-datafile-state' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'counter' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'counter-data' => {
        'category' => 'perf',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'counter-info' => {
        'category' => 'perf',
        'fields' => {
            'aggregation-style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'base-counter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'desc' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-deprecated' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-key' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'labels' => {
                'type' => 'label-info',
                'flags' => 6,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'privilege-level' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'properties' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'replaced-by' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'translation-input-counter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'enabled-preset' => {
        'category' => 'perf',
        'fields' => {
            'preset' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'filename' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'filter' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'filter-data' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'instance' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'instance-data' => {
        'category' => 'perf',
        'fields' => {
            'aggregation' => {
                'type' => 'aggregation-data',
                'flags' => 5,
                'scope' => [],
            },
            'counters' => {
                'type' => 'counter-data',
                'flags' => 3,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'sort-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'instance-info' => {
        'category' => 'perf',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'instance-uuid' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'label-info' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'object-info' => {
        'category' => 'perf',
        'fields' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'get-instances-preferred-counter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-deprecated' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'privilege-level' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'replaced-by' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'perf-archive-datafile-age-filter' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'perf-archive-datafile-info' => {
        'category' => 'perf',
        'fields' => {
            'duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'filenames' => {
                'type' => 'filename',
                'flags' => 6,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-period' => {
                'type' => 'perf-archive-sample-period',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'ccma-datafile-state',
                'flags' => 4,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'perf-archive-datastore-info' => {
        'category' => 'perf',
        'fields' => {
            'datastore' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'oldest-timestamp' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'perf-archive-datafile-infos' => {
                'type' => 'perf-archive-datafile-info',
                'flags' => 7,
                'scope' => [],
            },
            'process' => {
                'type' => 'process-name',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'perf-archive-info' => {
        'category' => 'perf',
        'fields' => {
            'archive' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'case-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'end-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'source-nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'perf-archive-state',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'perf-archive-sample-period' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'perf-archive-state' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'preset-detail-info' => {
        'category' => 'perf',
        'fields' => {
            'counter-set' => {
                'type' => 'counter',
                'flags' => 2,
                'scope' => [],
            },
            'generation-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'instance-filters' => {
                'type' => 'filter',
                'flags' => 6,
                'scope' => [],
            },
            'object' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'sample-period' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'preset-info' => {
        'category' => 'perf',
        'fields' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-end-date' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'generation-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-archive-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-read-only' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'new-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'preset' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'privilege' => {
                'type' => 'privilege-level',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'privilege-level' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'process-name' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'sample-info' => {
        'category' => 'perf',
        'fields' => {
            'counter' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'filter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'instance' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'max' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'object' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'privilege' => {
                'type' => 'privilege-level',
                'flags' => 4,
                'scope' => [],
            },
            'sample-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sample-status' => {
                'type' => 'sample-status',
                'flags' => 4,
                'scope' => [],
            },
            'sample-type' => {
                'type' => 'sample-type',
                'flags' => 4,
                'scope' => [],
            },
            'sort-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sort-order' => {
                'type' => 'sort-order',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'stop-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sample-status' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'sample-type' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'sort-order' => {
        'category' => 'perf',
        'fields' => {
        },
    },
    'platform-cap-info' => {
        'category' => 'platform-cap',
        'fields' => {
            'capability-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'supported' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'initiator-group-name' => {
        'category' => 'portset',
        'fields' => {
        },
    },
    'portset-info' => {
        'category' => 'portset',
        'fields' => {
            'initiator-group-info' => {
                'type' => 'initiator-group-name',
                'flags' => 6,
                'scope' => [],
            },
            'portset-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'portset-port-info' => {
                'type' => 'portset-port-name',
                'flags' => 6,
                'scope' => [],
            },
            'portset-port-total' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'portset-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'portset-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'portset-port-name' => {
        'category' => 'portset',
        'fields' => {
        },
    },
    'cache-info' => {
        'category' => 'qos',
        'fields' => {
            'cache-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-lopri-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-meta-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-normal-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-randomwrite-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-readahead-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'cache-policy-modify-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-settings-cache-key' => {
                'type' => 'cache-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-delete-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-adaptive-policy-group-key' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-info' => {
        'category' => 'qos',
        'fields' => {
            'absolute-min-iops' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'expected-iops' => {
                'type' => 'qos-tput-capacity',
                'flags' => 4,
                'scope' => [],
            },
            'num-workloads' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'peak-iops' => {
                'type' => 'qos-tput-capacity',
                'flags' => 4,
                'scope' => [],
            },
            'peak-iops-allocation' => {
                'type' => 'qos-peak-iops-allocation',
                'flags' => 4,
                'scope' => [],
            },
            'pgid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-adaptive-policy-group-modify-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-adaptive-policy-group-key' => {
                'type' => 'qos-adaptive-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-class' => {
        'category' => 'qos',
        'fields' => {
        },
    },
    'qos-peak-iops-allocation' => {
        'category' => 'qos',
        'fields' => {
        },
    },
    'qos-policy-destroy-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-key' => {
                'type' => 'qos-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-delete-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group-key' => {
                'type' => 'qos-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-info' => {
        'category' => 'qos',
        'fields' => {
            'max-throughput' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'min-throughput' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'num-workloads' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'pgid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-policy-group-modify-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group-key' => {
                'type' => 'qos-policy-group-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-policy-info' => {
        'category' => 'qos',
        'fields' => {
            'cache-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-policy-modify-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-key' => {
                'type' => 'qos-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-policy-read-ahead-destroy-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-read-ahead-key' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-policy-read-ahead-info' => {
        'category' => 'qos',
        'fields' => {
            'align-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'early-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-dump' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-full' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-none' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interarrival-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'jitter' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-deadline' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-gap' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'metadata-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overshoot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'smallfile-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-async' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-feedback' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-timing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-policy-read-ahead-modify-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-read-ahead-key' => {
                'type' => 'qos-policy-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-settings-archived-workload-info' => {
        'category' => 'qos',
        'fields' => {
            'max-workloads' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-settings-control-info' => {
        'category' => 'qos',
        'fields' => {
            'enforcement' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-deactivation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ratebucket-rebalance' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-settings-read-ahead-destroy-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-settings-read-ahead-key' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-settings-read-ahead-info' => {
        'category' => 'qos',
        'fields' => {
            'align-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-factor' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-response-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'early-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'force-dump' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-full' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-none' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interarrival-weight' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'jitter' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-deadline' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-gap' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'metadata-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-disk-response-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-file-histogram' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-range' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-retire-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overshoot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead-setting-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'smallfile-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'use-async' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-feedback' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-histogram' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'use-timing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-settings-read-ahead-modify-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-settings-read-ahead-key' => {
                'type' => 'qos-settings-read-ahead-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-stream-characteristics' => {
        'category' => 'qos',
        'fields' => {
            'lun' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-stream-destroy-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-stream-key' => {
                'type' => 'qos-stream-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-stream-info' => {
        'category' => 'qos',
        'fields' => {
            'characteristics' => {
                'type' => 'qos-stream-characteristics',
                'flags' => 5,
                'scope' => [],
            },
            'stream-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-tput' => {
        'category' => 'qos',
        'fields' => {
        },
    },
    'qos-tput-capacity' => {
        'category' => 'qos',
        'fields' => {
        },
    },
    'qos-workload-delete-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-workload-key' => {
                'type' => 'qos-workload-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-workload-destroy-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-workload-key' => {
                'type' => 'qos-workload-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-workload-info' => {
        'category' => 'qos',
        'fields' => {
            'category' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-adaptive' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-constituent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lun' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'match-priority' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-throughput' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'min-throughput' => {
                'type' => 'qos-tput',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'read-ahead' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'workload-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'workload-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'workload-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qos-workload-modify-iter-info' => {
        'category' => 'qos',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-workload-key' => {
                'type' => 'qos-workload-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'qos-workload-policy-count-info' => {
        'category' => 'qos',
        'fields' => {
            'max-user-policies' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-user-workloads' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-user-policies' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-user-workloads' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'qtree-info' => {
        'category' => 'qtree',
        'fields' => {
            'export-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'is-export-policy-inherited' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'oplocks' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'security-style' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'quota' => {
        'category' => 'quota',
        'fields' => {
            'disk-limit' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'disk-used' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'disk-used-pct-disk-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-used-pct-soft-disk-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-used-pct-threshold' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-limit' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'files-used' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'files-used-pct-file-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'files-used-pct-soft-file-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'quota-target' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-users' => {
                'type' => 'quota-user',
                'flags' => 7,
                'scope' => [],
            },
            'soft-disk-limit' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'soft-file-limit' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'threshold' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tree' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'quota-entry' => {
        'category' => 'quota',
        'fields' => {
            'disk-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'file-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'perform-user-mapping' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'qtree' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'quota-error' => {
                'type' => 'quota-error',
                'flags' => 5,
                'scope' => [],
            },
            'quota-target' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'soft-disk-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'soft-file-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'threshold' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'quota-error' => {
        'category' => 'quota',
        'fields' => {
            'detail' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'errno' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'reason' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'quota-error-msg' => {
        'category' => 'quota',
        'fields' => {
        },
    },
    'quota-policy-delete-iter-info' => {
        'category' => 'quota',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'quota-policy-key' => {
                'type' => 'quota-policy-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'quota-policy-info' => {
        'category' => 'quota',
        'fields' => {
            'last-modified' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'quota-policy-rule-count-info' => {
        'category' => 'quota',
        'fields' => {
            'count-where-policy' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'count-where-policy-volume' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'count-where-policy-volume-qtree' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'count-where-policy-volume-qtree-type' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'count-where-policy-volume-type' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qtree' => {
                'type' => 'qtree-name',
                'flags' => 4,
                'scope' => [],
            },
            'quota-type' => {
                'type' => 'quota-type',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'quota-status-attributes' => {
        'category' => 'quota',
        'fields' => {
            'percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'quota-error-msgs' => {
                'type' => 'quota-error-msg',
                'flags' => 6,
                'scope' => [],
            },
            'reason' => {
                'type' => 'quota-error-msg',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'substatus' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'quota-type' => {
        'category' => 'quota',
        'fields' => {
        },
    },
    'quota-user' => {
        'category' => 'quota',
        'fields' => {
            'quota-user-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-user-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'quota-user-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'unsigned64-or-dash' => {
        'category' => 'quota',
        'fields' => {
        },
    },
    'sectrace-protocol' => {
        'category' => 'sectrace',
        'fields' => {
        },
    },
    'security-style' => {
        'category' => 'sectrace',
        'fields' => {
        },
    },
    'security-trace-filter-attributes' => {
        'category' => 'sectrace',
        'fields' => {
            'client-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protocols' => {
                'type' => 'sectrace-protocol',
                'flags' => 6,
                'scope' => [],
            },
            'time-enabled' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'trace-allow' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'unix-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
            'windows-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-trace-results-logs' => {
        'category' => 'sectrace',
        'fields' => {
            'client-ip' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'keytime' => {
                'type' => 'date',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'sectrace-protocol',
                'flags' => 4,
                'scope' => [],
            },
            'result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-style' => {
                'type' => 'security-style',
                'flags' => 4,
                'scope' => [],
            },
            'seqnum' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'share-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unix-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ciphers' => {
        'category' => 'security',
        'fields' => {
        },
    },
    'fips-interfaces' => {
        'category' => 'security',
        'fields' => {
        },
    },
    'kex-algorithms' => {
        'category' => 'security',
        'fields' => {
        },
    },
    'mac-algorithms' => {
        'category' => 'security',
        'fields' => {
        },
    },
    'saml-sp-config-info' => {
        'category' => 'security',
        'fields' => {
            'cert-ca' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cert-common-name' => {
                'type' => 'common-name',
                'flags' => 4,
                'scope' => [],
            },
            'cert-serial' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'idp-uri' => {
                'type' => 'uri',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'sp-host' => {
                'type' => 'remote-inet-address',
                'flags' => 4,
                'scope' => [],
            },
            'verify-metadata-server' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-config-info' => {
        'category' => 'security',
        'fields' => {
            'cluster-security-config-ready' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'fips-interfaces',
                'flags' => 4,
                'scope' => [],
            },
            'is-fips-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'supported-ciphers' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'supported-protocols' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'security-config-ocsp' => {
        'category' => 'security',
        'fields' => {
            'application' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-ocsp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-login-account-info' => {
        'category' => 'security',
        'fields' => {
            'application' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'authentication-method' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-locked' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ns-switch-group' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'password-hash-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-switch-ipaddress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'second-authentication-method' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-login-delete-iter-info' => {
        'category' => 'security',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key' => {
                'type' => 'security-login-account-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-login-expire-password-iter-info' => {
        'category' => 'security',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key' => {
                'type' => 'security-login-password-user-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-login-modify-iter-info' => {
        'category' => 'security',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key' => {
                'type' => 'security-login-account-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-login-password-user-info' => {
        'category' => 'security',
        'fields' => {
            'password-hash-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-login-role-config-info' => {
        'category' => 'security',
        'fields' => {
            'account-expiry-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'account-inactive-limit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'change-password-duration-in-days' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'delay-after-failed-login' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-passwords-disallowed-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lockout-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-failed-login-attempts' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-passwd-specialchar' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-password-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'min-username-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'passwd-expiry-warn-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'passwd-min-digits' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'passwd-min-lowercase-chars' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'passwd-min-uppercase-chars' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'password-expiration-duration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'require-initial-password-update' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'require-password-alpha-numeric' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'require-username-alpha-numeric' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-login-role-config-modify-iter-info' => {
        'category' => 'security',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key' => {
                'type' => 'security-login-role-config-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-login-role-delete-iter-info' => {
        'category' => 'security',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key' => {
                'type' => 'security-login-role-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-login-role-info' => {
        'category' => 'security',
        'fields' => {
            'access-level' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'command-directory-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role-query' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-login-role-modify-iter-info' => {
        'category' => 'security',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key' => {
                'type' => 'security-login-role-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-protocol-info' => {
        'category' => 'security',
        'fields' => {
            'application' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-protocol-ssh-info' => {
        'category' => 'security',
        'fields' => {
            'connections-per-second' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-instances' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'per-source-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-ssh-info' => {
        'category' => 'security',
        'fields' => {
            'ciphers' => {
                'type' => 'ciphers',
                'flags' => 6,
                'scope' => [],
            },
            'key-exchange-algorithms' => {
                'type' => 'kex-algorithms',
                'flags' => 6,
                'scope' => [],
            },
            'mac-algorithms' => {
                'type' => 'mac-algorithms',
                'flags' => 6,
                'scope' => [],
            },
            'max-authentication-retry-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name-data-admin',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snmpv3-login-info' => {
        'category' => 'security',
        'fields' => {
            'authentication-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'authentication-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'engine-id' => {
                'type' => 'hex-string',
                'flags' => 4,
                'scope' => [],
            },
            'privacy-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'privacy-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'certificate-ca-issued-info' => {
        'category' => 'security-certificate',
        'fields' => {
            'ca-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'country' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'email-addr' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-date' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'locality' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organization' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organization-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'revocation-date' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'certificate-file-info' => {
        'category' => 'security-certificate',
        'fields' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'exists' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'file' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subtype' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'certificate-info' => {
        'category' => 'security-certificate',
        'fields' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'country' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'email-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiration-date' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'expire-days' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'hash-function' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'locality' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organization' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'organization-unit' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'public-certificate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start-date' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subtype' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'pubcertificate' => {
        'category' => 'security-certificate',
        'fields' => {
        },
    },
    'security-certificate-delete-iter-info' => {
        'category' => 'security-certificate',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-certificate-key' => {
                'type' => 'certificate-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'subtype' => {
        'category' => 'security-certificate',
        'fields' => {
        },
    },
    'uri' => {
        'category' => 'security-certificate',
        'fields' => {
        },
    },
    'key-id-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'restored' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'key-manager-certificate-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'client-certificate-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-server-certificates' => {
                'type' => 'server-certificate-info',
                'flags' => 7,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'keymanager-certificate-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'key-manager-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-server-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-tcp-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'key-manager-query-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'key-id-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'key-ids' => {
                'type' => 'key-id-info',
                'flags' => 7,
                'scope' => [],
            },
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-server-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'key-manager-query-info-v2' => {
        'category' => 'security-key-manager',
        'fields' => {
            'key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-server-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'restored' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'key-manager-restore-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'key-id-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'key-ids' => {
                'type' => 'key-id-info',
                'flags' => 7,
                'scope' => [],
            },
            'key-manager-ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-manager-server-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'keymanager-certificate-type' => {
        'category' => 'security-key-manager',
        'fields' => {
        },
    },
    'keymanager-status' => {
        'category' => 'security-key-manager',
        'fields' => {
        },
    },
    'security-key-manager-add-iter-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key-manager-key' => {
                'type' => 'key-manager-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-key-manager-certificate-update-iter-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key-manager-key' => {
                'type' => 'key-manager-certificate-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'security-key-manager-delete-iter-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-key-manager-key' => {
                'type' => 'key-manager-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'server-certificate-info' => {
        'category' => 'security-key-manager',
        'fields' => {
            'key-manager-ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'server-certificate-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-key-manager-key-info' => {
        'category' => 'security-key-manager-key',
        'fields' => {
            'key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-store' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'key-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'restored' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'used-by' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'security-session-kill-cli-iter-info' => {
        'category' => 'security-session',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'security-session-key' => {
                'type' => 'session-running-stats-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'session-application-limits-info' => {
        'category' => 'security-session',
        'fields' => {
            'application' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-application-stats-info' => {
        'category' => 'security-session',
        'fields' => {
            'active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'application' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'average-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'idle-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'last-active-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'success-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-default-limits-info' => {
        'category' => 'security-session',
        'fields' => {
            'category' => {
                'type' => 'session-limit-type',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-if-type' => {
        'category' => 'security-session',
        'fields' => {
        },
    },
    'session-limit-type' => {
        'category' => 'security-session',
        'fields' => {
        },
    },
    'session-location-limits-info' => {
        'category' => 'security-session',
        'fields' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-location-stats-info' => {
        'category' => 'security-session',
        'fields' => {
            'active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'average-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'idle-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-active-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'success-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-request-limits-info' => {
        'category' => 'security-session',
        'fields' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'request' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-request-stats-info' => {
        'category' => 'security-session',
        'fields' => {
            'active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'average-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'idle-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'last-active-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'request' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'success-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-running-stats-info' => {
        'category' => 'security-session',
        'fields' => {
            'active-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'application' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'failed-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'idle-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'request' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'session-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'session-state',
                'flags' => 4,
                'scope' => [],
            },
            'total-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-state' => {
        'category' => 'security-session',
        'fields' => {
        },
    },
    'session-user-limits-info' => {
        'category' => 'security-session',
        'fields' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-user-stats-info' => {
        'category' => 'security-session',
        'fields' => {
            'active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'average-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'idle-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'last-active-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'success-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-vserver-limits-info' => {
        'category' => 'security-session',
        'fields' => {
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'session-vserver-stats-info' => {
        'category' => 'security-session',
        'fields' => {
            'active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'average-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocked-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'idle-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'interface' => {
                'type' => 'session-if-type',
                'flags' => 4,
                'scope' => [],
            },
            'last-active-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-active-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'max-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'success-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-requests' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-seconds' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserverid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-ssl-info' => {
        'category' => 'security-ssl',
        'fields' => {
            'certificate-authority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'certificate-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'client-authentication-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'common-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-default-responder' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-max-response-age' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-max-response-time-skew' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-override-responder' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-responder-timeout' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'ocsp-use-request-nonce' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'server-authentication-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'service-processor-api-service' => {
        'category' => 'service-processor',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'service-processor-asup-info' => {
        'category' => 'service-processor',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'service-processor-image' => {
        'category' => 'service-processor',
        'fields' => {
            'firmware-image' => {
                'type' => 'sp-fw-type',
                'flags' => 4,
                'scope' => [],
            },
            'is-autoupdate-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-current' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-update-status' => {
                'type' => 'sp-pass-fail',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'sp-fw-status',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'sp-type',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'service-processor-image-update-progress-info' => {
        'category' => 'service-processor',
        'fields' => {
            'end-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'is-in-progress' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'percent-done' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'service-processor-info' => {
        'category' => 'service-processor',
        'fields' => {
            'device-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'ipmi-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-autoupdate-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ip-configured' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mac-address' => {
                'type' => 'mac-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'part-num' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-num' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'sp-status-type',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'sp-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'service-processor-log-info' => {
        'category' => 'service-processor',
        'fields' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'remote-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'seqlist' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'service-processor-network-info' => {
        'category' => 'service-processor',
        'fields' => {
            'address-type' => {
                'type' => 'sp-ip-address-type',
                'flags' => 4,
                'scope' => [],
            },
            'device-type' => {
                'type' => 'sp-type',
                'flags' => 4,
                'scope' => [],
            },
            'dhcp' => {
                'type' => 'sp-dhcp-status',
                'flags' => 4,
                'scope' => [],
            },
            'gateway-ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-ipv6-ra-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'link-local-ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'link-status' => {
                'type' => 'sp-link-status',
                'flags' => 4,
                'scope' => [],
            },
            'mac-address' => {
                'type' => 'mac-address',
                'flags' => 4,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'prefix-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'router-ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'setup-failure-reason' => {
                'type' => 'sp-setup-errcodes',
                'flags' => 4,
                'scope' => [],
            },
            'setup-status' => {
                'type' => 'sp-setup-status',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'sp-status-type',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'service-processor-network-modify-iter-info' => {
        'category' => 'service-processor',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'service-processor-key' => {
                'type' => 'service-processor-network-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'service-processor-ssh-info' => {
        'category' => 'service-processor',
        'fields' => {
            'allowed-addresses' => {
                'type' => 'ip-and-mask',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'sp-dhcp-status' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-fw-status' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-fw-type' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-fw-update-type' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-ip-address-type' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-link-status' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-pass-fail' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-setup-errcodes' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-setup-status' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-status-type' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'sp-subnet-name-info' => {
        'category' => 'service-processor',
        'fields' => {
            'subnet-name-v4' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'subnet-name-v6' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sp-type' => {
        'category' => 'service-processor',
        'fields' => {
        },
    },
    'alternate-control-path-info' => {
        'category' => 'ses',
        'fields' => {
            'acp-element-no' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'controller-acp-connection-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'controller-acp-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'controller-acp-ethernet-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'controller-acp-ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'controller-acp-netmask' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-acp-element-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-acp-element-not-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-controller-acp-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-controller-acp-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'module-firmware-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-mac-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-reset-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'module-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-status-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'ariodata-specific-info' => {
        'category' => 'ses',
        'fields' => {
            'ariodata-serial-no' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'bay-info' => {
        'category' => 'ses',
        'fields' => {
            'drawer-bay-slot-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'drawer-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lun' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-bay' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'connector-info' => {
        'category' => 'ses',
        'fields' => {
            'sas-connector-list' => {
                'type' => 'sas-connector-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'cooling-element-info' => {
        'category' => 'ses',
        'fields' => {
            'cooling-element-is-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cooling-element-is-not-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cooling-element-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'rpm' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'current-sensor-info' => {
        'category' => 'ses',
        'fields' => {
            'current-sensor-no' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'is-sensor-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sensor-not-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'sensor-condition' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sensor-reading' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'dcm-info' => {
        'category' => 'ses',
        'fields' => {
            'dcm-firmware-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dcm-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'dcm-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dcm-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dcm-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dcm-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-dcm-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dcm-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'dongle-info' => {
        'category' => 'ses',
        'fields' => {
            'disable-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dongle-firmware-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dongle-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'drawer-address-map' => {
        'category' => 'ses',
        'fields' => {
            'address-map' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'drawer-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'enclosure-info' => {
        'category' => 'ses',
        'fields' => {
            'enclosure-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'module-list' => {
                'type' => 'module-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'es-electronics-info' => {
        'category' => 'ses',
        'fields' => {
            'es-electronics-element-no' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'es-electronics-is-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'es-electronics-is-not-installed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'es-electronics-is-reporting-element' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'es-electronics-serial-no' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'es-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'es-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'es-swap-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'esh-list' => {
                'type' => 'esh-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'esh-info' => {
        'category' => 'ses',
        'fields' => {
            'esh-element-no' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'esh-is-error' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'eurologic-specific-info' => {
        'category' => 'ses',
        'fields' => {
            'eurologic-application-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'eurologic-backplane-byte' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'eurologic-backplane-function' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'eurologic-backplane-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'eurologic-cabinet-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'eurologic-kernel-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'eurologic-serial-no' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'module-info' => {
        'category' => 'ses',
        'fields' => {
            'is-module-error' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-sas-expander-master-module' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'module-connector-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'phy-expander-info' => {
        'category' => 'ses',
        'fields' => {
            'bay-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'crc-error-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'dongle-data' => {
                'type' => 'dongle-info',
                'flags' => 5,
                'scope' => [],
            },
            'invalid-dword-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'link-rate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'loss-dword-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'pathway-timeout' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'phy-change-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'phy-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-power-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'phy-reset-problem' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'phy-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'phy-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'power-cycle-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'release-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'reserve-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'running-disparity-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'port-hub-info' => {
        'category' => 'ses',
        'fields' => {
            'clock-delta' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'disk-bay' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'insert-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'invalid-crc-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'invalid-word-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lip-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'loop-up-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'port-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'port-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'stall-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'utilization-percentage' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'power-supply-info' => {
        'category' => 'ses',
        'fields' => {
            'is-auto-power-reset-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-power-reset-capable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-element-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'power-supply-firmware-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-is-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-is-not-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-part-no' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-serial-no' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-swap-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'processor-complex-info' => {
        'category' => 'ses',
        'fields' => {
            'is-pcm-element-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-pcm-element-not-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'pcm-element-no' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sas-connector-info' => {
        'category' => 'ses',
        'fields' => {
            'attached-serial-no' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-end-identifier' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-length' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-local-conn-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-manufacturer' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-part-no' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-remote-conn-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-serial-no' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-technology' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'connector-designator' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'connector-no' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'is-cable-connected' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-connector-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-module' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'swap-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sas-specific-info' => {
        'category' => 'ses',
        'fields' => {
            'serial-no' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'ses-generic-info' => {
        'category' => 'ses',
        'fields' => {
            'ses-chassis-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ses-config-access' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ses-config-access-controller-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ses-config-access-shelf-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ses-config-access-source-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ses-contact-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ses-logical-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ses-midplane-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ses-midplane-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ses-product-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ses-product-revision' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ses-vendor-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'shelf-bay-info' => {
        'category' => 'ses',
        'fields' => {
            'bay-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bay-list' => {
                'type' => 'bay-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'shelf-bay-list-info' => {
        'category' => 'ses',
        'fields' => {
            'channel-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'module' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'port-list' => {
                'type' => 'shelf-bay-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-uid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'shelf-bay-port-info' => {
        'category' => 'ses',
        'fields' => {
            'bay-no' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-designator' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'shelf-drawer-bay' => {
        'category' => 'ses',
        'fields' => {
            'attached-drawer-bay-list' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'drawer-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'shelf-drawer-bay-error' => {
        'category' => 'ses',
        'fields' => {
            'attached-drawer-bay-list-with-error' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'drawer-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'shelf-environ-channel-address-map' => {
        'category' => 'ses',
        'fields' => {
            'address-map' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'drawer-address-map-list' => {
                'type' => 'drawer-address-map',
                'flags' => 7,
                'scope' => [],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'shelf-environ-channel-info' => {
        'category' => 'ses',
        'fields' => {
            'channel-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-channel-monitor-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-shelf-channel-failure' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'shelf-environ-channel-address' => {
                'type' => 'shelf-environ-channel-address-map',
                'flags' => 7,
                'scope' => [],
            },
            'shelf-environ-shelf-list' => {
                'type' => 'shelf-environ-shelf-info',
                'flags' => 3,
                'scope' => [],
            },
            'shelves-present' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'shelf-environ-shelf-info' => {
        'category' => 'ses',
        'fields' => {
            'alternate-control-path-information' => {
                'type' => 'alternate-control-path-info',
                'flags' => 7,
                'scope' => [],
            },
            'ariodata-specific-info' => {
                'type' => 'ariodata-specific-info',
                'flags' => 5,
                'scope' => [],
            },
            'attached-shelf-bay-error-list' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'attached-shelf-bay-list' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'attached-shelf-drawer-bay-error-list' => {
                'type' => 'shelf-drawer-bay-error',
                'flags' => 7,
                'scope' => [],
            },
            'attached-shelf-drawer-bay-list' => {
                'type' => 'shelf-drawer-bay',
                'flags' => 7,
                'scope' => [],
            },
            'connector-information' => {
                'type' => 'connector-info',
                'flags' => 7,
                'scope' => [],
            },
            'control-writes-attempted' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'control-writes-failed' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'controller-device-path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'controller-device-path-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cooling-element-list' => {
                'type' => 'cooling-element-info',
                'flags' => 7,
                'scope' => [],
            },
            'current-sensor-list' => {
                'type' => 'current-sensor-info',
                'flags' => 7,
                'scope' => [],
            },
            'dcm-list' => {
                'type' => 'dcm-info',
                'flags' => 5,
                'scope' => [],
            },
            'enclosure-information' => {
                'type' => 'enclosure-info',
                'flags' => 5,
                'scope' => [],
            },
            'es-electronics-list' => {
                'type' => 'es-electronics-info',
                'flags' => 7,
                'scope' => [],
            },
            'eurologic-specific-info' => {
                'type' => 'eurologic-specific-info',
                'flags' => 5,
                'scope' => [],
            },
            'is-shelf-monitor-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'power-control-failure-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'power-control-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-list' => {
                'type' => 'power-supply-info',
                'flags' => 7,
                'scope' => [],
            },
            'processor-complex-information' => {
                'type' => 'processor-complex-info',
                'flags' => 7,
                'scope' => [],
            },
            'sas-specific-info' => {
                'type' => 'sas-specific-info',
                'flags' => 5,
                'scope' => [],
            },
            'ses-generic-info' => {
                'type' => 'ses-generic-info',
                'flags' => 1,
                'scope' => [],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'status-reads-attempted' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'status-reads-failed' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'temp-sensor-list' => {
                'type' => 'temp-sensor-info',
                'flags' => 7,
                'scope' => [],
            },
            'voltage-sensor-list' => {
                'type' => 'voltage-sensor-info',
                'flags' => 7,
                'scope' => [],
            },
            'xyratex-specific-info' => {
                'type' => 'xyratex-specific-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'shelf-info' => {
        'category' => 'ses',
        'fields' => {
            'channel-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'firmware-rev-A' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-rev-B' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'module-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'phy-expander-list' => {
                'type' => 'phy-expander-info',
                'flags' => 7,
                'scope' => [],
            },
            'port-hub-list' => {
                'type' => 'port-hub-info',
                'flags' => 7,
                'scope' => [],
            },
            'shelf-bay-info' => {
                'type' => 'shelf-bay-info',
                'flags' => 5,
                'scope' => [],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'shelf-uid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'termination-switch' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'temp-sensor-info' => {
        'category' => 'ses',
        'fields' => {
            'temp-sensor-current-condition' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-current-temperature' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-element-no' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'temp-sensor-hi-critical' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-hi-warning' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-is-ambient' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-is-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-is-not-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-low-critical' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-low-warning' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'voltage-sensor-info' => {
        'category' => 'ses',
        'fields' => {
            'is-sensor-error' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sensor-not-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'sensor-condition' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sensor-reading' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'voltage-sensor-no' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'xyratex-specific-info' => {
        'category' => 'ses',
        'fields' => {
            'xyratex-option-setting' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'xyratex-serial-no' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'dense-status' => {
        'category' => 'sis',
        'fields' => {
            'application-io-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'auto-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'blocks-skipped-sharing' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'changelog-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-op-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-progress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-stage' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-sub-stage' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'compression-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'compression-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'has-cross-volume-sharing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-compression-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-content-available' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'is-cross-volume-background-dedupe-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-cross-volume-inline-dedupe-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-data-compaction-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-idd-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-inline-compression-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-inline-dedupe-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-operation-begin-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-operation-end-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-operation-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-operation-size-bytes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-operation-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-success-operation-begin-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-success-operation-end-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'logical-data' => {
                'type' => 'sis-logical-data',
                'flags' => 5,
                'scope' => [],
            },
            'minimum-blocks-shared' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'progress' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'queued-job-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'quick-check-fsize' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'stale-fingerprint-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'policy-owner' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'sis-checkpoint-op-type' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'sis-checkpoint-stage' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'sis-checkpoint-substage' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'sis-logical-data' => {
        'category' => 'sis',
        'fields' => {
            'logical-data-limit' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'logical-data-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'sis-op-status' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'sis-policy-info' => {
        'category' => 'sis',
        'fields' => {
            'changelog-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'duration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sis-state' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'sis-status-info' => {
        'category' => 'sis',
        'fields' => {
            'application-io-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'blocks-skipped-sharing' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'changelog-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'changelog-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-op-type' => {
                'type' => 'sis-checkpoint-op-type',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-progress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-stage' => {
                'type' => 'sis-checkpoint-stage',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-sub-stage' => {
                'type' => 'sis-checkpoint-substage',
                'flags' => 4,
                'scope' => [],
            },
            'checkpoint-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'compression-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'compression-changelog-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'compression-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-compression-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-constituent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-content-available' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-cross-volume-background-dedupe-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-cross-volume-inline-dedupe-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-data-compaction-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-idd-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-inline-compression-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-inline-dedupe-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-op-begin-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-op-end-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-op-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-op-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'last-op-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-success-op-begin-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-success-op-end-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'logical-data-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'logical-data-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-blocks-shared' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'volume-path',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'progress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'queued-job-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'quick-check-fsize' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'stale-fingerprint-percentage' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'sis-state',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'sis-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'sis-type',
                'flags' => 4,
                'scope' => [],
            },
            'vault-transfer-log-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sis-type' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'size' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'volume-path' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'vserver-name' => {
        'category' => 'sis',
        'fields' => {
        },
    },
    'sd-info' => {
        'category' => 'snapdiff',
        'fields' => {
            'state' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'compliance-clock-info' => {
        'category' => 'snaplock',
        'fields' => {
            'formatted-snaplock-compliance-clock' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'snaplock-compliance-clock' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplock-attrs-info' => {
        'category' => 'snaplock',
        'fields' => {
            'autocommit-period' => {
                'type' => 'snaplock-autocommit-period',
                'flags' => 4,
                'scope' => [],
            },
            'default-retention-period' => {
                'type' => 'snaplock-default-period',
                'flags' => 4,
                'scope' => [],
            },
            'is-volume-append-mode-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-volume-expiry-time-indefinite' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-volume-expiry-time-infinite' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'litigation-count' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'privileged-delete-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'snaplocktype',
                'flags' => 4,
                'scope' => [],
            },
            'volume-compliance-clock' => {
                'type' => 'compliance-clock-info',
                'flags' => 5,
                'scope' => [],
            },
            'volume-expiry-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-expiry-time-secs' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplock-autocommit-period' => {
        'category' => 'snaplock',
        'fields' => {
        },
    },
    'snaplock-default-period' => {
        'category' => 'snaplock',
        'fields' => {
        },
    },
    'snaplock-event-retention-info' => {
        'category' => 'snaplock',
        'fields' => {
            'num-files-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-files-processed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-files-skipped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-inodes-ignored' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'operation-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'operation-status' => {
                'type' => 'wormopstatus',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'status-details' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplock-event-retention-policy-info' => {
        'category' => 'snaplock',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplock-file-retention-info' => {
        'category' => 'snaplock',
        'fields' => {
            'file' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'formatted-retention-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-wraparound' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'retention-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplock-legal-hold-attributes-info' => {
        'category' => 'snaplock',
        'fields' => {
            'litigation-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'num-files-failed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-files-processed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-files-skipped' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'num-inodes-ignored' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'operation-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'operation-status' => {
                'type' => 'wormopstatus',
                'flags' => 4,
                'scope' => [],
            },
            'operation-type' => {
                'type' => 'wormlegalop',
                'flags' => 4,
                'scope' => [],
            },
            'path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status-details' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplock-log-base' => {
        'category' => 'snaplock',
        'fields' => {
        },
    },
    'snaplock-minmax-period' => {
        'category' => 'snaplock',
        'fields' => {
        },
    },
    'snaplock-vserver-log-config' => {
        'category' => 'snaplock',
        'fields' => {
            'default-retention-period' => {
                'type' => 'snaplock-minmax-period',
                'flags' => 4,
                'scope' => [],
            },
            'max-log-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplock-vserver-log-file' => {
        'category' => 'snaplock',
        'fields' => {
            'base-name' => {
                'type' => 'snaplock-log-base',
                'flags' => 4,
                'scope' => [],
            },
            'expiry-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snaplocktype' => {
        'category' => 'snaplock',
        'fields' => {
        },
    },
    'wormlegalop' => {
        'category' => 'snaplock',
        'fields' => {
        },
    },
    'cg-item-mapping' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'sm-policy' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'sm-policy-type-enum' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'sm-transfer-priority-enum' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'smendpointtype' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'snapmirror-abort-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-break-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-capabilities-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'endpoint-type' => {
                'type' => 'smendpointtype',
                'flags' => 4,
                'scope' => [],
            },
            'is-dpo-destination-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-dpo-source-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-snaplock-licensed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-policy-types' => {
                'type' => 'snapmirror-policy-cap-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'snapmirror-check-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-cr-status-aggregate-eligibility-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'aggregate' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'hosted-configuration-replication-volumes' => {
                'type' => 'volume-name',
                'flags' => 6,
                'scope' => [],
            },
            'is-eligible-to-host-additional-volumes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-cr-status-comm-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'heartbeat-recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-heartbeat-received' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'last-heartbeat-sent' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'peer-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-cluster-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'remote-heartbeat' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-cr-status-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-running' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-in-use' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-non-healthy-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-recovery-steps' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-streams' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-cr-storage-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'abandoned-volumes' => {
                'type' => 'volume-name',
                'flags' => 6,
                'scope' => [],
            },
            'current-volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'disallowed-aggregates' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'use-mirrored-aggregate' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-destination-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-constituent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'progress-last-updated' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-group-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-progress' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-destroy-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-file-path' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'snapmirror-history-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'additional-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'end-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operation-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-group-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'break-failed-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'break-successful-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'current-max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'current-operation-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'current-transfer-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'current-transfer-priority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'current-transfer-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-volume-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'exported-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'exported-snapshot-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-restore-file-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-restore-file-list' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'identity-preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-auto-expand-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-constituent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-healthy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'lag-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-end-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-error-codes' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'last-transfer-from' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-network-compression-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-transfer-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mirror-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'network-compression-ratio' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'newest-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'newest-snapshot-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'opmask' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'progress-last-updated' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'pseudo-common-snap-failed-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'pseudo-common-snap-success-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-control-plane' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-group-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-progress' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'relationship-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'resync-avg-time-sync-cg' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'resync-failed-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'resync-successful-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-checkpoint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-progress' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'total-transfer-bytes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-transfer-time-secs' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tries' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unhealthy-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'update-failed-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'update-successful-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-initialize-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-modify-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-path' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'snapmirror-policy-cap-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'default-policy' => {
                'type' => 'sm-policy',
                'flags' => 4,
                'scope' => [],
            },
            'default-schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-licensed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy-type' => {
                'type' => 'sm-policy-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'supports-snaplock-dest' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'supports-snaplock-source' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-promote-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-quiesce-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-release-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-destination-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-resume-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapmirror-resync-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapmirror-update-iter-info' => {
        'category' => 'snapmirror',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'result-operation-id' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-key' => {
                'type' => 'snapmirror-info',
                'flags' => 1,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-owner-name' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'xc-vs-name' => {
        'category' => 'snapmirror',
        'fields' => {
        },
    },
    'sm-restart-enum' => {
        'category' => 'snapmirror-policy',
        'fields' => {
        },
    },
    'snapmirror-policy-info' => {
        'category' => 'snapmirror-policy',
        'fields' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'create-snapshot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'discard-configs' => {
                'type' => 'svmdr-config-obj',
                'flags' => 6,
                'scope' => [],
            },
            'ignore-atime' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-network-compression-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'owner' => {
                'type' => 'policy-owner',
                'flags' => 4,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'sm-policy',
                'flags' => 4,
                'scope' => [],
            },
            'restart' => {
                'type' => 'sm-restart-enum',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-policy-rules' => {
                'type' => 'snapmirror-policy-rule-info',
                'flags' => 7,
                'scope' => [],
            },
            'total-keep' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-rules' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-priority' => {
                'type' => 'sm-transfer-priority-enum',
                'flags' => 4,
                'scope' => [],
            },
            'tries' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'sm-policy-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
            'window-size-for-tdp-mirror' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapmirror-policy-rule-info' => {
        'category' => 'snapmirror-policy',
        'fields' => {
            'keep' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'preserve' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'warn' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'svmdr-config-obj' => {
        'category' => 'snapmirror-policy',
        'fields' => {
        },
    },
    'snapshot-autodelete-info' => {
        'category' => 'snapshot',
        'fields' => {
            'option-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'option-value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-info' => {
        'category' => 'snapshot',
        'fields' => {
            'access-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'afs-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'busy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'compress-savings' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'compression-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'contains-lun-clones' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cumulative-percentage-of-total-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cumulative-percentage-of-used-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cumulative-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dedup-savings' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dependency' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'expiry-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'infinite-snaplock-expiry-time' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'inofile-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-7-mode-snapshot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-constituent-snapshot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => ['ontap-vserver'],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-of-total-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-of-used-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snaplock-expiry-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-instance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-owners-list' => {
                'type' => 'snapshot-owner',
                'flags' => 7,
                'scope' => [],
            },
            'snapshot-version-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vbn0-savings' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'volume-provenance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'snapshot-modify-iter-info' => {
        'category' => 'snapshot',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-key' => {
                'type' => 'snapshot-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'snapshot-multirename-error' => {
        'category' => 'snapshot',
        'fields' => {
            'error-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapshot-name' => {
        'category' => 'snapshot',
        'fields' => {
        },
    },
    'snapshot-owner' => {
        'category' => 'snapshot',
        'fields' => {
            'owner' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'snapshot-policy' => {
        'category' => 'snapshot',
        'fields' => {
        },
    },
    'snapshot-policy-info' => {
        'category' => 'snapshot',
        'fields' => {
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'policy' => {
                'type' => 'snapshot-policy',
                'flags' => 4,
                'scope' => [],
            },
            'policy-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-policy-schedules' => {
                'type' => 'snapshot-schedule-info',
                'flags' => 7,
                'scope' => [],
            },
            'total-schedules' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'snapshot-reserve-detail-info' => {
        'category' => 'snapshot',
        'fields' => {
            'percentage' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'snapshot-schedule-info' => {
        'category' => 'snapshot',
        'fields' => {
            'count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-label' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-error' => {
        'category' => 'snapshot',
        'fields' => {
            'errno' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
            'reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-is-snapcreated' => {
        'category' => 'snapshot',
        'fields' => {
            'is-snapcreated' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'volume-name',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'community-info' => {
        'category' => 'snmp',
        'fields' => {
            'access-control' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'community' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'traphost-info' => {
        'category' => 'snmp',
        'fields' => {
            'host-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-acp-firmware-file' => {
        'category' => 'storage-acp-firmware',
        'fields' => {
            'filename' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'adapter-bar-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'bar-base' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'bar-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'bar-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'adapter-detail-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'adapter-fc' => {
                'type' => 'adapter-fc-info',
                'flags' => 5,
                'scope' => [],
            },
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'adapter-parallel-scsi' => {
                'type' => 'adapter-parallel-scsi-info',
                'flags' => 5,
                'scope' => [],
            },
            'adapter-sas' => {
                'type' => 'adapter-sas-info',
                'flags' => 5,
                'scope' => [],
            },
            'adapter-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'adapter-fc-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'adapter-bar' => {
                'type' => 'adapter-bar-info',
                'flags' => 7,
                'scope' => [],
            },
            'adapter-model' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'adapter-sff-info' => {
                'type' => 'adapter-sff-info',
                'flags' => 5,
                'scope' => [],
            },
            'adapter-sfp-info' => {
                'type' => 'adapter-sfp-info',
                'flags' => 5,
                'scope' => [],
            },
            'cache-line-sz' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'fc-link-rate' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'fc-node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'fc-packet-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'fc-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-rev' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'hardware-rev' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'host-loop-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'host-port-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-ext-gbic' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-in-use' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-pci-64-capable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-redundant' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-sram-parity' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'preload-table-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'adapter-name-elem' => {
        'category' => 'storage-adapter',
        'fields' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'adapter-parallel-scsi-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'adapter-model' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'bus-width' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'firmware-rev' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'hardware-rev' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'adapter-sas-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'adapter-board-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-date-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-family' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-manufacturer' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-manufacturer-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-model' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'adapter-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-slot' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'adapter-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'adapter-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'base-wwn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'firmware-rev' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'hardware-rev' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-in-use' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'is-redundant' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'sas-adapter-disabled-phy-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sas-adapter-enabled-phy-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sas-adapter-expander-phy-states' => {
                'type' => 'sas-adapter-expander-phy-state-info',
                'flags' => 7,
                'scope' => [],
            },
            'sas-phy' => {
                'type' => 'phy-state-info',
                'flags' => 7,
                'scope' => [],
            },
            'sas-qsfp-cable' => {
                'type' => 'sas-qsfp-cable-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'adapter-sff-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'part-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'speed-capabilities' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'adapter-sfp-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'part-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'speed-capabilities' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'expander-phy-state-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'expander-phy' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'expander-phy-attached-device-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'expander-phy-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'expander-phy-wwn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'phy-state-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'phy' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'phy-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'phy-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sas-adapter-expander-phy-state-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'adapter-phy' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'expander-phy-states' => {
                'type' => 'expander-phy-state-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'sas-qsfp-cable-info' => {
        'category' => 'storage-adapter',
        'fields' => {
            'attached-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-end-identifier' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-length' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-manufacturer' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-technology' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-array-config-summary' => {
        'category' => 'storage-array',
        'fields' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'chassis-serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'device-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'group-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'lun-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'switch-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-iqn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-side-switch-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-array-error-info' => {
        'category' => 'storage-array',
        'fields' => {
            'error-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'error-text' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'error-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-array-port' => {
        'category' => 'storage-array',
        'fields' => {
            'array-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'array-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'connection-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'max-queue-depth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'port-stat-info' => {
                'type' => 'storage-array-port-stats',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'switch-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'target-iqn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-port-speed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'tpgt' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'utilization-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'wwnn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-array-port-stats' => {
        'category' => 'storage-array',
        'fields' => {
            'average-dynamic-queue-depth' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'average-latency-per-iop' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'average-pending' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'average-waiting' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'dynamic-queue-depth' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'max-pending' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'max-waiting' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path-link-errors' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'percent-busy' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'percent-waiting' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-io-kbps' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-iops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-lun-in-use-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-array-profile' => {
        'category' => 'storage-array',
        'fields' => {
            'affinity' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'all-path-fail-delay' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'array-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'errors' => {
                'type' => 'storage-array-error-info',
                'flags' => 7,
                'scope' => ['ontap-cluster'],
            },
            'firmware' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'is-upgrade-pending' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'lun-queue-depth' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'max-queue-depth' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'model' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'network-address' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'optimization-policy' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'options' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path-failover-time' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'port-failover-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'utilizationpolicytypes' => {
        'category' => 'storage-array',
        'fields' => {
        },
    },
    'storage-bridge-chassis-temp-status' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-config-dump-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'bridge' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-configured-fc-port-connection-mode' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-configured-fc-port-data-rate' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-connectivity-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'initiator-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-side-switch-port-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-side-switch-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'node-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'target-port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-side-switch-port-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-side-switch-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-cooling-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'maximum-safe-operating-temperature' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-safe-operating-temperature' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'temperature-sensor-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'temperature-sensor-operational-status' => {
                'type' => 'storage-bridge-chassis-temp-status',
                'flags' => 4,
                'scope' => [],
            },
            'temperature-sensor-reading' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-coredump-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'corename' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'panic-string' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'panic-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-error-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'bridge-component-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bridge-component-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'bridge-component-unique-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-type' => {
                'type' => 'storage-bridge-error-type',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'storage-bridge-error-severity',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-error-severity' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-error-type' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-fc-port-admin-state' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-fc-port-data-rate-capability' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-fc-port-oper-state' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-fc-port-sfp-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'data-rate-capability' => {
                'type' => 'storage-bridge-fc-sfp-data-rate-capability',
                'flags' => 4,
                'scope' => [],
            },
            'fc-port-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-fc-port-statistics-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'invalid-crc-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'invalid-primitive-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'invalid-txword-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'link-failures-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'lip-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'nos-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rx-words-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'signal-loss-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sync-losses-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'time-since-reset' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tx-words-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-fc-sfp-data-rate-capability' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'chassis-throughput-status' => {
                'type' => 'storage-bridge-throughput-status',
                'flags' => 4,
                'scope' => [],
            },
            'dram-single-bit-error-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-being-monitored' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-reboot-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-reboot-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'storage-device-status',
                'flags' => 4,
                'scope' => [],
            },
            'storage-bridge-connectivity-list' => {
                'type' => 'storage-bridge-connectivity-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-cooling-info' => {
                'type' => 'storage-bridge-cooling-info',
                'flags' => 5,
                'scope' => [],
            },
            'storage-bridge-error-list' => {
                'type' => 'storage-bridge-error-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-fc-port-list' => {
                'type' => 'storage-brige-fc-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-fc-port-sfp-list' => {
                'type' => 'storage-bridge-fc-port-sfp-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-fc-port-statistics-list' => {
                'type' => 'storage-bridge-fc-port-statistics-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-mini-sas-hd-list' => {
                'type' => 'storage-bridge-mini-sas-hd-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-power-supply-list' => {
                'type' => 'storage-bridge-power-supply-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-sas-port-list' => {
                'type' => 'storage-bridge-sas-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-sas-port-qsfp-list' => {
                'type' => 'storage-bridge-sas-port-qsfp-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-bridge-sas-port-statistics-list' => {
                'type' => 'storage-bridge-sas-port-statistics-info',
                'flags' => 7,
                'scope' => [],
            },
            'symbolic-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'storage-bridge-vendor',
                'flags' => 4,
                'scope' => [],
            },
            'wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-mini-sas-hd-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'mini-sas-hd-index-list' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mini-sas-hd-part-number-list' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mini-sas-hd-serial-number-list' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mini-sas-hd-type-list' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mini-sas-hd-vendor-list' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-negotiated-fc-port-data-rate' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-negotiated-sas-port-data-rate' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-power-supply-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'power-supply-index-list' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-name-list' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'power-supply-status-list' => {
                'type' => 'storage-bridge-power-supply-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-power-supply-status' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-qsfp-type' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-sas-port-admin-state' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-sas-port-data-rate-capability' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-sas-port-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'administrative-state' => {
                'type' => 'storage-bridge-sas-port-admin-state',
                'flags' => 4,
                'scope' => [],
            },
            'data-rate-capability' => {
                'type' => 'storage-bridge-sas-port-data-rate-capability',
                'flags' => 4,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'negotiated-data-rate' => {
                'type' => 'storage-bridge-negotiated-sas-port-data-rate',
                'flags' => 4,
                'scope' => [],
            },
            'operational-state' => {
                'type' => 'storage-bridge-sas-port-oper-state',
                'flags' => 4,
                'scope' => [],
            },
            'phy1-operational-state' => {
                'type' => 'storage-bridge-sas-port-phy-oper-state',
                'flags' => 4,
                'scope' => [],
            },
            'phy2-operational-state' => {
                'type' => 'storage-bridge-sas-port-phy-oper-state',
                'flags' => 4,
                'scope' => [],
            },
            'phy3-operational-state' => {
                'type' => 'storage-bridge-sas-port-phy-oper-state',
                'flags' => 4,
                'scope' => [],
            },
            'phy4-operational-state' => {
                'type' => 'storage-bridge-sas-port-phy-oper-state',
                'flags' => 4,
                'scope' => [],
            },
            'sas-port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-sas-port-oper-state' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-sas-port-phy-oper-state' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-sas-port-qsfp-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qsfp-type' => {
                'type' => 'storage-bridge-qsfp-type',
                'flags' => 4,
                'scope' => [],
            },
            'sas-port-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-sas-port-statistics-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'phy-disparity-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-invalid-crc-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-invalid-dword-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-link-changed-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-reset-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-sync-losses-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-bridge-throughput-status' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-bridge-vendor' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'storage-brige-fc-port-info' => {
        'category' => 'storage-bridge',
        'fields' => {
            'administrative-state' => {
                'type' => 'storage-bridge-fc-port-admin-state',
                'flags' => 4,
                'scope' => [],
            },
            'configured-connection-mode' => {
                'type' => 'storage-bridge-configured-fc-port-connection-mode',
                'flags' => 4,
                'scope' => [],
            },
            'configured-data-rate' => {
                'type' => 'storage-bridge-configured-fc-port-data-rate',
                'flags' => 4,
                'scope' => [],
            },
            'data-rate-capability' => {
                'type' => 'storage-bridge-fc-port-data-rate-capability',
                'flags' => 4,
                'scope' => [],
            },
            'fc-port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'negotiated-data-rate' => {
                'type' => 'storage-bridge-negotiated-fc-port-data-rate',
                'flags' => 4,
                'scope' => [],
            },
            'operational-state' => {
                'type' => 'storage-bridge-fc-port-oper-state',
                'flags' => 4,
                'scope' => [],
            },
            'peer-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-device-status' => {
        'category' => 'storage-bridge',
        'fields' => {
        },
    },
    'disk-aggregate-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'aggregate-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checksum-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'copy-destination-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'copy-destination-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'copy-percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-media-scrubbing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-offline' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-prefailed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-reconstructing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-replacing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-zeroed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-zeroing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'plex-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'raid-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reconstruct-percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'zeroing-percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-inventory-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'bytes-per-sector' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'capacity-sectors' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'carrier-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'carrier-serialno' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'checksum-compatibility' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-class' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'drawer' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'drawer-slot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'grown-defect-list-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'health-monitor-time-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'hw-minimum-os' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-dynamically-qualified' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-foreign' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-multidisk-carrier' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-shared' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'location-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'media-scrub-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'media-scrub-last-done-time-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reservation-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reservation-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'right-size-sectors' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rpm' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-bay' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'stack-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'storage-sed-info' => {
                'type' => 'storage-sed-info',
                'flags' => 5,
                'scope' => [],
            },
            'storage-ssd-info' => {
                'type' => 'storage-ssd-info',
                'flags' => 5,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'virtual-machine-disk-info' => {
                'type' => 'virtual-machine-disk-info',
                'flags' => 5,
                'scope' => [],
            },
            'vmdisk-backing-info' => {
                'type' => 'vmdisk-backing-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'disk-metrocluster-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'is-local-attach' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-outage-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'is-in-fdr' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'reason' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'disk-ownership-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'data-home' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-home-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data-owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data1-home' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data1-home-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data1-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data1-owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data2-home' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data2-home-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'data2-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'data2-owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'dr-home-node-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'dr-home-node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'home-node-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'home-node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-failed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'owner-node-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'owner-node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'pool' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'reserved-by-node-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'root-home' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'root-home-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'root-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'root-owner-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-raid-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'active-node-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'container-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-aggregate-info' => {
                'type' => 'disk-aggregate-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-outage-info' => {
                'type' => 'disk-outage-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-shared-info' => {
                'type' => 'disk-shared-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-spare-info' => {
                'type' => 'disk-spare-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'effective-disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'effective-rpm' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'position' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'spare-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'standard-disk-type' => {
                'type' => 'standarddisktype',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'used-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-shared-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'aggregate-list' => {
                'type' => 'shared-aggregate-info',
                'flags' => 7,
                'scope' => [],
            },
            'checksum-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'copy-destination-cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'copy-destination-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'copy-percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'is-media-scrubbing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-offline' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-prefailed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-reconstructing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-replacing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sparecore' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-zeroed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-zeroing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'partitioning-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reconstruct-percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'zeroing-percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'disk-spare-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'is-media-scrubbing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-offline' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sparecore' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-zeroed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-zeroing' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'zeroing-percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-stats-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'average-latency' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bytes-per-sector' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-io-kbps' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-iops' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'import-in-progress' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'path-error-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'power-on-time-interval' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sectors-read' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sectors-written' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'shared-aggregate-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'aggregate-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'standarddisktype' => {
        'category' => 'storage-disk',
        'fields' => {
        },
    },
    'storage-disk-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'disk-inventory-info' => {
                'type' => 'disk-inventory-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-metrocluster-info' => {
                'type' => 'disk-metrocluster-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-ownership-info' => {
                'type' => 'disk-ownership-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-paths' => {
                'type' => 'disk-path-info',
                'flags' => 7,
                'scope' => [],
            },
            'disk-raid-info' => {
                'type' => 'disk-raid-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-stats-info' => {
                'type' => 'disk-stats-info',
                'flags' => 5,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-sed-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'data-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fips-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-power-on-lock-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sed' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'protection-mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-ssd-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'percent-rated-life-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percent-spares-consumed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percent-spares-consumed-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'virtual-machine-disk-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'vmdisk-adapter-device' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-adapter-driver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-adapter-model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-adapter-pci' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-lun-canonical-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-lun-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-lun-model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-lun-partition' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-lun-vendor-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-store-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-store-nas-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-store-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-target-iscsi-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-target-iscsi-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-target-lun-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vmdisk-backing-info' => {
        'category' => 'storage-disk',
        'fields' => {
            'vmdisk-backing-device-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vmdisk-backing-disk-model' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vmdisk-backing-serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vmdisk-backing-vendor-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-disk-firmware-file' => {
        'category' => 'storage-disk-firmware',
        'fields' => {
            'filename' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'disk-path-info' => {
        'category' => 'storage-initiator',
        'fields' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'disk-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'disk-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-io-kbps' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-iops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-lun-in-use-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-port-speed' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-side-switch-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'lun-io-kbps' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lun-iops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lun-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lun-path-use-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path-io-kbps' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-iops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-link-errors' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-lun-in-use-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-quality' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'preferred-target-port' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'target-io-kbps' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-iops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-iqn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-lun-in-use-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-port-access-state' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-side-switch-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-wwnn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tpgn' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vmdisk-device-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-hypervisor-area-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-hypervisor-file-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-error-info' => {
        'category' => 'storage-initiator',
        'fields' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'disk-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'disk-uid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'error-id' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'error-text' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'error-type' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lun-serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-initiator-load-info' => {
        'category' => 'storage-initiator',
        'fields' => {
            'initiator-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'io-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'lun-number' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'nodename' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'percent-io' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'switch-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-side-switch-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'storage-initiator-path-info' => {
        'category' => 'storage-initiator',
        'fields' => {
            'array-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'device-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-io-kbps' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-iops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-lun-in-use-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-port-speed' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'initiator-side-switch-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'path-failure-threshold' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-io-kbps' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-iops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-link-errors' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-lun-in-use-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'path-quality' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-io-kbps' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-iops' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-iqn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-lun-in-use-count' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'target-side-switch-port' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'target-wwpn' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'tpgn' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'vmdisk-device-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'wait-duration' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'iscsi-initiator-target-type' => {
        'category' => 'storage-iscsi-initiator',
        'fields' => {
        },
    },
    'storage-iscsi-initiator-info' => {
        'category' => 'storage-iscsi-initiator',
        'fields' => {
            'administrative-status' => {
                'type' => 'service-state',
                'flags' => 4,
                'scope' => [],
            },
            'failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'label' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'operational-status' => {
                'type' => 'service-state',
                'flags' => 4,
                'scope' => [],
            },
            'target-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-portal' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-type' => {
                'type' => 'iscsi-initiator-target-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggregate-autogrow-info' => {
        'category' => 'storage-pool',
        'fields' => {
            'aggregate-names' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'aggregate-new-sizes' => {
                'type' => 'size',
                'flags' => 6,
                'scope' => [],
            },
            'aggregate-sizes' => {
                'type' => 'size',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'storage-pool-aggregate-info' => {
        'category' => 'storage-pool',
        'fields' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'allocated-unit-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'original-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'used-capacity' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-pool-available-capacity-info' => {
        'category' => 'storage-pool',
        'fields' => {
            'allocation-unit-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'allocation-unit-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'available-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'syncmirror-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-pool-disk-info' => {
        'category' => 'storage-pool',
        'fields' => {
            'disk' => {
                'type' => 'disk-name',
                'flags' => 4,
                'scope' => [],
            },
            'disk-total-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'disk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disk-usable-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-pool-info' => {
        'category' => 'storage-pool',
        'fields' => {
            'allocation-unit-data-size-raid-dp' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'allocation-unit-data-size-raid-tec' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'allocation-unit-data-size-raid4' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'allocation-unit-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'current-operation-job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-healthy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'pool-state' => {
                'type' => 'storagepoolstate',
                'flags' => 4,
                'scope' => [],
            },
            'pool-total-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'pool-usable-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'storage-pool' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'unhealthy-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storagepoolstate' => {
        'category' => 'storage-pool',
        'fields' => {
        },
    },
    'connector-capabilities-info' => {
        'category' => 'storage-port',
        'fields' => {
            'connector-capabilities' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'connector-type' => {
        'category' => 'storage-port',
        'fields' => {
        },
    },
    'phy-info' => {
        'category' => 'storage-port',
        'fields' => {
            'phy-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phy-speed' => {
                'type' => 'storage-port-speed',
                'flags' => 4,
                'scope' => [],
            },
            'phy-state' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'phy-status' => {
                'type' => 'storage-port-phy-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'sas-connector-technology' => {
        'category' => 'storage-port',
        'fields' => {
        },
    },
    'shelf-cable-end' => {
        'category' => 'storage-port',
        'fields' => {
        },
    },
    'storage-port-connection-mode' => {
        'category' => 'storage-port',
        'fields' => {
        },
    },
    'storage-port-info' => {
        'category' => 'storage-port',
        'fields' => {
            'board-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-end-id' => {
                'type' => 'shelf-cable-end',
                'flags' => 4,
                'scope' => [],
            },
            'cable-identifier' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cable-length' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'connection-mode' => {
                'type' => 'storage-port-connection-mode',
                'flags' => 4,
                'scope' => [],
            },
            'connector-capabilities-array' => {
                'type' => 'connector-capabilities-info',
                'flags' => 7,
                'scope' => [],
            },
            'connector-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'connector-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'connector-technology' => {
                'type' => 'sas-connector-technology',
                'flags' => 4,
                'scope' => [],
            },
            'connector-type' => {
                'type' => 'connector-type',
                'flags' => 4,
                'scope' => [],
            },
            'connector-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'corrective-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'date-code' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-severity' => {
                'type' => 'storage-shelf-error-severity',
                'flags' => 4,
                'scope' => [],
            },
            'error-text' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-type' => {
                'type' => 'storage-port-status',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'mfg-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'nvdata-rev' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'phys' => {
                'type' => 'phy-info',
                'flags' => 7,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-speed' => {
                'type' => 'storage-port-speed',
                'flags' => 4,
                'scope' => [],
            },
            'port-type' => {
                'type' => 'storage-port-type',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'enable',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'storage-port-status',
                'flags' => 4,
                'scope' => [],
            },
            'wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwnn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-port-phy-status' => {
        'category' => 'storage-port',
        'fields' => {
        },
    },
    'storage-port-speed' => {
        'category' => 'storage-port',
        'fields' => {
        },
    },
    'storage-port-status' => {
        'category' => 'storage-port',
        'fields' => {
        },
    },
    'storage-port-type' => {
        'category' => 'storage-port',
        'fields' => {
        },
    },
    'acp-error-type-enum' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'activity-status-enum' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'channel-config-enum' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'channel-enum' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'connection-status-enum' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'drawer-path-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'drawer-phy-state' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'drawer-phy-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'drawer-phy-type' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'drawer-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'open-closed' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'sfu-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'shelf-module-type' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-acp-connection' => {
        'category' => 'storage-shelf',
        'fields' => {
            'address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'channel' => {
                'type' => 'channel-enum',
                'flags' => 4,
                'scope' => [],
            },
            'connection-status' => {
                'type' => 'connection-status-enum',
                'flags' => 4,
                'scope' => [],
            },
            'corrective-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-severity' => {
                'type' => 'storage-shelf-error-severity',
                'flags' => 4,
                'scope' => [],
            },
            'error-text' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-type' => {
                'type' => 'acp-error-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'activity-status-enum',
                'flags' => 4,
                'scope' => [],
            },
            'subnet' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-acp-module' => {
        'category' => 'storage-shelf',
        'fields' => {
            'acpa-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'corrective-action' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'error-id' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'error-severity' => {
                'type' => 'storage-shelf-error-severity',
                'flags' => 6,
                'scope' => [],
            },
            'error-text' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'error-type' => {
                'type' => 'acp-error-type-enum',
                'flags' => 6,
                'scope' => [],
            },
            'firmware-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'iom-type' => {
                'type' => 'iom-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'last-contact' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mac-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'module-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'protocol-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'stack-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'acpp-state-enum',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-bay-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'bay-has-disk' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'bay-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'bay-op-status' => {
                'type' => 'storage-shelf-bay-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'bay-type' => {
                'type' => 'storage-shelf-bay-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-bay-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-bay-type' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-connection-type' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-cooling-fan-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'fan-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'fan-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fan-op-status' => {
                'type' => 'storage-shelf-fan-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'fan-rpm' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-current-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-current-sensor-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'current-op-status' => {
                'type' => 'storage-shelf-current-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'current-sensor-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'current-sensor-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'current-sensor-reading' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'disk-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'drawer' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-a' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-b' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fru-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-closed' => {
                'type' => 'open-closed',
                'flags' => 4,
                'scope' => [],
            },
            'is-supported' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mfg-date' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'path-a' => {
                'type' => 'drawer-path-status',
                'flags' => 4,
                'scope' => [],
            },
            'path-b' => {
                'type' => 'drawer-path-status',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status-a' => {
                'type' => 'drawer-status',
                'flags' => 4,
                'scope' => [],
            },
            'status-b' => {
                'type' => 'drawer-status',
                'flags' => 4,
                'scope' => [],
            },
            'vendor-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-phy-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'drawer' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'phy' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'sas-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state-a' => {
                'type' => 'drawer-phy-state',
                'flags' => 4,
                'scope' => [],
            },
            'state-b' => {
                'type' => 'drawer-phy-state',
                'flags' => 4,
                'scope' => [],
            },
            'status-a' => {
                'type' => 'drawer-phy-status',
                'flags' => 4,
                'scope' => [],
            },
            'status-b' => {
                'type' => 'drawer-phy-status',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'drawer-phy-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-drawer-slot-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'bay' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'drawer' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-installed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'slot' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-error-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'component-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'corrective-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'error-severity' => {
                'type' => 'storage-shelf-error-severity',
                'flags' => 4,
                'scope' => [],
            },
            'error-text' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-type' => {
                'type' => 'storage-shelf-error-type',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-component' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-error-severity' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-error-show-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'component-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'corrective-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-count' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'error-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'error-severity' => {
                'type' => 'storage-shelf-error-severity',
                'flags' => 4,
                'scope' => [],
            },
            'error-text' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error-type' => {
                'type' => 'storage-shelf-error-type',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-component' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-error-type' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-fan-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-fc-port-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'fc-port-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fc-port-mode' => {
                'type' => 'storage-shelf-port-type',
                'flags' => 4,
                'scope' => [],
            },
            'fc-port-op-status' => {
                'type' => 'storage-shelf-port-op-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-firmware-update-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'in-progress-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'update-status' => {
                'type' => 'sfu-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'connection-type' => {
                'type' => 'storage-shelf-connection-type',
                'flags' => 4,
                'scope' => [],
            },
            'cooling-fans' => {
                'type' => 'storage-shelf-cooling-fan-info',
                'flags' => 7,
                'scope' => [],
            },
            'current-sensors' => {
                'type' => 'storage-shelf-current-sensor-info',
                'flags' => 7,
                'scope' => [],
            },
            'disk-count' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'fc-ports' => {
                'type' => 'storage-shelf-fc-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'is-local-attach' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'module-type' => {
                'type' => 'storage-shelf-module-type',
                'flags' => 4,
                'scope' => [],
            },
            'op-status' => {
                'type' => 'storage-shelf-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'paths' => {
                'type' => 'storage-shelf-path-info',
                'flags' => 7,
                'scope' => [],
            },
            'power-supply-units' => {
                'type' => 'storage-shelf-power-supply-unit-info',
                'flags' => 7,
                'scope' => [],
            },
            'sas-ports' => {
                'type' => 'storage-shelf-sas-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-bays' => {
                'type' => 'storage-shelf-bay-info',
                'flags' => 7,
                'scope' => [],
            },
            'shelf-errors' => {
                'type' => 'storage-shelf-error-info',
                'flags' => 7,
                'scope' => [],
            },
            'shelf-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-modules' => {
                'type' => 'storage-shelf-module-info',
                'flags' => 7,
                'scope' => [],
            },
            'shelf-uid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'stack-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'storage-shelf-state',
                'flags' => 4,
                'scope' => [],
            },
            'temperature-sensors' => {
                'type' => 'storage-shelf-temperature-sensor-info',
                'flags' => 7,
                'scope' => [],
            },
            'vendor-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'voltage-sensors' => {
                'type' => 'storage-shelf-voltage-sensor-info',
                'flags' => 7,
                'scope' => [],
            },
        },
    },
    'storage-shelf-led-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-location-led-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'led-status' => {
                'type' => 'storage-shelf-led-status',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'shelf-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'stack-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-location-led-modify-iter-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-shelf-key' => {
                'type' => 'storage-shelf-location-led-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'storage-shelf-module-fw-progress' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-module-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'es-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-monitor-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sas-master-module' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'module-fru-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-fw-progress' => {
                'type' => 'storage-shelf-module-fw-progress',
                'flags' => 4,
                'scope' => [],
            },
            'module-fw-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-is-reporting-element' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'module-latest-fw-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-op-status' => {
                'type' => 'storage-shelf-module-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'module-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'module-swap-count' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'module-type' => {
                'type' => 'storage-shelf-module-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-module-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-module-type' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-path-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'controller' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'initiator' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'initiator-side-switch-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'io-kbps' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'iops' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'port-speed' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'target-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-side-switch-port' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'tpgn' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-port-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-port-type' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-power-supply-unit-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'psu-fw-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'psu-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'psu-is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'psu-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'psu-op-status' => {
                'type' => 'storage-shelf-psu-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'psu-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'psu-reset-capable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'psu-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'psu-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-psu-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-sas-port-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'sas-negotiated-port-speed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sas-port-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sas-port-op-status' => {
                'type' => 'storage-shelf-port-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'sas-port-power-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sas-port-speed' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'sas-port-type' => {
                'type' => 'storage-shelf-port-type',
                'flags' => 4,
                'scope' => [],
            },
            'sas-port-wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-state' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-temperature-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-temperature-sensor-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'high-critical-threshold' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'high-warning-threshold' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'temp-is-ambient' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'temp-low-critical-threshold' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'temp-low-warning-threshold' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sens-op-status' => {
                'type' => 'storage-shelf-temperature-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'temp-sensor-reading' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-voltage-op-status' => {
        'category' => 'storage-shelf',
        'fields' => {
        },
    },
    'storage-shelf-voltage-sensor-info' => {
        'category' => 'storage-shelf',
        'fields' => {
            'voltage-op-status' => {
                'type' => 'storage-shelf-voltage-op-status',
                'flags' => 4,
                'scope' => [],
            },
            'voltage-sensor-id' => {
                'type' => 'unsigned64-or-dash',
                'flags' => 4,
                'scope' => [],
            },
            'voltage-sensor-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'voltage-sensor-reading' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-shelf-firmware-file' => {
        'category' => 'storage-shelf-firmware',
        'fields' => {
            'filename' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-connectivity-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'peer-info' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-type' => {
                'type' => 'storage-switch-port-peer-type',
                'flags' => 4,
                'scope' => [],
            },
            'peer-unique-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-mode' => {
                'type' => 'storage-switch-port-mode',
                'flags' => 4,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-error-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'severity' => {
                'type' => 'storage-switch-error-severity',
                'flags' => 4,
                'scope' => [],
            },
            'switch-component-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'switch-component-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'storage-switch-error-type',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-error-severity' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-error-type' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-fan-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operational-status' => {
                'type' => 'storage-switch-fan-oper-status',
                'flags' => 4,
                'scope' => [],
            },
            'speed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-fan-oper-status' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'blades' => {
                'type' => 'integer',
                'flags' => 6,
                'scope' => [],
            },
            'domain-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'fabric-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'firmware-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'ip-address' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'is-director-class' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-local-attach' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-monitoring-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'role' => {
                'type' => 'storage-switch-role',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'storage-device-status',
                'flags' => 4,
                'scope' => [],
            },
            'storage-switch-connectivity-list' => {
                'type' => 'storage-switch-connectivity-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-error-list' => {
                'type' => 'storage-switch-error-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-fan-list' => {
                'type' => 'storage-switch-fan-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-path-list' => {
                'type' => 'storage-switch-path-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-port-list' => {
                'type' => 'storage-switch-port-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-port-statistics-list' => {
                'type' => 'storage-switch-port-statistics-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-power-supply-unit-list' => {
                'type' => 'storage-switch-power-supply-unit-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-sfp-list' => {
                'type' => 'storage-switch-sfp-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-temperature-sensor-list' => {
                'type' => 'temperature-sensor-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-vsan-list' => {
                'type' => 'storage-switch-vsan-info',
                'flags' => 7,
                'scope' => [],
            },
            'storage-switch-zone-list' => {
                'type' => 'storage-switch-zone-info',
                'flags' => 7,
                'scope' => [],
            },
            'symbolic-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'storage-switch-vendor',
                'flags' => 4,
                'scope' => [],
            },
            'wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-initiator-type' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-path-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'adapter-type' => {
                'type' => 'storage-switch-initiator-type',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'switch-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'switch-port-speed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-port-admin-status' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-port-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'administrative-status' => {
                'type' => 'storage-switch-port-admin-status',
                'flags' => 4,
                'scope' => [],
            },
            'bb-credit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-sfp-present' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'storage-switch-port-mode',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operational-speed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'operational-status' => {
                'type' => 'storage-switch-port-oper-status',
                'flags' => 4,
                'scope' => [],
            },
            'peer-port-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-port-mode' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-port-oper-status' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-port-peer-type' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-port-statistics-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'frame-error-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rx-frames-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'rx-octets-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tx-frames-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tx-octets-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-power-sensor-status' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-power-supply-unit-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operational-status' => {
                'type' => 'storage-switch-power-sensor-status',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-role' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-sfp-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'transmitter-type' => {
                'type' => 'storage-switch-sfp-tx-type',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'storage-switch-sfp-type',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-sfp-tx-type' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-sfp-type' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-temp-sensor-status' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-vendor' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-vsan-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-iod-set' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'load-balancing-type' => {
                'type' => 'storage-switch-vsan-load-balancing-type',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'operational-status' => {
                'type' => 'storage-switch-vsan-oper-state',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-switch-vsan-load-balancing-type' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-vsan-oper-state' => {
        'category' => 'storage-switch',
        'fields' => {
        },
    },
    'storage-switch-zone-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'member-port-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-port-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-port-switch-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'member-wwn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vsan-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'temperature-sensor-info' => {
        'category' => 'storage-switch',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'storage-switch-temp-sensor-status',
                'flags' => 4,
                'scope' => [],
            },
            'temperature-reading' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'filer-id' => {
        'category' => 'storage-transition',
        'fields' => {
        },
    },
    'api-list-info' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'bios-fw-type' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'external-cache-info' => {
        'category' => 'system',
        'fields' => {
            'external-cache-class' => {
                'type' => 'qos-class',
                'flags' => 4,
                'scope' => [],
            },
            'external-cache-policy-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-hya-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-lopri-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-meta-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-normal-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-randomwrite-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-readahead-data' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-rewarm-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'pcs-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'externaldevice' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'net-port' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'node-details-info' => {
        'category' => 'system',
        'fields' => {
            'cpu-busytime' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cpu-firmware-release' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'env-failed-fan-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'env-failed-fan-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'env-failed-power-supply-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'env-failed-power-supply-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'env-over-temperature' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-all-flash-optimized' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-diff-svcs' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-epsilon-node' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-cluster-eligible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-healthy' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-aggregate-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-number-of-volumes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-volume-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'node-asset-tag' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-location' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-nvram-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-owner' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-storage-configuration' => {
                'type' => 'storage-configuration-state-enum',
                'flags' => 4,
                'scope' => [],
            },
            'node-system-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-uptime' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'nvram-battery-status' => {
                'type' => 'nvram-battery-status-enum',
                'flags' => 4,
                'scope' => [],
            },
            'product-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vm-system-disks' => {
                'type' => 'vm-system-disks',
                'flags' => 5,
                'scope' => [],
            },
            'vmhost-info' => {
                'type' => 'vmhost-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'node-name' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'node-ontapi-detail-info' => {
        'category' => 'system',
        'fields' => {
            'major-version' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'minor-version' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'node-uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'node-version-detail-info' => {
        'category' => 'system',
        'fields' => {
            'build-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => ['ontap-cluster'],
            },
            'node-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'node-uuid' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
            'version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => ['ontap-cluster'],
            },
        },
    },
    'nvram-battery-status-enum' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'operation-info' => {
        'category' => 'system',
        'fields' => {
            'api-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'command-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'oss-host-type' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'oss-restart' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'oss-support-level' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'power-status' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'status-hypervisor-info' => {
        'category' => 'system',
        'fields' => {
            'host-type' => {
                'type' => 'oss-host-type',
                'flags' => 4,
                'scope' => [],
            },
            'support-level' => {
                'type' => 'oss-support-level',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'status-info' => {
        'category' => 'system',
        'fields' => {
            'cluster-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'internal-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-cluster-scope' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'update-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-configuration-state-enum' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'system-api-element-info' => {
        'category' => 'system',
        'fields' => {
            'encrypted' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-nonempty' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-optional' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-output' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-validated' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-api-entry-info' => {
        'category' => 'system',
        'fields' => {
            'api-elements' => {
                'type' => 'system-api-element-info',
                'flags' => 3,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-api-info' => {
        'category' => 'system',
        'fields' => {
            'is-streaming' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'license' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'system-api-type-entry-info' => {
        'category' => 'system',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'type-elements' => {
                'type' => 'system-api-element-info',
                'flags' => 3,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-host-config-info' => {
        'category' => 'system',
        'fields' => {
            'address-ipv4' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'port-ipv4' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-snmpv3-config-info' => {
        'category' => 'system',
        'fields' => {
            'auth-password' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'auth-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'engine-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'priv-protocol' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'snmp-trapport' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'username' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-hypervisor-uplink-mapping-info' => {
        'category' => 'system',
        'fields' => {
            'node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'port' => {
                'type' => 'net-port',
                'flags' => 4,
                'scope' => [],
            },
            'uplinks' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'system-image-attributes' => {
        'category' => 'system',
        'fields' => {
            'image' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'install-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'is-current' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-default' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'kernel-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'rootfs-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-image-external-package-attributes' => {
        'category' => 'system',
        'fields' => {
            'device' => {
                'type' => 'externaldevice',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'package' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-image-package-attributes' => {
        'category' => 'system',
        'fields' => {
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'package' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-info' => {
        'category' => 'system',
        'fields' => {
            'backplane-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'backplane-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'backplane-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'board-speed' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'board-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'controller-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cpu-ciob-revision-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cpu-firmware-release' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cpu-microcode-version' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'cpu-part-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cpu-processor-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cpu-processor-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cpu-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cpu-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-aggregate-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-flexible-volume-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-flexible-volume-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'memory-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'number-of-processors' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'partner-system-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-system-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-system-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'prod-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'storage-configuration' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'supports-raid-array' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'system-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'system-machine-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'system-model' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'system-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'system-revision' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'system-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vendor-id' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'vm-system-disks' => {
                'type' => 'vm-system-disks',
                'flags' => 5,
                'scope' => [],
            },
            'vmhost-info' => {
                'type' => 'vmhost-info',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'system-node-discovery' => {
        'category' => 'system',
        'fields' => {
            'cluster-ip-addresses' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'cluster-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-netmask' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'cluster-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-in-cluster' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-nvram-id' => {
                'type' => 'nvramid',
                'flags' => 4,
                'scope' => [],
            },
            'node-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'partner-nvram-id' => {
                'type' => 'nvramid',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-node-power-info' => {
        'category' => 'system',
        'fields' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'power-status',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-services-web-info' => {
        'category' => 'system',
        'fields' => {
            'external' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'https-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'per-address-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'ssl-fips-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'sslv3-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'web-proto-status',
                'flags' => 4,
                'scope' => [],
            },
            'tlsv1-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'wait-queue-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-services-web-node-info' => {
        'category' => 'system',
        'fields' => {
            'external' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'http-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'https-port' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mean-connection-wait-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'peak-concurrency' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'peak-connection-wait-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'peak-per-address-concurrency' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'per-address-limit' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'web-proto-status',
                'flags' => 4,
                'scope' => [],
            },
            'status-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-bytes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-connection-wait-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-connections' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-delayed-connections' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-hits' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-http-ops' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-https-ops' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-pend-auth' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-rc-1xx' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-rc-2xx' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-rc-3xx' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-rc-4xx' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-rc-5xx' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-workers' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'wait-queue-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'work-state-close' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'work-state-keep' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'work-state-log' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'work-state-read' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'work-state-ready' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'work-state-write' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'workers-avail' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'workers-busy' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'system-version-tuple' => {
        'category' => 'system',
        'fields' => {
            'generation' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'major' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
            'minor' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => ['ontap-cluster', 'ontap-vserver'],
            },
        },
    },
    'vm-system-disks' => {
        'category' => 'system',
        'fields' => {
            'vm-bootdisk-area-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vm-bootdisk-file-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vm-coredisk-area-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vm-coredisk-file-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vm-logdisk-area-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vm-logdisk-file-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vmhost-info' => {
        'category' => 'system',
        'fields' => {
            'vm-custom-max-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vm-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-bios-release-date' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-bios-version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-boot-time' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-cpu-clock-rate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-cpu-core-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-cpu-socket-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-cpu-thread-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-gateway' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-hardware-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-hypervisor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-ip-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-memory' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-netmask' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-processor-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-processor-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-software-vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmhost-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'web-proto-status' => {
        'category' => 'system',
        'fields' => {
        },
    },
    'device-density-format' => {
        'category' => 'tape-mc-info',
        'fields' => {
            'device-format' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'device-name-density' => {
        'category' => 'tape-mc-info',
        'fields' => {
            'device-name-no-rewind' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'device-name-rewind' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'device-name-unload-reload' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'tape-mc-device-if-type-enum' => {
        'category' => 'tape-mc-info',
        'fields' => {
        },
    },
    'tape-mc-device-scope-enum' => {
        'category' => 'tape-mc-info',
        'fields' => {
        },
    },
    'tape-mc-device-state-enum' => {
        'category' => 'tape-mc-info',
        'fields' => {
        },
    },
    'tape-mc-func-status-enum' => {
        'category' => 'tape-mc-info',
        'fields' => {
        },
    },
    'tape-mc-info' => {
        'category' => 'tape-mc-info',
        'fields' => {
            'alias-mapping' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'alias-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'block-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'density-formats' => {
                'type' => 'device-density-format',
                'flags' => 7,
                'scope' => [],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'device-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'device-if-type' => {
                'type' => 'tape-mc-device-if-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'device-names' => {
                'type' => 'device-name-density',
                'flags' => 7,
                'scope' => [],
            },
            'device-state' => {
                'type' => 'tape-mc-device-state-enum',
                'flags' => 4,
                'scope' => [],
            },
            'device-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'error' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'file-number' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'functional-status' => {
                'type' => 'tape-mc-func-status-enum',
                'flags' => 4,
                'scope' => [],
            },
            'initiator' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'residual-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'resv-type' => {
                'type' => 'tape-mc-resv-type-enum',
                'flags' => 4,
                'scope' => [],
            },
            'serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwnn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'wwpn' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'tape-mc-resv-type-enum' => {
        'category' => 'tape-mc-info',
        'fields' => {
        },
    },
    'tape-mc-tape-oper-enum' => {
        'category' => 'tape-mc-info',
        'fields' => {
        },
    },
    'custom-input-info' => {
        'category' => 'template-management',
        'fields' => {
            'key' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'template-info' => {
        'category' => 'template-management',
        'fields' => {
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'missing-prerequisites' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'template-name',
                'flags' => 4,
                'scope' => [],
            },
            'parent-template' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'permission' => {
                'type' => 'template-permission',
                'flags' => 4,
                'scope' => [],
            },
            'template' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'template-type-ui',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'template-management-template-parameter-modify-iter-info' => {
        'category' => 'template-management',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'template-management-key' => {
                'type' => 'template-parameter-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'template-name' => {
        'category' => 'template-management',
        'fields' => {
        },
    },
    'template-parameter-info' => {
        'category' => 'template-management',
        'fields' => {
            'allowed-vals' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'default-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-length' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'parameter' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'permission' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'range-max' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'range-min' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'recommended-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'template' => {
                'type' => 'template-name',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'template-permission' => {
        'category' => 'template-management',
        'fields' => {
        },
    },
    'template-provision-error-info' => {
        'category' => 'template-management',
        'fields' => {
            'failure-errornum' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failure-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'input-params' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'template-type-ui' => {
        'category' => 'template-management',
        'fields' => {
        },
    },
    'uc-adapter-info' => {
        'category' => 'ucm',
        'fields' => {
            'adapter-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fc4-type' => {
                'type' => 'ucm-type',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'ucm-mode',
                'flags' => 4,
                'scope' => [],
            },
            'node-name' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'pending-fc4-type' => {
                'type' => 'ucm-type',
                'flags' => 4,
                'scope' => [],
            },
            'pending-mode' => {
                'type' => 'ucm-mode',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'supported-fc4-type-for-cna-mode' => {
                'type' => 'ucm-type',
                'flags' => 6,
                'scope' => [],
            },
            'supported-fc4-type-for-fc-mode' => {
                'type' => 'ucm-type',
                'flags' => 6,
                'scope' => [],
            },
            'supported-mode' => {
                'type' => 'ucm-mode',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'ucm-mode' => {
        'category' => 'ucm',
        'fields' => {
        },
    },
    'ucm-type' => {
        'category' => 'ucm',
        'fields' => {
        },
    },
    'virtual-machine-provider-credential-destroy-iter-info' => {
        'category' => 'virtual-machine',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'virtual-machine-provider-credential-key' => {
                'type' => 'vm-provider-credential',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-credential-modify-iter-info' => {
        'category' => 'virtual-machine',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'virtual-machine-provider-credential-key' => {
                'type' => 'vm-provider-credential',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-proxy-destroy-iter-info' => {
        'category' => 'virtual-machine',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'virtual-machine-provider-proxy-key' => {
                'type' => 'vm-provider-proxy',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'virtual-machine-provider-proxy-modify-iter-info' => {
        'category' => 'virtual-machine',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'virtual-machine-provider-proxy-key' => {
                'type' => 'vm-provider-proxy',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'virtual-machine-system-disks-info' => {
        'category' => 'virtual-machine',
        'fields' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-area-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-adapter-device' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-adapter-driver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-adapter-model' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-adapter-pci' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-device-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-device-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-device-partition' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-device-uuid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-store-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-store-nas-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-store-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-target-iscsi-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-backing-target-iscsi-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-file-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-serial-number' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vmdisk-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vm-instance-info' => {
        'category' => 'virtual-machine',
        'fields' => {
            'account-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'availability-zone' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'deployment-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fault-domain' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'image-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'instance-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'instance-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'primary-ip' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'provider' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'region' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'update-domain' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vm-provider-credential' => {
        'category' => 'virtual-machine',
        'fields' => {
            'aws-access-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'aws-secret-key' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vm-provider-proxy' => {
        'category' => 'virtual-machine',
        'fields' => {
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'aggr-name' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'autobalance-volume-state' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'cache-policy' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'clone-split-detail-info' => {
        'category' => 'volume',
        'fields' => {
            'block-percentage-complete' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'blocks-scanned' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'blocks-updated' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'inode-percentage-complete' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'inodes-processed' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'inodes-total' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'clone-split-estimate-info' => {
        'category' => 'volume',
        'fields' => {
            'estimate-blocks' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'errors-warnings-info' => {
        'category' => 'volume',
        'fields' => {
            'error-warning' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'footprint-info' => {
        'category' => 'volume',
        'fields' => {
            'dedupe-metafiles-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dedupe-metafiles-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dedupe-metafiles-temporary-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dedupe-metafiles-temporary-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'delayed-free-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'delayed-free-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-operation-metadata' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'file-operation-metadata-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexvol-metadata-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexvol-metadata-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-destination-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-destination-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tape-backup-metafiles-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tape-backup-metafiles-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-blocks-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-blocks-footprint-bin0' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-blocks-footprint-bin0-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-blocks-footprint-bin1' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-blocks-footprint-bin1-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-blocks-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-guarantee-footprint' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-guarantee-footprint-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'language-code' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'raidgroup-size-info' => {
        'category' => 'volume',
        'fields' => {
            'default-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'disktype' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-disk-capacity' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'minimum-disk-capacity' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-size' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'raidtype' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'raidtype-info' => {
        'category' => 'volume',
        'fields' => {
            'raidtype' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'repos-constituent-role' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'scrub-detail-info' => {
        'category' => 'volume',
        'fields' => {
            'is-suspended' => {
                'type' => 'boolean',
                'flags' => 0,
                'scope' => [],
            },
            'last-scrub-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'raid-group' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'space-info' => {
        'category' => 'volume',
        'fields' => {
            'dedupe-metafiles' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dedupe-metafiles-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dedupe-metafiles-temporary' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dedupe-metafiles-temporary-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'filesystem-metadata' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'filesystem-metadata-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodes' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodes-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodes-upgrade' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodes-upgrade-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'performance-metadata' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'performance-metadata-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'quota-metafiles' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'quota-metafiles-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-metadata' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapmirror-metadata-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve-unusable' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve-unusable-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-spill' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-spill-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tape-backup-metadata' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'tape-backup-metadata-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'user-data' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'user-data-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'space-slo-enum' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'storage-service-id' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'storage-service-info' => {
        'category' => 'volume',
        'fields' => {
            'constituent-group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'storage-service' => {
                'type' => 'storage-service-name',
                'flags' => 4,
                'scope' => [],
            },
            'storage-service-id' => {
                'type' => 'storage-service-id',
                'flags' => 4,
                'scope' => [],
            },
            'storage-service-type' => {
                'type' => 'storage-service-type',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'storage-service-name' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'storage-service-type' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'volstyle' => {
        'category' => 'volume',
        'fields' => {
        },
    },
    'volume-64bit-upgrade-attributes' => {
        'category' => 'volume',
        'fields' => {
            'volume-64bit-upgrade-check-attributes' => {
                'type' => 'volume-64bit-upgrade-check-attributes',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'volume-64bit-upgrade-check-attributes' => {
        'category' => 'volume',
        'fields' => {
            'age' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'available-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'check-last-errno' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'grow-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'used-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-antivirus-attributes' => {
        'category' => 'volume',
        'fields' => {
            'on-access-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-attributes' => {
        'category' => 'volume',
        'fields' => {
            'encrypt' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-64bit-upgrade-attributes' => {
                'type' => 'volume-64bit-upgrade-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-antivirus-attributes' => {
                'type' => 'volume-antivirus-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-autobalance-attributes' => {
                'type' => 'volume-autobalance-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-autosize-attributes' => {
                'type' => 'volume-autosize-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-clone-attributes' => {
                'type' => 'volume-clone-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-comp-aggr-attributes' => {
                'type' => 'volume-comp-aggr-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-directory-attributes' => {
                'type' => 'volume-directory-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-export-attributes' => {
                'type' => 'volume-export-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-flexcache-attributes' => {
                'type' => 'volume-flexcache-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-hybrid-cache-attributes' => {
                'type' => 'volume-hybrid-cache-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-id-attributes' => {
                'type' => 'volume-id-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-infinitevol-attributes' => {
                'type' => 'volume-infinitevol-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-inode-attributes' => {
                'type' => 'volume-inode-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-language-attributes' => {
                'type' => 'volume-language-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-mirror-attributes' => {
                'type' => 'volume-mirror-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-performance-attributes' => {
                'type' => 'volume-performance-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-qos-attributes' => {
                'type' => 'volume-qos-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-security-attributes' => {
                'type' => 'volume-security-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-sis-attributes' => {
                'type' => 'volume-sis-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-snaplock-attributes' => {
                'type' => 'volume-snaplock-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-snapshot-attributes' => {
                'type' => 'volume-snapshot-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-snapshot-autodelete-attributes' => {
                'type' => 'volume-snapshot-autodelete-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-space-attributes' => {
                'type' => 'volume-space-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-state-attributes' => {
                'type' => 'volume-state-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-striping-attributes' => {
                'type' => 'volume-striping-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-transition-attributes' => {
                'type' => 'volume-transition-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-vm-align-attributes' => {
                'type' => 'volume-vm-align-attributes',
                'flags' => 5,
                'scope' => [],
            },
            'volume-vserver-dr-protection-attributes' => {
                'type' => 'volume-vserver-dr-protection-attributes',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'volume-autobalance-attributes' => {
        'category' => 'volume',
        'fields' => {
            'is-autobalance-eligible' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-autobalance-info' => {
        'category' => 'volume',
        'fields' => {
            'progress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'autobalance-volume-state',
                'flags' => 4,
                'scope' => [],
            },
            'storage-service' => {
                'type' => 'storage-service-name',
                'flags' => 4,
                'scope' => [],
            },
            'target-bytes' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'transferred-bytes' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'transferred-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-autosize-attributes' => {
        'category' => 'volume',
        'fields' => {
            'grow-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'increment-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'increment-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'maximum-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'minimum-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'mode' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'reset' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'shrink-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-clone-attributes' => {
        'category' => 'volume',
        'fields' => {
            'clone-child-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-clone-parent-attributes' => {
                'type' => 'volume-clone-parent-attributes',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'volume-clone-info' => {
        'category' => 'volume',
        'fields' => {
            'aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'block-percentage-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocks-scanned' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'blocks-updated' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexclone-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inode-percentage-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodes-processed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodes-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'junction-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'junction-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'msid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'parent-snapshot' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'parent-volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'parent-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-adaptive-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'space-guarantee-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'space-reserve' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'split-estimate' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-dr-protection' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-clone-parent-attributes' => {
        'category' => 'volume',
        'fields' => {
            'dsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'msid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-comp-aggr-attributes' => {
        'category' => 'volume',
        'fields' => {
            'tiering-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-directory-attributes' => {
        'category' => 'volume',
        'fields' => {
            'i2p-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'index-dir-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-dir-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'root-dir-gen' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-encryption-conversion-info' => {
        'category' => 'volume',
        'fields' => {
            'percentage-completed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-encryption-rekey-info' => {
        'category' => 'volume',
        'fields' => {
            'percentage-completed' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-export-attributes' => {
        'category' => 'volume',
        'fields' => {
            'policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-flexcache-attributes' => {
        'category' => 'volume',
        'fields' => {
            'cache-policy' => {
                'type' => 'cache-policy',
                'flags' => 4,
                'scope' => [],
            },
            'fill-policy' => {
                'type' => 'cache-policy',
                'flags' => 4,
                'scope' => [],
            },
            'min-reserve' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'origin' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-hybrid-cache-attributes' => {
        'category' => 'volume',
        'fields' => {
            'cache-retention-priority' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'caching-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'eligibility' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'write-cache-ineligibility-reason' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-id-attributes' => {
        'category' => 'volume',
        'fields' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'application' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'application-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'constituent-role' => {
                'type' => 'repos-constituent-role',
                'flags' => 4,
                'scope' => [],
            },
            'containing-aggregate-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'containing-aggregate-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'creation-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'dsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'extent-size' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'flexgroup-index' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexgroup-msid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'flexgroup-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'fsid' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'instance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'junction-parent-name' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'junction-path' => {
                'type' => 'junction-path',
                'flags' => 4,
                'scope' => [],
            },
            'msid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'name' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'name-ordinal' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'nodes' => {
                'type' => 'node-name',
                'flags' => 6,
                'scope' => [],
            },
            'owning-vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'owning-vserver-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'provenance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'style' => {
                'type' => 'volstyle',
                'flags' => 4,
                'scope' => [],
            },
            'style-extended' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-infinitevol-attributes' => {
        'category' => 'volume',
        'fields' => {
            'constituent-role' => {
                'type' => 'repos-constituent-role',
                'flags' => 4,
                'scope' => [],
            },
            'enable-snapdiff' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-managed-by-service' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-data-constituent-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'max-namespace-constituent-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'namespace-mirror-aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'storage-service' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-inode-attributes' => {
        'category' => 'volume',
        'fields' => {
            'block-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'files-private-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'files-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'files-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodefile-private-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inodefile-public-capacity' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'inofile-version' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-language-attributes' => {
        'category' => 'volume',
        'fields' => {
            'is-convert-ucode-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-create-ucode-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'language' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'language-code' => {
                'type' => 'language-code',
                'flags' => 4,
                'scope' => [],
            },
            'nfs-character-set' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'oem-character-set' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-mirror-attributes' => {
        'category' => 'volume',
        'fields' => {
            'is-data-protection-mirror' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-load-sharing-mirror' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-move-mirror' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-replica-volume' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-snapmirror-source' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'mirror-transfer-in-progress' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'redirect-snapshot-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-modify-iter-async-info' => {
        'category' => 'volume',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'jobid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'volume-key' => {
                'type' => 'volume-attributes',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'volume-modify-iter-info' => {
        'category' => 'volume',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-key' => {
                'type' => 'volume-attributes',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'volume-move-info' => {
        'category' => 'volume',
        'fields' => {
            'actual-completion-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'actual-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bypass-throttling' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'bytes-remaining' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'bytes-sent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'completion-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'completion-status' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-action' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-attempted-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-attempts' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-hard-deferred-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-trigger-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-window' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'cutovers-soft-deferred-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'destination-aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'details' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'estimated-completion-time' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'estimated-remaining-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'execution-progress' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'internal-state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-destination-encrypted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-source-encrypted' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'last-cutover-trigger-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'managing-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'moved-by-autobalance' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'original-job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percent-complete' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'phase' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'prior-issues' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'replication-throughput' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'skip-delta-calculation' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-aggregate' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-key-id' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-node' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'start-timestamp' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'volume-instance-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-move-target-aggr-info' => {
        'category' => 'volume',
        'fields' => {
            'aggr-name' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'available-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'current-dest-capacity-tier-usage' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'current-dest-performance-tier-availsize' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'current-source-capacity-tier-usage' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'current-source-performance-tier-availsize' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'projected-dest-capacity-tier-usage' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'projected-dest-performance-tier-availsize' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'projected-source-capacity-tier-usage' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'projected-source-performance-tier-availsize' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'storage-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-option-info' => {
        'category' => 'volume',
        'fields' => {
            'name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-performance-attributes' => {
        'category' => 'volume',
        'fields' => {
            'extent-enabled' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'fc-delegs-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-atime-update-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-write-alloc-blocks' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'minimal-read-ahead' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'read-realloc' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'single-instance-data-logging' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-qos-attributes' => {
        'category' => 'volume',
        'fields' => {
            'adaptive-policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'policy-group-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-security-attributes' => {
        'category' => 'volume',
        'fields' => {
            'style' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-security-unix-attributes' => {
                'type' => 'volume-security-unix-attributes',
                'flags' => 5,
                'scope' => [],
            },
        },
    },
    'volume-security-unix-attributes' => {
        'category' => 'volume',
        'fields' => {
            'group-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'permissions' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'user-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-sis-attributes' => {
        'category' => 'volume',
        'fields' => {
            'compression-space-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'deduplication-space-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'deduplication-space-shared' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'is-sis-logging-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sis-state-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-sis-volume' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-compression-space-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-deduplication-space-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-total-space-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'total-space-saved' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-snaplock-attributes' => {
        'category' => 'volume',
        'fields' => {
            'snaplock-type' => {
                'type' => 'snaplocktype',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-snapshot-attributes' => {
        'category' => 'volume',
        'fields' => {
            'auto-snapshots-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snapdir-access-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-clone-dependency-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-snapshot-autodelete-attributes' => {
        'category' => 'volume',
        'fields' => {
            'commitment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'defer-delete' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'delete-order' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destroy-list' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-autodelete-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'prefix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'target-free-space' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'trigger' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-space-attributes' => {
        'category' => 'volume',
        'fields' => {
            'expected-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'filesystem-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'is-filesys-size-fixed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-space-guarantee-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-space-slo-enabled' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-constituent-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'over-provisioned' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overwrite-reserve' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overwrite-reserve-required' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overwrite-reserve-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'overwrite-reserve-used-actual' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-fractional-reserve' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-size-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-snapshot-reserve' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'percentage-snapshot-reserve-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'physical-used-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-available-for-snapshots' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-total' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-used' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'size-used-by-snapshots' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve-available' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-reserve-size' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'space-full-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'space-guarantee' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'space-mgmt-option-try-first' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'space-nearly-full-threshold-percent' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'space-slo' => {
                'type' => 'space-slo-enum',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-state-attributes' => {
        'category' => 'volume',
        'fields' => {
            'become-node-root-after-reboot' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'force-nvfail-on-dr' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ignore-inconsistent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'in-nvfailed-state' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-cluster-volume' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-constituent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-flexgroup' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-flexgroup-qtree-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-inconsistent' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-invalid' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-junction-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-moving' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-node-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-nvfail-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-protocol-access-fenced' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-quiesced-in-memory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-quiesced-on-disk' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-unrecoverable' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-volume-in-cutover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-vserver-root' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'status' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
        },
    },
    'volume-striping-attributes' => {
        'category' => 'volume',
        'fields' => {
            'concurrency' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'constituent-volume-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'optimize' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'stripe-algorithm' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'stripe-width' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-transition-attributes' => {
        'category' => 'volume',
        'fields' => {
            'is-cft-precommit' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-copied-for-transition' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-transitioned' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'transition-behavior' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-transition-log-attrs-info' => {
        'category' => 'volume',
        'fields' => {
            'attr-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'attr-value' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-transition-log-record-info' => {
        'category' => 'volume',
        'fields' => {
            'attributes' => {
                'type' => 'volume-transition-log-attrs-info',
                'flags' => 7,
                'scope' => [],
            },
            'description' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'feature' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'level' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'phase' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'record-type' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
            'timestamp' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-transition-volinfo' => {
        'category' => 'volume',
        'fields' => {
            'junction-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'volume-name' => {
                'type' => 'string',
                'flags' => 0,
                'scope' => [],
            },
        },
    },
    'volume-vm-align-attributes' => {
        'category' => 'volume',
        'fields' => {
            'vm-align-sector' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vm-align-suffix' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'volume-vserver-dr-protection-attributes' => {
        'category' => 'volume',
        'fields' => {
            'vserver-dr-protection' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'file-extension' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'file-path' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'privileged-user' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'scanner-policy' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'scanner-pool' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-active-scanner-pool-info' => {
        'category' => 'vscan',
        'fields' => {
            'max-session-setup-retries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'privileged-users' => {
                'type' => 'privileged-user',
                'flags' => 6,
                'scope' => [],
            },
            'request-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scan-queue-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-pools' => {
                'type' => 'scanner-pool',
                'flags' => 6,
                'scope' => [],
            },
            'servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'session-setup-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-teardown-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vscan-config-owner' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-connection-extended-stats-info' => {
        'category' => 'vscan',
        'fields' => {
            'extended-stats' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'server-status' => {
                'type' => 'vscan-server-status',
                'flags' => 4,
                'scope' => [],
            },
            'server-type' => {
                'type' => 'vscan-scanner-type',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vscan-connection-status-all-info' => {
        'category' => 'vscan',
        'fields' => {
            'connected-since' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'disconnect-reason' => {
                'type' => 'vscan-disconnect-reason',
                'flags' => 4,
                'scope' => [],
            },
            'disconnected-since' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'lif' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'privileged-user' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'server-status' => {
                'type' => 'vscan-server-status',
                'flags' => 4,
                'scope' => [],
            },
            'server-type' => {
                'type' => 'vscan-scanner-type',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vscan-disconnect-reason' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-event-type' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-events-info' => {
        'category' => 'vscan',
        'fields' => {
            'consecutive-occurrence-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'disconnect-reason' => {
                'type' => 'vscan-disconnect-reason',
                'flags' => 4,
                'scope' => [],
            },
            'event-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'event-type' => {
                'type' => 'vscan-event-type',
                'flags' => 4,
                'scope' => [],
            },
            'file-path' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'lif' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'node-name',
                'flags' => 4,
                'scope' => [],
            },
            'scan-engine-status' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'server' => {
                'type' => 'ip-address',
                'flags' => 4,
                'scope' => [],
            },
            'vendor' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'version' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vscan-od-log-level' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-on-access-policy-info' => {
        'category' => 'vscan',
        'fields' => {
            'admin-owner' => {
                'type' => 'vscan-config-owner',
                'flags' => 4,
                'scope' => [],
            },
            'file-ext-to-exclude' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'file-ext-to-include' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'filters' => {
                'type' => 'vscan-on-access-policy-ui-filter',
                'flags' => 6,
                'scope' => [],
            },
            'is-policy-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-scan-mandatory' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-file-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'paths-to-exclude' => {
                'type' => 'file-path',
                'flags' => 6,
                'scope' => [],
            },
            'policy-name' => {
                'type' => 'policy-name',
                'flags' => 4,
                'scope' => [],
            },
            'protocol' => {
                'type' => 'vscan-protocol',
                'flags' => 4,
                'scope' => [],
            },
            'scan-files-with-no-ext' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vscan-on-access-policy-ui-filter' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-on-demand-report-info' => {
        'category' => 'vscan',
        'fields' => {
            'already-scanned-files' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'attempted-scans' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'failed-scans' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'files-cleaned' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'files-infected' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'internal-error' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-duration' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'job-end-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'job-id' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'job-start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'report-file' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'scan-retries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'skipped-scans' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'successful-scans' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'task-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'timedout-scans' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vscan-on-demand-task-info' => {
        'category' => 'vscan',
        'fields' => {
            'cross-junction' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'directory-recursion' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'file-ext-to-exclude' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'file-ext-to-include' => {
                'type' => 'file-extension',
                'flags' => 6,
                'scope' => [],
            },
            'max-file-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'paths-to-exclude' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'report-directory' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'report-log-level' => {
                'type' => 'vscan-od-log-level',
                'flags' => 4,
                'scope' => [],
            },
            'request-timeout' => {
                'type' => 'time-interval',
                'flags' => 4,
                'scope' => [],
            },
            'scan-files-with-no-ext' => {
                'type' => 'true-false',
                'flags' => 4,
                'scope' => [],
            },
            'scan-paths' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'scan-priority' => {
                'type' => 'vscan-scan-priority',
                'flags' => 4,
                'scope' => [],
            },
            'schedule' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'task-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vscan-protocol' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-scan-priority' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-scanner-pool-info' => {
        'category' => 'vscan',
        'fields' => {
            'admin-owner' => {
                'type' => 'vscan-config-owner',
                'flags' => 4,
                'scope' => [],
            },
            'cluster' => {
                'type' => 'cluster-name',
                'flags' => 4,
                'scope' => [],
            },
            'hostnames' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'is-currently-active' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'max-session-setup-retries' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'privileged-users' => {
                'type' => 'privileged-user',
                'flags' => 6,
                'scope' => [],
            },
            'request-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scan-queue-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-policy' => {
                'type' => 'scanner-policy',
                'flags' => 4,
                'scope' => [],
            },
            'scanner-pool' => {
                'type' => 'scanner-pool',
                'flags' => 4,
                'scope' => [],
            },
            'servers' => {
                'type' => 'ip-address',
                'flags' => 6,
                'scope' => [],
            },
            'session-setup-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'session-teardown-timeout' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vscan-scanner-type' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-server-status' => {
        'category' => 'vscan',
        'fields' => {
        },
    },
    'vscan-status-info' => {
        'category' => 'vscan',
        'fields' => {
            'is-vscan-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'attribute-info' => {
        'category' => 'vserver',
        'fields' => {
            'attribute' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver-value' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'config-diff-info' => {
        'category' => 'vserver',
        'fields' => {
            'attribute-diff-list' => {
                'type' => 'attribute-info',
                'flags' => 7,
                'scope' => [],
            },
            'destination-vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'destination-vserver-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'instance' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'keys' => {
                'type' => 'key-value-pair',
                'flags' => 6,
                'scope' => [],
            },
            'object' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'skip-excluded-fields' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'source-vserver-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'nis-domain' => {
        'category' => 'vserver',
        'fields' => {
        },
    },
    'nmswitch' => {
        'category' => 'vserver',
        'fields' => {
        },
    },
    'nsswitch' => {
        'category' => 'vserver',
        'fields' => {
        },
    },
    'show-aggregates' => {
        'category' => 'vserver',
        'fields' => {
            'aggregate-name' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'aggregate-type' => {
                'type' => 'aggregatetype',
                'flags' => 4,
                'scope' => [],
            },
            'available-size' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'snaplock-type' => {
                'type' => 'snaplocktype',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vsadminstate' => {
        'category' => 'vserver',
        'fields' => {
        },
    },
    'vserver-aggr-info' => {
        'category' => 'vserver',
        'fields' => {
            'aggr-availsize' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-is-cft-precommit' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'aggr-name' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-info' => {
        'category' => 'vserver',
        'fields' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'allowed-protocols' => {
                'type' => 'protocol',
                'flags' => 6,
                'scope' => [],
            },
            'antivirus-on-access-policy' => {
                'type' => 'antivirus-policy',
                'flags' => 4,
                'scope' => [],
            },
            'caching-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'comment' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'disallowed-protocols' => {
                'type' => 'protocol',
                'flags' => 6,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-config-locked-for-changes' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'is-repository-vserver' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'language' => {
                'type' => 'language-code',
                'flags' => 4,
                'scope' => [],
            },
            'ldap-domain' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'max-volumes' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'name-mapping-switch' => {
                'type' => 'nmswitch',
                'flags' => 6,
                'scope' => [],
            },
            'name-server-switch' => {
                'type' => 'nsswitch',
                'flags' => 6,
                'scope' => [],
            },
            'nis-domain' => {
                'type' => 'nis-domain',
                'flags' => 4,
                'scope' => [],
            },
            'operational-state' => {
                'type' => 'vsoperstate',
                'flags' => 4,
                'scope' => [],
            },
            'operational-state-stopped-reason' => {
                'type' => 'vsopstopreason',
                'flags' => 4,
                'scope' => [],
            },
            'qos-policy-group' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'quota-policy' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume-aggregate' => {
                'type' => 'aggr-name',
                'flags' => 4,
                'scope' => [],
            },
            'root-volume-security-style' => {
                'type' => 'security-style-enum',
                'flags' => 4,
                'scope' => [],
            },
            'snapshot-policy' => {
                'type' => 'snapshot-policy',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'vsadminstate',
                'flags' => 4,
                'scope' => [],
            },
            'uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'volume-delete-retention-hours' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-aggr-info-list' => {
                'type' => 'vserver-aggr-info',
                'flags' => 7,
                'scope' => [],
            },
            'vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-subtype' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-type' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-login-banner-info' => {
        'category' => 'vserver',
        'fields' => {
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-login-banner-modify-iter-info' => {
        'category' => 'vserver',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-login-banner-key' => {
                'type' => 'vserver-login-banner-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-modify-iter-info' => {
        'category' => 'vserver',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-key' => {
                'type' => 'vserver-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-motd-info' => {
        'category' => 'vserver',
        'fields' => {
            'is-cluster-message-enabled' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-motd-modify-iter-info' => {
        'category' => 'vserver',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-motd-key' => {
                'type' => 'vserver-motd-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vsoperstate' => {
        'category' => 'vserver',
        'fields' => {
        },
    },
    'vsopstopreason' => {
        'category' => 'vserver',
        'fields' => {
        },
    },
    'migratestate' => {
        'category' => 'vserver-migrate',
        'fields' => {
        },
    },
    'vserver-migrate-cutover-action' => {
        'category' => 'vserver-migrate',
        'fields' => {
        },
    },
    'vserver-migrate-info' => {
        'category' => 'vserver-migrate',
        'fields' => {
            'aggr-list' => {
                'type' => 'aggr-name',
                'flags' => 6,
                'scope' => [],
            },
            'auto-cutover' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'baseline-applied' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'completion-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'current-migrate-operation' => {
                'type' => 'vserver-migrate-op',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-action' => {
                'type' => 'vserver-migrate-cutover-action',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-complete-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-trigger-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-window' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'destination-cluster' => {
                'type' => 'cluster-name-simple',
                'flags' => 4,
                'scope' => [],
            },
            'errors' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'health' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'ipspace' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'is-past-point-of-no-return' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-migrate-operation' => {
                'type' => 'vserver-migrate-op',
                'flags' => 4,
                'scope' => [],
            },
            'last-pause-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'last-restart-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'last-resume-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'migrate-status' => {
                'type' => 'vserver-migrate-status',
                'flags' => 4,
                'scope' => [],
            },
            'migrate-vserver-type' => {
                'type' => 'vserver-migrate-type',
                'flags' => 4,
                'scope' => [],
            },
            'owning-node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'point-of-no-return' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'skip-performance-check' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'source-cluster' => {
                'type' => 'cluster-name-simple',
                'flags' => 4,
                'scope' => [],
            },
            'start-force' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'start-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'status-details' => {
                'type' => 'string',
                'flags' => 6,
                'scope' => [],
            },
            'stream-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-progress' => {
                'type' => 'size',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'warnings' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-migrate-op' => {
        'category' => 'vserver-migrate',
        'fields' => {
        },
    },
    'vserver-migrate-status' => {
        'category' => 'vserver-migrate',
        'fields' => {
        },
    },
    'vserver-migrate-type' => {
        'category' => 'vserver-migrate',
        'fields' => {
        },
    },
    'vserver-migrate-volume-info' => {
        'category' => 'vserver-migrate',
        'fields' => {
            'break-done' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'cutover-transfer-count' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'errors' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-done' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-duration' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'last-transfer-queue-time' => {
                'type' => 'datetime',
                'flags' => 4,
                'scope' => [],
            },
            'node' => {
                'type' => 'filer-id',
                'flags' => 4,
                'scope' => [],
            },
            'state' => {
                'type' => 'migratestate',
                'flags' => 4,
                'scope' => [],
            },
            'transactionid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'transfer-completed' => {
                'type' => 'boolean',
                'flags' => 4,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'volume-dsid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'volume-msid' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'xc-vs-name',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-peer-application' => {
        'category' => 'vserver-peer',
        'fields' => {
        },
    },
    'vserver-peer-info' => {
        'category' => 'vserver-peer',
        'fields' => {
            'applications' => {
                'type' => 'vserver-peer-application',
                'flags' => 6,
                'scope' => [],
            },
            'peer-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-state' => {
                'type' => 'vserver-peer-state',
                'flags' => 4,
                'scope' => [],
            },
            'peer-vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'peer-vserver-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
            'remote-vserver-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-peer-permission-application' => {
        'category' => 'vserver-peer',
        'fields' => {
        },
    },
    'vserver-peer-permission-info' => {
        'category' => 'vserver-peer',
        'fields' => {
            'applications' => {
                'type' => 'vserver-peer-permission-application',
                'flags' => 6,
                'scope' => [],
            },
            'peer-cluster' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'vserver-peer-state' => {
        'category' => 'vserver-peer',
        'fields' => {
        },
    },
    'vserver-peer-transition-destroy-iter-info' => {
        'category' => 'vserver-peer-transition',
        'fields' => {
            'error-code' => {
                'type' => 'integer',
                'flags' => 4,
                'scope' => [],
            },
            'error-message' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'vserver-peer-transition-key' => {
                'type' => 'vserver-peer-transition-info',
                'flags' => 1,
                'scope' => [],
            },
        },
    },
    'vserver-peer-transition-info' => {
        'category' => 'vserver-peer-transition',
        'fields' => {
            'local-lifs' => {
                'type' => 'lif-name',
                'flags' => 6,
                'scope' => [],
            },
            'local-vserver' => {
                'type' => 'vserver-name',
                'flags' => 4,
                'scope' => [],
            },
            'multi-path-address' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
            'src-filer-name' => {
                'type' => 'string',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'wafl-sync-handle' => {
        'category' => 'wafl',
        'fields' => {
            'handle' => {
                'type' => 'integer',
                'flags' => 0,
                'scope' => [],
            },
            'volume' => {
                'type' => 'volume-name',
                'flags' => 4,
                'scope' => [],
            },
            'volume-uuid' => {
                'type' => 'uuid',
                'flags' => 4,
                'scope' => [],
            },
        },
    },
    'string' => {
        'category' => 'string',
        'fields' => {
        },
    },
};

sub new {
    my $self = {'apis' => $APIS, 'typedefs' => $TYPEDEFS};
    bless $self;
    return $self;
}
sub GetApi {
    my ($self, $name) = @_;
    my $type = ref($self) || die "$self is not an object";
    my $api = $self->{apis}->{$name} || die "No definition for API $name found";
    return $api;
}
sub GetTypedef {
    my ($self, $name) = @_;
    my $type = ref($self) || die "$self is not an object";
    my $api = $self->{typedefs}->{$name} || die "No definition for typedef $name found";
    return $api;
}
sub IsTypedefFlag {
    my ($self, $flag) = @_;
    return ($flag & FIELD_TYPEDEF) == FIELD_TYPEDEF;
}

sub IsArrayFlag {
    my ($self, $flag) = @_;
    return ($flag & FIELD_ARRAY) == FIELD_ARRAY;
}

sub IsEncryptedFlag {
    my ($self, $flag) = @_;
    return ($flag & FIELD_ENCRYPTED) == FIELD_ENCRYPTED;
}

1;


__END__

=head1 NAME

OntapClusterAPI - Contains the definitions and description of API Bindings for clustered Data ONTAP

=head1 SYNOPSIS

	 my $s = NaServer->new($server, 1, 0); # create NaServer (server context)
	 $s->set_admin_user('admin', 'password'); # provide username and password

	 eval{ 
		 my $output = $s->system_get_version(); # use binding for system-get-version API
		 print "Data ONTAP version: $output->{version}\n"; # extract the required parameter from output
		 print "Clustered: $output->{is-clustered}\n"; 
		 my $tuple = $output->{'version-tuple'}->{'system-version-tuple'}; 
		 print "Generation: $tuple->{generation}  Major: $tuple->{major}  Minor: $tuple->{minor} \n"; 

		 $output = $s->quota_status_iter('query' => { 'quota-status-attributes' => {'volume' => 'vol0'}} ); # nested parameters as hashes of hashes
		 print "Quota Status: $output->{'attributes-list'}->{'quota-status-attributes'}->{'status'} \n"; 

	 };
	 if($@) { # check for any exception
		 my ($error_reason, $error_code) = $@ =~ /(.+)\s\((\d+)\)/;  # parse out error reason and error code
		 print "Error Reason: $error_reason  Code: $error_code\n"
	 }

=head1 DESCRIPTION

NetApp Manageability SDK 5.5 provides support for Perl API bindings for both Data ONTAP APIs and OnCommand Unified Manager APIs.
The Perl API bindings libraries contain interfaces to establish a connection with either the Data ONTAP server or the OnCommand Unified Manager server.
By using these libraries, you can create Perl applications to access and manage the Data ONTAP server or OnCommand Unified Manager server.

NetApp Manageability SDK 5.5 Perl API bindings provide a runtime library NaServer.pm, which is available at <installation_folder>/lib/perl/NetApp.
This library file enables you to establish a server connection, send requests and receive responses, and interpret error messages.
Each binding can be called as a subroutine of NaServer module which in turn invokes the corresponding Data ONTAP or OnCommand Unified Manager API.



=head1 API BINDINGS



=head2 active_directory_account_create

[B<Family:> vserver]


=begin html

Create an Active Directory account for the given Vserver. If a CIFS server already exists for the requested Vserver, then this command will fail. The existing CIFS server should be deleted before retrying again. If joining a domain, this command may take several minutes to complete.

=end html



B<Inputs>

=over 2

=item * I<account-name>  =>   B<netbios-name>

=begin html

<br>Active Directory account NetBIOS name.

=end html

=back



=over 2

=item * I<admin-password>  =>   B<string>

=begin html

<br>Administrator password required for Active Directory account creation.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string>

=begin html

<br>Administrator username required for Active Directory account creation.

=end html

=back



=over 2

=item * I<domain>  =>   B<string>

=begin html

<br>Fully qualified domain name.

=end html

=back



=over 2

=item * I<force-account-overwrite>  =>   B<boolean, optional>

=begin html

<br>If true and a machine account with the same name as specified in 'account-name' exists in Active Directory, it will be overwritten and reused. The default value for this field is false.

=end html

=back



=over 2

=item * I<organizational-unit>  =>   B<string, optional>

=begin html

<br>Organizational unit under which the Active Directory account will be created.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 active_directory_account_delete

[B<Family:> vserver]


=begin html

Delete the Active Directory account. If a CIFS server already exists for the requested Vserver, cifs-server-delete API should be used to delete the machine account.

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string, optional>

=begin html

<br>Administrator password required for Active Directory account deletion.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string, optional>

=begin html

<br>Administrator username required for Active Directory account deletion.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 active_directory_account_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of active directory accounts

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"active-directory-account-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"active-directory-account-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the active-directory-account object. All active-directory-account objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"active-directory-account-config">[], optional>

=begin html

<br>The list of attributes of active-directory-account objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more active-directory-account objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 active_directory_account_modify

[B<Family:> vserver]


=begin html

Modify the Windows Active Directory domain. If a CIFS server already exists for the requested Vserver, cifs-server-modify API should be used to modify the Windows Active Directory domain. If re-joining the current domain or joining a new one, this command may take several minutes to complete.

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string, optional>

=begin html

<br>Administrator password required for Active Directory account creation in the given domain.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string, optional>

=begin html

<br>Administrator username required for Active Directory account creation in the given domain.

=end html

=back



=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>Fully qualified domain name.

=end html

=back



=over 2

=item * I<force-account-overwrite>  =>   B<boolean, optional>

=begin html

<br>If true and a machine account with the same name as specified in 'account-name' exists in Active Directory, it will be overwritten and reused. The default value for this field is false.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 active_directory_account_password_change

[B<Family:> vserver]


=begin html

Generate a new password for the machine account and change it in the Windows Active Directory domain.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 active_directory_account_password_reset

[B<Family:> vserver]


=begin html

Reset the machine account password in the Windows Active Directory domain. This may be required if the password stored along with the machine account in the Windows Active Directory domain is changed or reset without the Vserver's knowledge. This operation requires the credentials for a user with permission to reset the password in the organizational unit (OU) that the machine account is a member of.

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string>

=begin html

<br>Administrator password required for Active Directory account password reset.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string>

=begin html

<br>Administrator username required for Active Directory account password reset.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_add

[B<Family:> cluster]


=begin html

Add disks to the specified aggregate. The disks to add are specified in the same way as for "aggr-create". Disks cannot be added to a mirrored aggregate if one or more of the plexes is offline. By the time the API returns, the disk(s) may not yet be completely added. Use 'aggr-list-info' to query the aggregate status to determine when it has finished growing due to the added disk(s). Same can be done using 'aggr-get-iter' when requested from Admin Vserver LIF. When the upgrade-64bit-mode input is provided to this API, the API produces a set of results in the background. These results are not available as output from aggr-add. Use the 'aggr-list-info' and 'volume-list-info' APIs to query the results of the 64-bit upgrade process on the aggregate and flexible volumes, respectively.

=end html



B<Inputs>

=over 2

=item * I<actual-disk-type>  =>   B<string, optional>

=begin html

<br>Actual disk type of disks to use: ATA, BSAS, FCAL, FSAS, LUN, MSATA, SAS, SSD, or VMDISK. When this option is used, only disks of the specified type will be selected for use in the aggregate. One of either "disk-type, "actual-disk-type" or "disk-class" is required to be used when converting an existing aggregate to a hybrid one, or when operating on a hybrid aggregate. Otherwise, the option is not required.

=end html

=back



=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name or UUID of the aggregate to which the disks will be added. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<allocation-units>  =>   B<integer, optional>

=begin html

<br>The spare capacity in terms of number of allocation units to be added to a given aggregate. Number of allocation units available and size of each unit can be found using ZAPI 'storage-pool-capacity-get-iter'. This option works only when 'storage-pool' is specified.

=end html

=back



=over 2

=item * I<allow-mixed-rpm>  =>   B<boolean, optional>

=begin html

<br>Disks in an aggregate are normally required to have the same RPM. This behavior is overridden with this option when it is set to true. Default value is false.

=end html

=back



=over 2

=item * I<allow-same-carrier>  =>   B<boolean, optional>

=begin html

<br>Using two disks from one carrier that houses multiple disks in one RAID group is not desirable. If that happens, Data ONTAP initiates a series of disk copy operations to correct that situation. Sometimes, selection of available spare disks makes it impossible to avoid placing two disks from one carrier in one RAID group. Setting this option to true allows placing two disks from one carrier in one RAID group. This option has an effect only when disks to be used are specified in 'disks'. This option is ignored when 'disk-count' is used.

=end html

=back



=over 2

=item * I<cache-raid-group-size>  =>   B<integer, optional>

=begin html

<br>Specifies the RAID group size of the new SSD RAID groups being created as part of the disk add operation. This option should be used while adding SSD disks for the first time to a hybrid-enabled aggregate. Range : [2..28]

=end html

=back



=over 2

=item * I<cache-raid-type>  =>   B<string, optional>

=begin html

<br>Specifies the raid-type of the new RAID groups being created as part of the disk add operation. This option should be used while adding SSD disks for the first time to a hybrid-enabled aggregate. Possible values: raid4, raid_dp and raid_tec only. If not specified, the default value is the raid-type of the aggregate.

=end html

=back



=over 2

=item * I<checksum-style>  =>   B<string, optional>

=begin html

<br>Specifies the checksum style for the disks to be added to an aggregate. This input is not allowed if a list of disks to use is specified through the "disks" parameter. The possible values: <ul> <li> "advanced_zoned" - advanced_zoned checksum (azcs), <li> "block" - block. </ul> By default, disks with same checksum style as the aggregate are selected. Use this option to override that behavior and create a mixed checksum aggregate. "zoned" is not supported as one of the possible values as a mixed checksum aggregate can support only block and advanced_zoned checksum styles.

=end html

=back



=over 2

=item * I<disk-class>  =>   B<string, optional>

=begin html

<br>Class of disks to use. Disks are grouped into classes based on their performance characteristics. Disks belonging to the same class are compatible for use in the same aggregate. When this option is used, all disks belonging to the specified disk class are considered eligible for selection. Possible values are: <ul> <li> "capacity" - Capacity-oriented, near-line disk types. Includes disk types FSAS, BSAS and ATA.</li> <li> "performance" - Performance-oriented, enterprise class disk types. Includes disk types FCAL and SAS.</li> <li> "archive" - Archive class SATA disks in multi-disk carrier storage shelves. Includes disk type MSATA.</li> <li> "solid-state" - Solid-state drives. Includes disk type SSD.</li> <li> "array" - Logical storage devices backed by storage arrays and used by Data ONTAP as disks. Includes disk type LUN.</li> <li> "virtual" - Virtual disks that are formatted and managed by the hypervisor. Includes disk type VMDISK.</li> </ul> One of either "disk-type, "actual-disk-type" or "disk-class" is required to be used when converting an existing aggregate to a hybrid one, or when operating on a hybrid aggregate. Otherwise, the option is not required.

=end html

=back



=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>Number of disks to add, including the parity disks. The disks will come from the pool of spare disks. The smallest disks in this pool join the aggregate first, unless the "disk-size" argument is specified. Either the "disk-count" or "disks" argument must be specified. Range : [0..2^31-1].

=end html

=back



=over 2

=item * I<disk-size>  =>   B<integer, optional>

=begin html

<br>The individual disk size in 4KB blocks. For example, a disk-size of 131072000 represents a 500GB drive (131072000 * 4 * 1024 = 500 * 1024 * 1024 * 1024). Disks with a usable size between 90% and 105% of the specified size are selected. If neither the "disk-size" nor the "disk-size-with-unit" argument is specified, existing groups are appended with disks that are the best match by size for the largest disk in the group. When starting new groups, disks that are the best match by size for the largest disk in the last raidgroup are selected first, then smaller disks, and finally larger disks. This "disk-size" option is ignored if a specific list of disks is specified through the "disks" parameter. Range : [0..2^63-1]. You must only use one of either "disk-size" or "disk-size-with-unit" parameters. If both appear, an error message will be returned.

=end html

=back



=over 2

=item * I<disk-size-with-unit>  =>   B<string, optional>

=begin html

<br>This parameter accepts a disk size in the specified unit. It is a positive integer number followed by unit of "T", "G", "M" or "K". For example, these are accepted: 72G, 36G, 1T and 32M. But "72" will not be accepted. This "disk-size-with-unit" option is ignored if a specific list of disks is specified through the "disks" parameter. You must only use one of either "disk-size" or "disk-size-with-unit" parameters. If both appear, an error message will be returned.

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Type of disks to use: ATA, BSAS, FCAL, FSAS, LUN, MSATA, SAS, SSD, or VMDISK. When this option is used, disks of the specified type or disks of a compatible type will be selected for use in the aggregate. The ability to mix compatible disk types in one aggregate is controlled by the system options 'raid.mix.hdd.disktype.capacity' and 'raid.mix.hdd.disktype.performance'. One of either "disk-type, "actual-disk-type" or "disk-class" is required to be used when converting an existing aggregate to a hybrid one, or when operating on a hybrid aggregate. Otherwise, the option is not required. This option will be deprecated in a future release. Please use "actual-disk-type" or "disk-class" instead.

=end html

=back



=over 2

=item * I<disks>  =>   B<L<"disk-info">[], optional>

=begin html

<br>Specific list of disks to add to the aggregate. If the aggregate is mirrored and a specific list of disks is supplied, another list ("mirror-disks") must also be supplied with the same number of disks. Either the "disks" or "disk-count" argument must be specified.

=end html

=back



=over 2

=item * I<force-cache-size>  =>   B<boolean, optional>

=begin html

<br>When set to true this parameter forces the addition of SSD disks to hybrid enabled aggregate by skipping the check for total (local + partner) hybrid SSD capacity. This can be used when the partner's cache capacity cannot be retrieved. Default value is false. Warning: If force-cache-size is set to true, the administrator is responsible to ensure that the total limit will not be exceeded.

=end html

=back



=over 2

=item * I<force-spare-pool>  =>   B<boolean, optional>

=begin html

<br>Disks in a plex are not normally permitted to span spare pools. This behavior is overridden with this option when it is set to true. This is a deprecated parameter. Use the allow-mixed-rpm and ignore-pool-checks parameters instead.

=end html

=back



=over 2

=item * I<group-selection-mode>  =>   B<string, optional>

=begin html

<br>Specifies how DATA ONTAP adds the specified disks to raidgroups. Legitimate values are "last", "one", "new" or "all". group-selection-mode is an optional argument, and the behavior when it is not used is selected by value of raid-group. If raid-group is used, the behavior is the same as for group-selection-mode "one". If raid-group is not used, the behavior is the same as for group-selection-mode "last". The raid-group option must be used with group-selection-mode value "one", and it cannot be used with others. If the string value is "last", Data ONTAP adds the specified disks to the existing last RAID group first. After the last RAID group is full, it creates one or more new RAID groups and adds the remaining disks to the new groups. If the string value is "one", Data ONTAP adds the specified disks to the existing RAID group specified by raid-group option until this specified RAID group is full. If the string value is "new", Data ONTAP creates one or more new RAID groups and adds the specified disks to the new groups, even if they would fit into an existing RAID group. The name of new RAID groups are selected automatically. It is not possible to specify the name for the new RAID groups. If the string value is "all", Data ONTAP adds the specified disks to existing RAID groups first. Only after all existing RAID groups are full, it creates one or more new RAID groups and adds the remaining disks to the new groups.

=end html

=back



=over 2

=item * I<ignore-pool-checks>  =>   B<boolean, optional>

=begin html

<br>Disks in a plex are normally required to come from the same spare pool. Similarly, disks in different plexes of a mirrored aggregate are required to come from different spare pools. This behavior is overridden with this option when it is set to true. Default value is false.

=end html

=back



=over 2

=item * I<mirror-disks>  =>   B<L<"disk-info">[], optional>

=begin html

<br>Specific list of mirror disks needed to accompany the list in the "disks" parameter. This list must contain the same number of disks as specified in "disks".

=end html

=back



=over 2

=item * I<pre-check>  =>   B<boolean, optional>

=begin html

<br>Only check for the warnings without actually adding the disks. This option cannot be used when "simulate" is specified or "upgrade-64bit-mode" is set to "check". Default value is false.

=end html

=back



=over 2

=item * I<raid-group>  =>   B<string, optional>

=begin html

<br>Specifies the RAID group (for example rg0) to which the indicated disks are to be added. When a RAID group other than the last RAID group is specified, the aggregate can no longer be reverted to a version of Data ONTAP prior to 6.2. In such a case, the "force-spare-pool" option must be specified as well. By default, the filer fills up one RAID group with disks before starting another RAID group. Suppose an aggregate currently has one RAID group of 12 disks and its RAID group size is 14. If you add 5 disks to this aggregate, it will have one RAID group with 14 disks and another RAID group with 3 disks. The filer does not evenly distribute disks among RAID groups.

=end html

=back



=over 2

=item * I<simulate>  =>   B<boolean, optional>

=begin html

<br>Simulates the addition of disks to the given aggregate or UUID of the aggregate. If set to "true", addition of disks won't happen but returns the list of disks that would be automatically selected for the addition of the aggregate. By default, simulate option is set to false.

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string, optional>

=begin html

<br>Name of the storage pool from which the capacity will be added. This parameter cannot be used with disk-list or disk-count option.

=end html

=back



=over 2

=item * I<upgrade-64bit-mode>  =>   B<string, optional>

=begin html

<br>Allows the aggregate to grow past 16 TB and begin 64-bit upgrade. If not supplied, adding disks past 16 TB to a 32-bit aggregate will fail. Legitimate values are "check", "grow_all", "grow_none", and "grow_reserved". If the "check" value is specified, aggr-add produces a summary of the space impact which would result from upgrading the aggregate to 64-bit. This summary includes the space usage of each contained volume after the volume is upgraded to 64-bit and the amount of space that must be added to the volume to successfully complete the 64-bit upgrade. The summary can be obtained by querying the 'aggr-list-info' and 'volume-list-info' APIs. The aggregate's summary is made available in the 'check' element that is part of the 'aggr-64bit-upgrade-info' typedef. The flexible volumes' summary is made available in the 'check' element that is part of the 'volume-64bit-upgrade-info' typedef. This option does not result in an upgrade to 64-bit or addition of disks. If the "grow_all" value is specified, "aggr-add" upgrades the aggregate to 64-bit if the total aggregate size after adding the specified disks exceeds 16TB. This option allows "aggr-add" to automatically grow volumes as needed if they run out of space due to the 64-bit upgrade. The volumes will be grown to accommodate all the files within these volumes. This option does not affect volumes which have autosize enabled. If the "grow_none" value is specified, "aggr-add" upgrades the aggregate to 64-bit if the total aggregate size after adding the specified disks exceeds 16TB. This option does not allow "aggr-add" to automatically grow volumes if they run out of space due to the 64-bit upgrade. If the "grow_reserved" value is specified, "aggr-add" upgrades the aggregate to 64-bit if the total aggregate size after adding the specified disks exceeds 16TB. This option allows "aggr-add" to automatically grow volumes if they run out of space due to the 64-bit upgrade, but only to accommodate the space reserved files within these volumes. This option does not affect volumes which have autosize enabled.

=end html

=back



B<Outputs>

=over 2

=item * I<bad-disks>  =>   B<L<"disk-info">[], optional>

=begin html

<br>List of disks that were not added. This is only returned if there are bad disks.

=end html

=back



=over 2

=item * I<pre-check-results>  =>   B<L<"warning-code">[], optional>

=begin html

<br>Result of the pre-check for possible warnings. Possible warning codes are: <ul> <li> E_WARN_NEW_RAID_GROUP <li> E_WARN_EXCEEDS_HALF_CLUSTER_SIZE <li> E_WARN_DISK_DOWNSIZE <li> E_WARN_LOW_SPARE <li> E_WARN_NEEDS_PARTITIONING <li> E_WARN_UNUSED_SPARE_PARTITIONS </ul>

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded", "in-progress", "failed".

=end html

=back



=over 2

=item * I<simulation-result>  =>   B<L<"aggregate-simulate-layout-info">, optional>

=begin html

<br>Layout of disks selected for addition to the aggregate. This is returned only if simulate option is set to true.

=end html

=back



=over 2

=item * I<upgrade-64bit-cookie>  =>   B<integer, optional>

=begin html

<br>The opaque cookie to uniquely identify this 64-bit upgrade transaction. This cookie can be compared against the cookie returned by aggr-list-info to ensure that the output produced by aggr-list-info corresponds to this 64-bit upgrade transaction. Range: [0..2^64-1].

=end html

=back



=head2 aggr_autobalance_aggregate_state_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of aggr-autobalance objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-autobalance-aggregate-state">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-autobalance-aggregate-state">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr-autobalance object. All aggr-autobalance objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-autobalance-aggregate-state">[], optional>

=begin html

<br>The list of attributes of aggr-autobalance objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr-autobalance objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_autobalance_config_get

[B<Family:> cluster]


=begin html

Displays the configuration for Auto Balance Aggregate.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-autobalance-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"aggr-autobalance-config">>

=begin html

<br>The attributes of the aggr-autobalance.

=end html

=back



=head2 aggr_autobalance_config_modify

[B<Family:> cluster]


=begin html

Modifies Auto Balance Aggregate configuration.

=end html



B<Inputs>

=over 2

=item * I<available-threshold-percent>  =>   B<integer, optional>

=begin html

<br>When Auto Balance Aggregate identifies an aggregate that needs to be balanced, it will attempt to identify other target aggregates it can move volumes to. An aggregate will only be considered as a target if its projected space usage after the move is still under this percentage. Auto Balance Aggregate will attempt to move volumes from an unbalanced aggregate until it is under this percentage. The default value is 40%.

=end html

=back



=over 2

=item * I<hold-duration-after-move>  =>   B<time-interval, optional>

=begin html

<br>This value represents the number of seconds that need to have elapsed since the volume was last moved before it will be considered a movable candidate again. The default value is 48 hours.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>'true' if Auto Balance Aggregate is enabled. 'false' if Auto Balance Aggregate is disabled.

=end html

=back



=over 2

=item * I<move-mode>  =>   B<string, optional>

=begin html

<br>For all modes, Auto Balance Aggregate will identify the volume moves that will help to balance space usage across the aggregates. The mode dictates what Auto Balance Aggregate will do with the suggested moves. In 'recommend' mode, the suggested moves will be displayed, but no further action will be taken.In 'auto' mode, Auto Balance Aggregate will trigger moves to start. The default mode is 'recommend'.

=end html

=back



=over 2

=item * I<state-polling-interval>  =>   B<time-interval, optional>

=begin html

<br>Polling period, in seconds, used by Auto Balance Aggregate to update volume and aggregate stats. The default value is 3600 seconds (1 hour).

=end html

=back



=over 2

=item * I<unbalanced-threshold-percent>  =>   B<integer, optional>

=begin html

<br>This percentage will indicate the space used threshold that will cause Auto Balance Aggregate to consider this aggregate as unbalanced. The default value is 60%.

=end html

=back



=over 2

=item * I<volume-activity-threshold>  =>   B<integer, optional>

=begin html

<br>The threshold, in number of operations per second preformed on a volume (read/write/internal), that will disqualify the volume from being a candidate to be moved by Auto Balance Aggregate. The default value is 100 operations per second.

=end html

=back



=over 2

=item * I<volume-inactive-delay-threshold>  =>   B<time-interval, optional>

=begin html

<br>This value represents a duration in seconds and designates the amount of time that has to elapse after a volume has exceeded the volume-activity-threshold before it can be considered a movable volume by Auto Balance Aggregate. The default value is 24 hours.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_autobalance_notification_get_iter

[B<Family:> cluster]


=begin html

Displays the nodes that notify Auto Balance Aggregate about aggregates that need to be balanced

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-autobalance-notification">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-autobalance-notification">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr-autobalance object. All aggr-autobalance objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-autobalance-notification">[], optional>

=begin html

<br>The list of attributes of aggr-autobalance objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr-autobalance objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_autobalance_volume_state_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of aggr-autobalance objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-autobalance-volume-state">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-autobalance-volume-state">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr-autobalance object. All aggr-autobalance objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-autobalance-volume-state">[], optional>

=begin html

<br>The list of attributes of aggr-autobalance objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr-autobalance objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_check_spare_low

[B<Family:> cluster]


=begin html

Return true if there is no suitable spare disk available for any filesystem (parity or data) disk.

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Low spare condition checked on the requested node. When requested from Admin Vserver LIF and node name not specified, status for the cluster is returned.

=end html

=back



B<Outputs>

=over 2

=item * I<is-spare-low>  =>   B<boolean>

=begin html

<br>"true", if system has insufficient spare disk, "false" otherwise. When requested from Admin Vserver LIF, "true" is returned if one or more nodes in the cluster have spare low condition, "false" otherwise.

=end html

=back



=head2 aggr_create

[B<Family:> cluster]


=begin html

Create a new aggregate with the given name. The maximum number of aggregates that can be created on a filer varies by the type of configuration. In a standalone configuration, up to 200 aggregates can be created on a filer. In an HA configuration, this number drops to 100 and to 50 in a C-mode MetroCluster configuration. The aggregate may not yet be operational immediately after the API returns. Use 'aggr-list-info' to query the status of the newly-created aggregate to determine when it is fully operational. Same can be done using 'aggr-get-iter' when requested from Admin Vserver LIF. NOTE: If ECANT_USE_ALL_DISKS is returned, then the requested aggregate was indeed created, just not with all the disks that were specified.

=end html



B<Inputs>

=over 2

=item * I<actual-disk-type>  =>   B<string, optional>

=begin html

<br>Actual type of disks to use: ATA, BSAS, FCAL, FSAS, LUN, MSATA, SAS, SSD, or VMDISK. When this option is used, only disks of the specified type will be selected for use in the aggregate. This option is not allowed if a disk type is specified through the "disk-type" option or if a disk class is specified through the "disk-class" option. It is also not allowed if a list of disks to use is specified through the "disks" option.

=end html

=back



=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name of the aggregate to create. The aggregate name can contain letters, numbers, and the underscore character(_), but the first character must be a letter or underscore. The maximum length of the aggregate name is 255.

=end html

=back



=over 2

=item * I<allow-mixed-rpm>  =>   B<boolean, optional>

=begin html

<br>Disks in an aggregate are normally required to have the same RPM. This behavior is overridden with this option when it is set to true. Default value is false.

=end html

=back



=over 2

=item * I<allow-same-carrier>  =>   B<boolean, optional>

=begin html

<br>Using two disks from one carrier that houses multiple disks in one RAID group is not desirable. If that happens, Data ONTAP initiates a series of disk copy operations to correct that situation. Sometimes, selection of available spare disks makes it impossible to avoid placing two disks from one carrier in one RAID group. Setting this option to true allows placing two disks from one carrier in one RAID group. This option has an effect only when disks to be used are specified in 'disks'. This option is ignored when 'disk-count' is used.

=end html

=back



=over 2

=item * I<autobalance-state>  =>   B<autobalance-aggregate-state, optional>

=begin html

<br>The state of the aggregate being balanced. Possible values: <ul> <li> "disabled" - Auto Balance Aggregate is disabled, <li> "balanced" - Auto Balance Aggregate has determined that the aggregate is below the high-watermark. <li> "unbalanced" - Auto Balance Aggregate has detected that the aggregate is over the high-watermark but has not initiated any jobs to bring it below the high-watermark., <li> "ineligible" - Ineligible </ul> The states excluded, balanced and unbalanced are available only when Auto Balance Aggregate is enabled. The default value is 'ineligible'

=end html

=back



=over 2

=item * I<block-type>  =>   B<string, optional>

=begin html

<br>The indirect block format that the aggregate can have. The default is 64_bit. With a 64_bit block-type creation of aggregates that can be larger than 16TB is allowed. Possible values: 64_bit

=end html

=back



=over 2

=item * I<checksum-style>  =>   B<string, optional>

=begin html

<br>Specifies the checksum style for the aggregate. This input is not allowed if a list of disks to use is specified through the "disks" parameter. The possible values: <ul> <li> "advanced_zoned" - advanced_zoned checksum (azcs), <li> "block" - block, </ul>

=end html

=back



=over 2

=item * I<disk-class>  =>   B<string, optional>

=begin html

<br>Class of disks to use. Disks are grouped into classes based on their performance characteristics. Disks belonging to the same class are compatible for use in the same aggregate. When this option is used, all disks belonging to the specified disk class are considered eligible for selection. Possible values are: <ul> <li> "capacity" - Capacity-oriented, near-line disk types. Includes disk types FSAS, BSAS and ATA.</li> <li> "performance" - Performance-oriented, enterprise class disk types. Includes disk types FCAL and SAS.</li> <li> "archive" - Archive class SATA disks in multi-disk carrier storage shelves. Includes disk type MSATA.</li> <li> "solid-state" - Solid-state drives. Includes disk type SSD.</li> <li> "array" - Logical storage devices backed by storage arrays and used by Data ONTAP as disks. Includes disk type LUN.</li> <li> "virtual" - Virtual disks that are formatted and managed by the hypervisor. Includes disk type VMDISK.</li> </ul> This option is not allowed if a disk type is specified through the "disk-type" or "actual-disk-type" option. It is also not allowed if a list of disks to use is specified through the "disks" option.

=end html

=back



=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>Number of disks to place into the aggregate, including parity disks. The disks in this newly- created aggregate come from the spare disk pool. The smallest disks in this pool join the aggregate first, unless the "disk-size" argument is provided. Range [0..2^31-1]. Either "disk-count" or "disks" must be supplied.

=end html

=back



=over 2

=item * I<disk-size>  =>   B<integer, optional>

=begin html

<br>Disk size in 4KB blocks. Disks that are within 10% of the specified size will be selected for use in the aggregate. If neither "disk-size" nor "disk-size-with-unit" is specified, existing groups are appended with disks that are the best match for the largest disk in the group. When starting new groups, the smallest disks are selected first. This option is ignored if a specific list of disks to use is specified through the "disks" parameter. Range : [0..2^63-1]. You must only use one of either "disk-size" or "disk-size-with-unit" parameters. If both appear, an error message will be returned.

=end html

=back



=over 2

=item * I<disk-size-with-unit>  =>   B<string, optional>

=begin html

<br>Disk size in the specified unit. It is a positive integer number followed by unit of "T", "G", "M" or "K". This "disk-size-with-unit" option is ignored if a specific list of disks is specified through the "disks" parameter. You must only use one of either "disk-size" or "disk-size-with-unit" parameters. If both appear, an error message will be returned.

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Type of disks to use: ATA, BSAS, FCAL, FSAS, LUN, MSATA, SAS, SSD, or VMDISK. When this option is used, disks of the specified type or disks of a compatible type will be selected for use in the aggregate. The ability to mix compatible disk types in one aggregate is controlled by the system options 'raid.mix.hdd.disktype.capacity' and 'raid.mix.hdd.disktype.performance'. The "disk-type" option is not allowed if a disk type is specified through the "actual-disk-type" option or if a disk class is specified through the "disk-class" option. It is also not allowed if a list of disks to use is specified through the "disks" option. This option will be deprecated in a future release. Please use "actual-disk-type" or "disk-class" instead.

=end html

=back



=over 2

=item * I<disks>  =>   B<L<"disk-info">[], optional>

=begin html

<br>Specific list of disks to use for the new aggregate. To create a "mirrored" aggregate with a specific list of disks, both 'disks' and 'mirror-disks' options must be supplied. Additionally, the same number of disks must be supplied in both lists. This option cannot be used when the 'is-mirrored' option is set to true.

=end html

=back



=over 2

=item * I<encrypt>  =>   B<boolean, optional>

=begin html

<br>Enable encryption for the aggregate being created. Default value is false.

=end html

=back



=over 2

=item * I<excluded-from-autobalance>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the aggregate is excluded from Auto Balance aggregate processing. The default value is false, meaning that the aggregate is included in Auto Balance Aggregate processing.

=end html

=back



=over 2

=item * I<force-small-aggregate>  =>   B<boolean, optional>

=begin html

<br>Forces the creation of a 2-disk RAID4 aggregate, or a 3-disk or 4-disk RAID-DP aggregate. The default value is false.

=end html

=back



=over 2

=item * I<force-spare-pool>  =>   B<boolean, optional>

=begin html

<br>Disks in a plex are not normally permitted to span spare pools. This behavior is overridden with this option when it is set to true. This is a deprecated parameter. Use the allow-mixed-rpm and ignore-pool-checks parameters instead.

=end html

=back



=over 2

=item * I<ignore-pool-checks>  =>   B<boolean, optional>

=begin html

<br>Disks in a plex are normally required to come from the same spare pool. Similarly, disks in different plexes of a mirrored aggregate are required to come from different spare pools. This behavior is overridden with this option when it is set to true. Default value is false. This option can be used only when 'mirror-disks' is provided.

=end html

=back



=over 2

=item * I<is-autobalance-eligible>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the aggregate is included in Auto Balance aggregate processing. The default value is false, meaning that the aggregate is included in Auto Balance Aggregate processing.

=end html

=back



=over 2

=item * I<is-mirrored>  =>   B<boolean, optional>

=begin html

<br>Specifies that the new aggregate be mirrored (have two plexes). If set to true, then the indicated disks will be split across the two plexes. By default, the new aggregate will not be mirrored. This option cannot be used when a specific list of disks is supplied with either the 'disks' or 'mirror-disks' options.

=end html

=back



=over 2

=item * I<mirror-disks>  =>   B<L<"disk-info">[], optional>

=begin html

<br>List of mirror disks to use. It must contain the same number of disks specified in 'disks'. This option cannot be used when 'is-mirrored' option is set to true.

=end html

=back



=over 2

=item * I<nodes>  =>   B<node-name[], optional>

=begin html

<br>Target node to create aggregate. If no node name is provided, aggregate will be created on the local node. If one node name is provided, aggregate(striped or not_striped based on the striping input) will be created on that node.When multiple nodes are specified, striped aggregate will be created across multiple nodes.

=end html

=back



=over 2

=item * I<pre-check>  =>   B<boolean, optional>

=begin html

<br>Only check for the warnings without actually creating the aggregate. This option cannot be used when "simulate" is specified. Default value is false.

=end html

=back



=over 2

=item * I<raid-size>  =>   B<integer, optional>

=begin html

<br>Specifies the maximum number of disks in each RAID group in the aggregate. The maximum value for this parameter is 28. The default value is platform- dependent. The valid range of values is also platform-dependent, but never wider than [2..28].

=end html

=back



=over 2

=item * I<raid-type>  =>   B<string, optional>

=begin html

<br>Specifies the type of RAID groups to use in the new aggregate. Possible values: raid4, raid_dp, raid_tec. The default value is raid4 on most platforms.

=end html

=back



=over 2

=item * I<rpm>  =>   B<integer, optional>

=begin html

<br>Rotational speed of disks in revolutions per minute. Possible values are: 5400, 7200, 10000, and 15000. This option is needed only when disks with different rotational speeds are connected to the filer. It is not allowed if a list of disks to use is specified through the "disks" parameter.

=end html

=back



=over 2

=item * I<simulate>  =>   B<boolean, optional>

=begin html

<br>Specifies to return the list of disks getting used to create the new aggregate. If set to "true", new aggregate won't be created but returns the disks that would be automatically selected for the creation of the aggregate. By default, simulate option is set to false.

=end html

=back



=over 2

=item * I<snaplock-type>  =>   B<string, optional>

=begin html

<br>Specifies the type of Snaplock aggregate to be created. Possible values - "compliance", "enterprise" or "non-snaplock". ESERVICENOTLICENSED is returned if the necessary Snaplock compliance or enterprise license has not been installed. EINVALIDINPUTERROR is returned if snaplock-type has an illegal value. EONTAPI_EWORMNOCLOCK is returned if SnapLock Compliance Clock is not running.

=end html

=back



=over 2

=item * I<spare-pool>  =>   B<string, optional>

=begin html

<br>Specifies the spare pool from which to select spare disks to use in creation of a new aggregate. This option is not allowed if a list of disks specified through the "disks" parameter. This option cannot be used when "is-mirrored" is set to true. Possible values: <ul> <li> "Pool0" - Disks associated with spare Pool0. <li> "Pool1" - Disks associated with spare Pool1. </ul>

=end html

=back



=over 2

=item * I<striping>  =>   B<striping-type, optional>

=begin html

<br>Specifies the striping information about new aggregate. The only allowed values are "striped" and "not_striped". Default value is "not_striped". "striped" value creates striped aggregate on node. This attribute is not allowed in unclustered environments. EINVALIDINPUTERROR is returned if value is other than "striped" and "not_striped". EOP_CLUSTER_ATTR_DISALLOWED is returned if this attribute is used in unclustered environments. EOP_DISALLOWED_ON_CFO_AGGR is returned if this attribute is set to "striped" when aggregate being created with 'cfo' HA policy.

=end html

=back



B<Outputs>

=over 2

=item * I<aggregate-capacity>  =>   B<integer, optional>

=begin html

<br>Estimated aggregate capacity (in bytes). This is returned only if simulate option is set to true. Range : [0..2^64-1].

=end html

=back



=over 2

=item * I<bad-disks>  =>   B<L<"disk-info">[], optional>

=begin html

<br>List of disks that were not added. This is only returned if there are bad disks.

=end html

=back



=over 2

=item * I<pre-check-results>  =>   B<L<"warning-code">[], optional>

=begin html

<br>Result of the pre-check for possible warnings. Possible warning codes are: <ul> <li> E_WARN_EXCEEDS_HALF_CLUSTER_SIZE <li> E_WARN_DISK_DOWNSIZE <li> E_WARN_LOW_SPARE <li> E_WARN_NEEDS_PARTITIONING <li> E_WARN_UNUSED_SPARE_PARTITIONS </ul>

=end html

=back



=over 2

=item * I<simulation-result>  =>   B<L<"aggregate-simulate-layout-info">, optional>

=begin html

<br>Layout of disks selected for creation of the aggregate. This is returned only if simulate option is set to true.

=end html

=back



=head2 aggr_destroy

[B<Family:> cluster]


=begin html

Destroys the specified aggregate or plex. If an aggregate is specified, all plexes in the aggregate are destroyed. If a plex is specified, only that plex is destroyed, leaving an unmirrored aggregate containing the remaining plex. The disks in the destroyed object become spare disks. Only offline aggregates and plexes can be destroyed. Note: Offline aggregates will be destroyed even if they contain one or more flexible volumes, which should not typically be the case. From cluster interface only aggregates are supported and plexes are not supported.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name of the existing aggregate or plex to be destroyed, using the following format: [/vol/]<aggrname>[<plexinfo>] UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<plex>  =>   B<string, optional>

=begin html

<br>Name of a particular plex to destroy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_efficiency_cumulated_get

[B<Family:> cluster]


=begin html

Display the cumulated efficiency ratio for the specified aggregates

=end html



B<Inputs>

=over 2

=item * I<aggregates>  =>   B<string[], optional>

=begin html

<br>List of the aggregates to calculate cumulated efficiency.

=end html

=back



=over 2

=item * I<nodes>  =>   B<string[], optional>

=begin html

<br>List of nodes to calculate cumulated efficiency.

=end html

=back



B<Outputs>

=over 2

=item * I<aggr-efficiency-cumulated-info>  =>   B<L<"aggr-efficiency-cumulated-info">>

=begin html

<br>Aggregate Storage Efficiency Information

=end html

=back



=head2 aggr_efficiency_get_iter

[B<Family:> cluster]


=begin html

Display the all Flash optimized aggregates and their storage efficiency.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-efficiency-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-efficiency-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr-efficiency object. All aggr-efficiency objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-efficiency-info">[], optional>

=begin html

<br>The list of attributes of aggr-efficiency objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr-efficiency objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_get_filer_info

[B<Family:> cluster]


=begin html

Get information on what possibilities and parameters exist for aggregates on a given filer.

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Name of the node (filer)

=end html

=back



B<Outputs>

=over 2

=item * I<allowed-raidtypes>  =>   B<L<"raidtype-info">[]>

=begin html

<br>List of RAID types allowed for aggregates on this filer.

=end html

=back



=over 2

=item * I<checksum-types>  =>   B<string>

=begin html

<br>Checksum types supported by this filer. The possible values: <ul> <li> "zoned" - if all aggregates are Fixed VBN (this value is no longer supported), <li> "block" - if all aggregates are Block Appended, <li> "mixed" - if aggregates are mixed (Fixed VBN, Block Appended and Advanced Zoned), <li> "none" - if no aggregates have zoned or advanced_zoned checksum (azcs) or block checksums, <li> "advanced_zoned" - if all aggregates have Advanced Zoned Checksum scheme. </ul>

=end html

=back



=over 2

=item * I<default-raidtype>  =>   B<string>

=begin html

<br>Default type of RAID used to protect against disk failure in aggregates on this filer. Possible values: "raid0", "raid4", "raid_dp", "raid_tec", "mixed_raid_type".

=end html

=back



=over 2

=item * I<default-raidtype-config>  =>   B<L<"default-raidtype-config-info">[], optional>

=begin html

<br>List of the RAID type parameters for each disk size and disk type supported on this filer.

=end html

=back



=over 2

=item * I<disk-types>  =>   B<string>

=begin html

<br>Sector sizes of disks supported by this filer. Possible values: "512", "520", "4096", "mixed", "none". "512" if all disks are 512 BPS, "520" if all disks are 520 BPS, "4096" if all disks are 4096 BPS, "mixed" if disks are mixed 512, 520 and 4096 BPS, "none" if no disks have 512 or 520 or 4096 BPS.

=end html

=back



=over 2

=item * I<max-named-disks-per-request>  =>   B<integer>

=begin html

<br>The maximum number of named disks which can be specified to 'storage aggregate add', 'storage aggregate create', or 'storage aggregate mirror' operation. Disk addition process may fail if the specified number of named disk is more than this limit. This value is the maximum number of disk entries which can be specified in 'disks' or 'mirror-disks' argument of 'aggr-create' and 'aggr-add' api. Range : [0..2^31-1].

=end html

=back



=over 2

=item * I<min-aggr-disk-count>  =>   B<L<"min-aggr-disk-count-info">[], optional>

=begin html

<br>Information about the minimum number of disks required in an aggregate.

=end html

=back



=over 2

=item * I<raidgroup-size>  =>   B<L<"raidgroup-size-info">[]>

=begin html

<br>List of the RAID group sizing parameters for each RAID type supported on this filer.

=end html

=back



=over 2

=item * I<root-volume>  =>   B<string>

=begin html

<br>Current root volume on the filer.

=end html

=back



=over 2

=item * I<snapshots-max>  =>   B<integer>

=begin html

<br>Maximum number of snapshots available per aggregate on the filer. Range : [0..2^31-1].

=end html

=back



=head2 aggr_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of aggregate objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-attributes">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-attributes">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr object. All aggr objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-attributes">[], optional>

=begin html

<br>The list of attributes of aggr objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_mirror

[B<Family:> cluster]


=begin html

Turns an unmirrored aggregate into a mirrored aggregate by adding a plex to it. The plex is either newly formed from disks chosen from a spare pool or, if the "victim-aggregate" option is specified, taken from another existing unmirrored aggregate. The named aggregate must currently be unmirrored. Disks may be specified explicitly using the "mirror-disks" list option in the same way as with the "aggr-create" and "aggr-add" commands. The number of disks indicated must match the number present in the existing aggregate. If disks are not specified explicitly, then disks are automatically selected to match those in the aggregate's existing plex.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name of the existing aggregate to be mirrored. UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<allow-mixed-rpm>  =>   B<boolean, optional>

=begin html

<br>Disks in an aggregate are normally required to have the same RPM. This behavior is overridden with this option when it is set to true. Default value is false.

=end html

=back



=over 2

=item * I<allow-same-carrier>  =>   B<boolean, optional>

=begin html

<br>Using two disks from one carrier that houses multiple disks in one RAID group is not desirable. If that happens, Data ONTAP initiates a series of disk copy operations to correct that situation. Sometimes, selection of available spare disks makes it impossible to avoid placing two disks from one carrier in one RAID group. Setting this option to true allows placing two disks from one carrier in one RAID group. This option has an effect only when disks to be used are specified in 'disks'. This option is ignored when 'disk-count' is used.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force the mirroring operation through, past the normal roadblocks that would otherwise cause it to be aborted. For example, disks in a plex are not normally permitted to span spare pools. Also, the victim cannot normally be accepted when it is owned by one or more vfilers. All these safety-driven behaviors are overridden when this option is set to true. This is a deprecated parameter. Use the allow-mixed-rpm and ignore-pool-checks parameters instead.

=end html

=back



=over 2

=item * I<ignore-pool-checks>  =>   B<boolean, optional>

=begin html

<br>Disks in a plex are normally required to come from the same spare pool. Similarly, disks in different plexes of a mirrored aggregate are required to come from different spare pools. This behavior is overridden with this option when it is set to true. Default value is false.

=end html

=back



=over 2

=item * I<mirror-disks>  =>   B<L<"disk-info">[], optional>

=begin html

<br>Specific list of mirror disks to add. This list must match the number of disks present on the existing aggregate. The specified disks are not permitted to span disk pools unless overridden with the "force-spare-pool" option.

=end html

=back



=over 2

=item * I<override-vfiler-ownership>  =>   B<boolean, optional>

=begin html

<br>The victim aggregate cannot normally be accepted when it is owned by one or more vfilers. This option may be set to true in order to override that restriction. The option is ignored if 'victim-aggregate' is not specified.

=end html

=back



=over 2

=item * I<pre-check>  =>   B<boolean, optional>

=begin html

<br>Only check for the warnings without actually mirroring the aggregate. Default value is false.

=end html

=back



=over 2

=item * I<simulate>  =>   B<boolean, optional>

=begin html

<br>Simulates the addition of a new plex to an existing aggregate. If set to "true", new plex won't be added but returns the disks that would be automatically selected for the creation of the new plex. By default, simulate option is set to false.

=end html

=back



B<Outputs>

=over 2

=item * I<bad-disks>  =>   B<L<"disk-info">[], optional>

=begin html

<br>List of disks that were not added. This is only returned if there are bad disks.

=end html

=back



=over 2

=item * I<pre-check-results>  =>   B<L<"warning-code">[], optional>

=begin html

<br>Result of the pre-check for possible warnings. <ul> <li> E_WARN_DISK_DOWNSIZE <li> E_WARN_LOW_SPARE <li> E_WARN_NEEDS_PARTITIONING <li> E_WARN_UNUSED_SPARE_PARTITIONS </ul>

=end html

=back



=over 2

=item * I<simulation-result>  =>   B<L<"aggregate-simulate-layout-info">, optional>

=begin html

<br>Layout of disks selected for mirroring the existing aggregate. This is returned only if simulate option is set to true.

=end html

=back



=head2 aggr_modify_raid_type

[B<Family:> cluster]


=begin html

Modify the RAID type for the given aggregate to the specified "raid-type". This API can also selectively change the RAID type of specific raid groups in the aggregate based on the specified "disk-type". The change remains effective even if the filer is rebooted. This API does not support modifying options of a striped aggregate.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name or UUID of the aggregate whose option is to be set. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Type of disks to use : ATA, BSAS, FCAL, FSAS, LUN, SAS, SSD, or VMDISK. This option is required if we want to change the raid type of raid groups created out of the specified disks only. Otherwise, if this is not specified then the raid type for all raid groups in the aggregate would change.

=end html

=back



=over 2

=item * I<raid-type>  =>   B<string>

=begin html

<br>possible values: "raid4","raid_dp","raid_tec" The type of RAID group used for this aggregate. The "raid4" setting provides one parity disk per RAID group, while "raid_dp" provides two. Changing this option immediately changes the RAID group type for the RAID groups in the aggregate. When upgrading RAID groups from "raid4" to "raid_dp", each RAID group begins a reconstruction onto a spare disk allocated for the second "dparity" parity disk. Similarly, when upgrading RAID groups from "raid_dp" to "raid_tec", each RAID group begins a reconstruction onto a spare disk allocated for the third "tparity" parity disk.

=end html

=back



=over 2

=item * I<simulate>  =>   B<boolean, optional>

=begin html

<br>Simulates modifying the raid type of the aggregate. If set to "true", raid type will not be changed but, any possible warnings will be returned back. Default value is "false".

=end html

=back



B<Outputs>

=over 2

=item * I<simulation-result>  =>   B<L<"modify-raid-type-simulate-info">, optional>

=begin html

<br>Results from simulation of raid type modification.

=end html

=back



=head2 aggr_object_store_attach

[B<Family:> cluster]


=begin html

Attach an object store to an aggregate

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name of the Aggregate

=end html

=back



=over 2

=item * I<check-only>  =>   B<boolean, optional>

=begin html

<br>Validate But Do Not Attach

=end html

=back



=over 2

=item * I<object-store-name>  =>   B<string>

=begin html

<br>Object Store Configuration Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_object_store_config_create

[B<Family:> cluster]


=begin html

Create an object store configuration.

=end html



B<Inputs>

=over 2

=item * I<access-key>  =>   B<string, optional>

=begin html

<br>Access key

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace to use in order to reach the object store.

=end html

=back



=over 2

=item * I<object-store-name>  =>   B<string>

=begin html

<br>Name for the object store configuration to be created. The name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore.

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>Port number of the object store

=end html

=back



=over 2

=item * I<provider-type>  =>   B<string>

=begin html

<br>Type of object store provider. Allowed values are: <ul> <li> 'AWS_S3' - AWS S3 <li> 'SGWS' - StorageGRID Webscale </ul>

=end html

=back



=over 2

=item * I<s3-name>  =>   B<string>

=begin html

<br>Data bucket/container name used in S3 requests

=end html

=back



=over 2

=item * I<secret-password>  =>   B<string, optional>

=begin html

<br>Secret password

=end html

=back



=over 2

=item * I<server>  =>   B<string>

=begin html

<br>Fully qualified domain name of the object store

=end html

=back



=over 2

=item * I<ssl-enabled>  =>   B<boolean, optional>

=begin html

<br>SSL/HTTPS enabled or not. The default value is 'true'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_object_store_config_delete

[B<Family:> cluster]


=begin html

Delete an object store configuration

=end html



B<Inputs>

=over 2

=item * I<object-store-name>  =>   B<string>

=begin html

<br>Name for the object store configuration to be created. The name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_object_store_config_get

[B<Family:> cluster]


=begin html

Get the attributes of an object store configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-object-store-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<object-store-name>  =>   B<string>

=begin html

<br>Name for the object store configuration to be created. The name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"aggr-object-store-config-info">>

=begin html

<br>The attributes of the aggr.

=end html

=back



=head2 aggr_object_store_config_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of object store configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-object-store-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-object-store-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr object. All aggr objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-object-store-config-info">[], optional>

=begin html

<br>The list of attributes of aggr objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_object_store_config_modify

[B<Family:> cluster]


=begin html

Modify an existing object store configuration.

=end html



B<Inputs>

=over 2

=item * I<access-key>  =>   B<string, optional>

=begin html

<br>Access key

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace to use in order to reach the object store.

=end html

=back



=over 2

=item * I<new-object-store-name>  =>   B<string, optional>

=begin html

<br>New object store configuration name

=end html

=back



=over 2

=item * I<object-store-name>  =>   B<string>

=begin html

<br>Name for the object store configuration to be created. The name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore.

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>Port number of the object store

=end html

=back



=over 2

=item * I<secret-password>  =>   B<string, optional>

=begin html

<br>Secret password

=end html

=back



=over 2

=item * I<server>  =>   B<string, optional>

=begin html

<br>Fully qualified domain name of the object store

=end html

=back



=over 2

=item * I<ssl-enabled>  =>   B<boolean, optional>

=begin html

<br>SSL/HTTPS enabled or not. The default value is 'true'.

=end html

=back



=over 2

=item * I<use-iam-role>  =>   B<boolean, optional>

=begin html

<br>Use IAM Role for AWS ONTAP Cloud

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_object_store_config_provider_list

[B<Family:> cluster]


=begin html

Returns a list of supported object store providers.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<supported-providers>  =>   B<string[], optional>

=begin html

<br>List of supported object store providers

=end html

=back



=head2 aggr_object_store_get_iter

[B<Family:> cluster]


=begin html

Display a list of aggregates which object stores are attached to.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"object-store-information">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"object-store-information">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr-object-store object. All aggr-object-store objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"object-store-information">[], optional>

=begin html

<br>The list of attributes of aggr-object-store objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr-object-store objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_object_store_vol_btuuids_get_iter

[B<Family:> cluster]


=begin html

Display a list of volume buftree UUIDs in a FabricPool aggregate.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"object-store-vol-btuuids-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"object-store-vol-btuuids-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr-object-store-vol-btuuids object. All aggr-object-store-vol-btuuids objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"object-store-vol-btuuids-info">[], optional>

=begin html

<br>The list of attributes of aggr-object-store-vol-btuuids objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr-object-store-vol-btuuids objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_offline

[B<Family:> cluster]


=begin html

Take the specified aggregate or plex offline. The operation takes effect before the API returns. Except in maintenance mode, the current root aggregate may not be taken offline. An aggregate marked to become the root aggregate cannot be taken offline. An aggregate containing one or more flexible volumes cannot be taken offline; its contained volumes must first be destroyed. A number of operations being performed on the given aggregate can prevent this operation from succeeding, either at all or for various lengths of time. If such operations are found, the system waits up to one second for them to finish. If they don't, the command is aborted. A check is also made for files in the aggregate opened by internal Data ONTAP processes. The command is aborted if any are found.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name of the existing aggregate or plex to offline, using the following format: [[/vol]/]<aggrname>[<plexinfo>] UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions. If the aggregate hosts any online volumes, then the offline request will fail unless the optional "unmount-volumes" argument (see below) appears and is set to TRUE. If we've been cleared to unmount any such online volumes hosted by the aggregate, the caller may also specify the number of seconds to wait should any of those volumes have active CIFS shares through the optional "cifs-delay-seconds" argument (see below). If a plex name is specified, the plex must be part of a mirrored aggregate, and both plexes must be online. Prior to offlining a plex, the system will flush all internally-buffered data associated with the plex and create a snapshot that is written out to both plexes. The snapshot allows for efficient resynchronization when the plex is subsequently brought back online. For ontap-cluster, plexinfo is being deprecated in lieu of the plex parameter.

=end html

=back



=over 2

=item * I<force-offline>  =>   B<boolean, optional>

=begin html

<br>An aggregate cannot normally be brought offline if it contains a system volume. This behavior is overridden when this option is set "true". Forcing the aggregate offline might impact cross cluster replication. By default "force-offline" is "false".

=end html

=back



=over 2

=item * I<plex>  =>   B<string, optional>

=begin html

<br>Name of a particular plex to offline. If no plex is specified, then the aggregate will be taken offline. If a plex is specified, the plex must be part of a mirrored aggregate, and both plexes must be online. Prior to offlining a plex, the system will flush all internally-buffered data associated with the plex and create a snapshot that is written out to both plexes. The snapshot allows for efficient resynchronization when the plex is subsequently brought back online.

=end html

=back



=over 2

=item * I<unmount-volumes>  =>   B<boolean, optional>

=begin html

<br>If set to "TRUE", this option specifies that all of the volumes hosted by the given aggregate are to be unmounted before the offline operation is executed. By default, the system will reject any attempt to offline an aggregate that hosts one or more online volumes.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_online

[B<Family:> cluster]


=begin html

Bring the specified aggregate or plex online. This command takes effect immediately. All volumes on the aggregate are brought to whatever state they were in before the aggregate was restricted or taken offline. If there are CIFS shares associated with the any of the aggregate's volumes that were also onlined, they are enabled.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name of the existing aggregate or plex to online, using the following format: [/vol/]<aggrname>[<plexinfo>] UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions. If an aggregate is specified, it must currently be offline, restricted, or foreign (consisting of disks moved from another filer, and never having been brought online on the current filer). If the aggregate is foreign, it will be made native before being brought online on the current filer. Aggregates that aren't foreign are termed "native". If the aggregate is inconsistent but has not lost data, it is advisable to run WAFL_check or wafliron (or do a "snapmirror initialize" in case of a replica aggregate) prior to bringing it online. Bringing an inconsistent aggregate online increases the risk of further file system corruption. If the aggregate is inconsistent and has experienced possible loss of data, it can't be brought online unless WAFL_check or wafliron (or snapmirror initialize) is run on it. If a plex is specified, it must be part of an online mirrored aggregate. The system initiates resynchro- nization of the plex as part of online processing. For ontap-cluster, plexinfo is being deprecated in lieu of the plex parameter.

=end html

=back



=over 2

=item * I<force-online>  =>   B<boolean, optional>

=begin html

<br>An aggregate can not normally be brought online under the following conditions: 1. It has only 1 plex that is offline and not up-to-date. 2. It is an unmirrored or CFO aggregate that has been switched over to its DR partner as part of an MCC configuration. This behavior is overridden when this option is set "true". By default, "force-online" is "false".

=end html

=back



=over 2

=item * I<plex>  =>   B<string, optional>

=begin html

<br>Name of a particular plex to online. If no plex is specified, then the aggregate will be onlined. If a plex is specified, it must be part of an online mirrored aggregate. The system initiates resynchro- nization of the plex as part of online processing.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_options_list_info

[B<Family:> cluster]


=begin html

Get the options that have been set for the specified aggregate. This API does not support listing options of striped aggregate.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name or UUID of the aggregate whose options to retrieve. See the synopsis for name/UUID format and restrictions.

=end html

=back



B<Outputs>

=over 2

=item * I<options>  =>   B<L<"aggr-option-info">[]>

=begin html

<br>List of options set for this aggregate.

=end html

=back



=head2 aggr_relocation

[B<Family:> cluster]


=begin html

Aggregate Relocation

=end html



B<Inputs>

=over 2

=item * I<aggregate-list>  =>   B<string[]>

=begin html

<br>List of aggregate names.

=end html

=back



=over 2

=item * I<destination-node-name>  =>   B<string>

=begin html

<br>Name of destination node where aggregates are to be relocated.

=end html

=back



=over 2

=item * I<is-ndo-controller-upgrade>  =>   B<boolean, optional>

=begin html

<br>Relocation of aggregates as part of controller upgrade. Aggregate relocation will not change home ownership of the aggregates while relocating as part of controller upgrade. Default: false

=end html

=back



=over 2

=item * I<is-override-destination-checks>  =>   B<boolean, optional>

=begin html

<br>Override checks done on destination node. This option could be used to force a relocation of aggregates even if the destination has outstanding issues. Note that this could make the relocation dangerous or disruptive. Default: false

=end html

=back



=over 2

=item * I<is-override-vetoes>  =>   B<boolean, optional>

=begin html

<br>Override veto checks for relocating an aggregate. Initiating aggregate relocation with vetoes overridden will result in relocation proceeding even if the node detects outstanding issues that would make aggregate relocation dangerous or disruptive. Default: false

=end html

=back



=over 2

=item * I<is-relocate-to-higher-version>  =>   B<boolean, optional>

=begin html

<br>Relocate to a node running higher major Data ONTAP version. If an aggregate is relocated to this destination then that aggregate cannot be relocated back to the source node till the source is also upgraded to the same or higher Data ONTAP version. This option is not required if the destination is running on higher minor version but the same major version. Default: false

=end html

=back



=over 2

=item * I<source-node-name>  =>   B<string>

=begin html

<br>Name of the source node in which aggregate resides.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_relocation_status

[B<Family:> cluster]


=begin html

Iterate over the list of aggregate relocation status

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-relocation-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-relocation-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr object. All aggr objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-relocation-info">[], optional>

=begin html

<br>The list of attributes of aggr objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_rename

[B<Family:> cluster]


=begin html

Rename the specified aggregate.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name or UUID of the aggregate to rename. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<new-aggregate-name>  =>   B<string>

=begin html

<br>The new name desired for the aggregate.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_restrict

[B<Family:> cluster]


=begin html

Restrict the specified aggregate. An aggregate with one or more flexible volumes cannot be restricted; all of its contained volumes must first be destroyed.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name or UUID of the aggregate to restrict. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<unmount-volumes>  =>   B<boolean, optional>

=begin html

<br>If set to "TRUE", this option specifies that all of the volumes hosted by the given aggregate are to be unmounted before the restrict operation is executed. By default, the system will reject any attempt to restrict an aggregate that hosts one or more online volumes.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_resync_options_get

[B<Family:> cluster]


=begin html

Get aggregate resynchronization options for a node in the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-resync-options-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Name of the node for which the resynchronization option is defined

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"aggr-resync-options-info">>

=begin html

<br>The attributes of the aggr.

=end html

=back



=head2 aggr_resync_options_get_iter

[B<Family:> cluster]


=begin html

Get aggregate resynchronization options for each node in the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-resync-options-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-resync-options-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr object. All aggr objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-resync-options-info">[], optional>

=begin html

<br>The list of attributes of aggr objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_resync_options_set

[B<Family:> cluster]


=begin html

Modify aggregate resynchronization options for a node in the cluster

=end html



B<Inputs>

=over 2

=item * I<max-concurrent-resyncs-allowed>  =>   B<integer, optional>

=begin html

<br>The number of aggregates, owned by the specified node, that are allowed to resync at a time

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Name of the node for which the resynchronization option is defined

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_scrub_list_info

[B<Family:> cluster]


=begin html

Get the status of parity scrubbing on the named aggregate. Status includes percentage complete and the scrub's suspended status (if appropriate). If an aggregate or node is not given, then status is generated for all RAID groups.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name or UUID of the entity to show scrubbing status for. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of the node.

=end html

=back



=over 2

=item * I<verbose>  =>   B<boolean, optional>

=begin html

<br>If set to "true", this operation will be verbose. If not supplied or set to false, normal output levels will be used.

=end html

=back



B<Outputs>

=over 2

=item * I<scrub-details>  =>   B<L<"scrub-detail-info">[], optional>

=begin html

<br>List of RAID groups and their scrub status.

=end html

=back



=head2 aggr_scrub_resume

[B<Family:> cluster]


=begin html

Resume parity scrubbing on the named aggregate, plex, or RAID group. If an aggregate or node is not given, then resume parity scrubbing on all RAID groups for which it has been suspended. Use "aggr-scrub-list-info" to check scrubbing status.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name or UUID of the entity for which scrubbing is to resume. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of node.

=end html

=back



=over 2

=item * I<plex>  =>   B<string, optional>

=begin html

<br>If provided, this specifies the plex name. ex. plex0 Must be used in conjunction with aggregate input.

=end html

=back



=over 2

=item * I<raidgroup>  =>   B<string, optional>

=begin html

<br>If provided, this specifies the RAID group. ex. rg2 Must be used in conjunction with aggregate and plex inputs.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_scrub_start

[B<Family:> cluster]


=begin html

Start parity scrubbing on the named aggregate, plex, or RAID group. Parity scrubbing compares the data disks to the parity disk in a RAID group, correcting the parity disk's contents as necessary. If an aggregate or node is not given, then parity scrubbing is started on all online aggregates. If an aggregate name is given, scrubbing is started on all RAID groups in the aggregate. If a plex name is given, scrubbing is started on all RAID groups contained in the plex. If a RAID group name is given, scrubbing is started only on that group. Use "aggr-scrub-list-info" to check scrubbing status. If a node is given, scrubbing is started on all raid groups on that node.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name or UUID of the entity for which scrubbing is to start. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of node.

=end html

=back



=over 2

=item * I<plex>  =>   B<string, optional>

=begin html

<br>If provided, this specifies the plex name. ex. plex0 Must be used in conjunction with aggregate input.

=end html

=back



=over 2

=item * I<raidgroup>  =>   B<string, optional>

=begin html

<br>If provided, this specifies the RAID group. ex. rg2 Must be used in conjunction with aggregate and plex inputs.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_scrub_stop

[B<Family:> cluster]


=begin html

Stop parity scrubbing on the named aggregate, plex, or RAID group. If an aggregate or node is not given, scrubbing will stop on all RAID groups currently being scrubbed. Use "aggr-scrub-list-info" to check scrubbing status.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name or UUID of the entity for which scrubbing is to stop. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of node.

=end html

=back



=over 2

=item * I<plex>  =>   B<string, optional>

=begin html

<br>If provided, this specifies the plex name. ex. plex0 Must be used in conjunction with aggregate input.

=end html

=back



=over 2

=item * I<raidgroup>  =>   B<string, optional>

=begin html

<br>If provided, this specifies the RAID group. ex. rg2 Must be used in conjunction with aggregate and plex inputs.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_scrub_suspend

[B<Family:> cluster]


=begin html

Suspend parity scrubbing on the named aggregate, plex, RAID group, or node. If an aggregate or node is not given, suspend scrubbing on all RAID groups currently being scrubbed. Use "aggr-scrub-list-info" to check scrubbing status.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name or UUID of the entity for which scrubbing is to suspend. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of node.

=end html

=back



=over 2

=item * I<plex>  =>   B<string, optional>

=begin html

<br>If provided, this specifies the plex name. ex. plex0 Must be used in conjunction with aggregate input.

=end html

=back



=over 2

=item * I<raidgroup>  =>   B<string, optional>

=begin html

<br>If provided, this specifies the RAID group. ex. rg2 Must be used in conjunction with aggregate and plex inputs.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_set_option

[B<Family:> cluster]


=begin html

Set the specified option for the given aggregate to "option-value". The change remains effective even if the filer is rebooted. Some options have values that are numbers, and some have values that are "on" (also expressible as "yes", "true", or "1" ) or "off" (also expressible as "no", "false", or "0"). A mixture of uppercase and lowercase characters may be used when typing an option's value. Note that the "root" option is special in that it doesn't have a corresponding value. This API does not support modifying options of striped aggregate.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string>

=begin html

<br>Name or UUID of the aggregate whose option to be set. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<option-name>  =>   B<string>

=begin html

<br>Option name. Possible values: <dl> <dt>"free_space_realloc" (value: "on" | "off" | "no_redirect")</dt> <dd> Setting this option to "on" enables free space reallocation (continuous segment cleaning) on a block checksum aggregate. Possible values : on, off, no_redirect "on" : Free space reallocation enabled with automatically starting the redirect scanner "off": Free space reallocate disabled "no_redirect": Free space reallocation enabled without running the redirect scanner The default value for this option is "off" </dd><br> <dt>"fs_size_fixed" (value: "on" | "off")</dt> <dd> Setting this option to "on" causes the file system to remain the same size (and not grow) when the mirror is broken on a SnapMirrored aggregate or when a "storage aggregate add" is performed on it. This option is automatically set to be "on" when an aggregate becomes SnapMirrored. This option allows an embedded aggregate to be SnapMirrored back to the source without needing to add disks to the source aggregate. If the aggregate size is larger than the file system size, turning off this option forces the file system to grow to the size of the aggregate. This option is not supported when the request is sent to the Admin Vserver LIF. </dd><br> <dt>"ha_policy" (value: "cfo" | "sfo")</dt> <dd> This option is used to change the HA policy of given aggregate and restricted to clustered environments. It is not allowed in unclustered environments. Changing the HA policy of an aggregate from SFO to CFO is allowed only in Maintenance mode. HA policy can not be changed if: 1. aggregate is striped. 2. aggregate contains node volumes. 3. aggregate is root. 4. aggregate is partner aggregate during takeover i.e. when it is not home to local node. EOP_CLUSTER_ATTR_DISALLOWED is returned if this option is used in unclustered environments. EOP_DISALLOWED_ON_STRIPED_AGGR is returned if this option is used with striped aggregate. EOP_DISALLOWED_ON_AGGR_WITH_NODE_VOLS is returned if this option is used on aggregate which contains node volumes. EOP_DISALLOWED_ON_ROOT_AGGR is returned if this option is used on root aggregate. EOP_DISALLOWED_ON_NOT_HOME_AGGR is returned if this option is used on partner aggregate during takeover. </dd><br> <dt>"ignore_inconsistent" (value: "on" | "off")</dt> <dd> This command can only be used in maintenance mode. If this option is set to "on", then the root aggregate may be brought online when booting even if it is marked as inconsistent. The user is cautioned that bringing it online prior to running WAFL_check or wafliron may result in further file system inconsistency. This option is not supported when the request is sent to the Admin Vserver LIF. </dd><br> <dt>"max_write_alloc_blocks" (value: value: &lt number &gt)</dt> <dd> The maximum number of blocks used for write allocation. Some sequential read workloads may benefit from increasing this value. Default value is 0 which uses the controller-wide default value of 64. The default is optimal for most users. The controller-wide default can be adjusted with the bootarg "wafl-max-write-alloc-blocks" </dd><br> <dt>"striping" (value: "striped" | "not_striped")</dt> <dd> This option sets the striping information of given aggregate. It is restricted to clustered environments and not allowed in unclustered environments. When set to true, it marks given aggregate as member of stripe. This option is not allowed if given aggregate is of 'cfo' HA policy. EOP_CLUSTER_ATTR_DISALLOWED is returned if this option is used in unclustered environments. EOP_DISALLOWED_ON_CFO_AGGR is returned if given aggregate is of 'cfo' HA policy. This option is not supported when the request is sent to the Admin Vserver LIF. </dd><br> <dt>"nosnap" (value: "on" | "off")</dt> <dd> Setting this option to "on" disables automatic snapshots on the aggregate. </dd><br> <dt>"raid_cv" (value: "on" | "off")</dt> <dd> Setting this option to "off" disables block or advanced_zoned checksum (azcs) protection on the aggregate. The default is "on". The user is cautioned that turning off this option exposes the filesystem(s) contained in the aggregate to inconsistency that could be caused by a misbehaving hardware component in the system. </dd><br> <dt>"raid_lost_write" (value: "on" | "off")</dt> <dd> Setting this option to "off" disables RAID Lost Write protection on the aggregate. The default is "on". The user is cautioned that turning off this option may expose the filesystem(s) contained in the aggregate to data loss and data corruption. The option should not be disabled, unless directed to do so by support personnel. </dd><br> <dt>"raidsize" (value: &lt number &gt>)</dt> <dd> The maximum size of a RAID group within the aggregate. Changing this option doesn't cause existing RAID groups to grow or shrink. Rather, it only affects whether more disks will be added to the last existing RAID group in the future, and how large new RAID groups will be. </dd><br> <dt>"cache_raid_group_size" (value: &lt number &gt>)</dt> <dd> The current maximum size of a SSD RAID group within the hybrid aggregate. This option can only be modified for hybrid aggregate. Changing this option doesn't cause existing RAID groups to grow or shrink. Rather, it only affects whether more disks will be added to the existing SSD RAID group in the future, and how large new SSD RAID groups will be. </dd><br> <dt>"raidtype" (value: "raid4" | "raid_dp" | "raid_tec" | "raid0")</dt> <dd> The type of RAID group used for this aggregate. The "raid4" setting provides one parity disk per RAID group, while "raid_dp" provides two and "raid_tec" provides three. Changing this option immediately changes the RAID group type for all RAID groups in the aggregate. When upgrading RAID groups from "raid4" to "raid_dp", each RAID group begins a reconstruction onto a spare disk allocated for the second "dparity" parity disk. Simlarly, when upgrading RAID groups from "raid_dp" to "raid_tec", each RAID group begins a reconstruction onto a spare disk allocated for the third "tparity" parity disk. </dd><br> <dt>"resyncsnaptime" (value: &lt number &gt)</dt> <dd> Sets the mirror resynchronization snapshot frequency to be the given number of minutes. The default value is 60 (minutes). </dd><br> <dt>"root" (value: &lt none &gt)</dt> <dd> The specified aggregate is to become the root aggregate for the filer on the next reboot. This option can be used only in maintenance mode and on only one aggregate at any given time. The existing root aggregate will become a non-root aggregate after the reboot. Until the system is rebooted, the original aggregate will continue to show root as an option, and the new root aggregate will show diskroot as an option. In general, the aggregate that has the diskroot option is the one that becomes the root aggregate following the next reboot. The only way to remove the root status of an aggregate is to set it on another aggregate. In clustered environments, this option is not allowed with aggregates with 'sfo' HA policy as root has to be an aggregate with 'cfo' HA policy. EOP_DISALLOWED_ON_SFO_AGGR is returned if given aggregate is of 'sfo' HA policy. </dd><br> <dt>"snapmirrored" (value : "off")</dt> <dd> If SnapMirror is enabled, the filer auto- matically sets this option to "on". Set this option to "off" with the "snapmirror" command if SnapMirror should no longer be used to update the mirror. After setting this option to "off", the mirror becomes a regular writable aggregate, and all its volumes are restored to whatever state they were last in. Note that it is not possible to set this option directly through this interface. Rather, it is automatically changed as a side effect of running the appropriate "snapmirror" commands. This option is not supported when the request is sent to the Admin Vserver LIF. </dd><br> <dt>"snapshot_autodelete" (value: "on" | "off")</dt> <dd> Setting this option to "off" disables automatic snapshot deletion on the aggregate. </dd><br> <dt>"thorough_scrub" (value: "on" | "off")</dt> <dd> Setting this option to "on" enables thorough scrub on a block checksum aggregate. That means that a scrub will initialize any zeroed checksum entries that it finds. If there are any checksum entries to be initialized, scrub will run slower than normal. </dd><br> <dt>"percent_snapshot_space" (value: &lt number &gt)</dt> <dd> Percentage of total blocks in the aggregate reserved for snapshots. </dd><br> <dt>"nearly_full_threshold" (value: &lt number &gt)</dt> <dd> Threshold of used space as a percentage of aggregate size for which to emit aggregate nearly full warning. The default value is 95%. The maximum value for this option is 99%. It must be less than the full_threshold. Setting this threshold to 0 disables the alert. </dd><br> <dt>"full_threshold" (value: &lt number &gt)</dt> <dd> Threshold of used space as a percentage of aggregate size for which to emit aggregate full warning. The default value is 98%. The maximum value for this option is 100%. It must be greater than the nearly_full_threshold. Setting this threshold to 0 disables the alert. </dd><br> <dt>"is_flash_pool_caching_enabled" (value: "true" | "false")</dt> <dd> Setting this option to "false" will disable the caching on the Flash Pool while setting "true" will enable the caching again on the Flash Pool. Changing this option will have no effect on individual caching policies associated with the volumes under this Flash Pool. </dd><br> <dt>"hybrid_enabled" (value: "true" | "false")</dt> <dd> Setting this option to "true" would mark the aggregate as hybrid_enabled. That means the aggregate can contain a mix of SSDs and HDDs(Hard Disk Drives, e.g., SAS, SATA, and/or FC). The operation can be forced by using the hybrid_enabled_force option for the aggregates having flexvols which cannot be write cached. EAGGR_CANT_UNDO_HYBRID is returned when we are trying to set the option hybrid_enabled to false on an aggregate that already contains a mix of HDDs and SSDs. EAGGR_HYBRID is returned when we are trying to set option hybrid_enabled to true on an aggregate which is already hybrid. EOP_DISALLOWED_WORM_HYBRID_AGGR is returned when we are trying to set option hybrid_enabled to true on an snaplock aggregate. ERAID_HYA_SUPPORT_DISABLED is returned when the partner node in HA pair is running a version of Data ONTAP which does not support hybrid aggregates. EOP_DISALLOWED_ON_SSD_AGGR is returned if this option is used on aggregates created out of SSD disks. EOP_DISALLOWED_HYA_ON_RAID0_AGGR is returned if this option is used on raid0 aggregates. EOP_DISALLOWED_HYA_ON_ZONED_AGGR is returned if this option is used on aggregates with zoned checksums. EOP_DISALLOWED_HYA_ON_LUNS_AGGR is returned if this option used on aggregates created out of LUNs. </dd><br> <dt>"hybrid_enabled_force" (value: "true" | "false")</dt> <dd> Setting this option to "true" would mark the aggregate as hybrid_enabled. That means the aggregate can contain a mix of SSDs and HDDs(Hard Disk Drives, e.g., SAS, SATA, and/or FC). This option is used for force marking of aggregates having flexvols which cannot be write cached as hybrid enabled. FlexVols in the aggregate marked as hybrid enabled using this option which cannot participate in write-caching only have read-caching enabled. All other flexvols in the aggregate can participate in both read and write caching. EAGGR_CANT_UNDO_HYBRID is returned when we are trying to set the option hybrid_enabled_force to false on an aggregate that already contains a mix of HDDs and SSDs. EAGGR_HYBRID is returned when we are trying to set option hybrid_enabled_force to true on an aggregate which is already hybrid. EOP_DISALLOWED_WORM_HYBRID_AGGR is returned when we are trying to set option hybrid_enabled_force to true on an snaplock aggregate. ERAID_HYA_SUPPORT_DISABLED is returned when the partner node in HA pair is running a version of Data ONTAP which does not support hybrid aggregates. EOP_DISALLOWED_ON_SSD_AGGR is returned if this option is used on aggregates created out of SSD disks. EOP_DISALLOWED_HYA_ON_RAID0_AGGR is returned if this option is used on raid0 aggregates. EOP_DISALLOWED_HYA_ON_ZONED_AGGR is returned if this option is used on aggregates with zoned checksums. </dd><br> <dt>"mirror_resync_priority" (value: "low" | "medium" | "high")</dt> <dd> Modifying this option changes the ordering of resynchronization of mirrored aggregates on a node. By default all data aggregates have a "low" priority. Changing it to "high" or "medium" would mean that the aggregate will be resynchronized before lower priority aggregates. The "storage aggregate resynchronization options" CLI command, or the aggr-resync-options-set ZAPI, can be used to set the number of aggregates that can be resynchronized concurrently on a node. </dd><br> </dl>

=end html

=back



=over 2

=item * I<option-value>  =>   B<string>

=begin html

<br>The value to set the named option. It may be the NULL/empty value only in the case of the "root" option.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_space_get_iter

[B<Family:> cluster]


=begin html

Display a list of aggregates and a breakup of their used space. This information is only available when the aggregate is online. Some fields are expensive to compute, and if the system is under load, the information may not be returned. Best practice would be to only request the fields needed.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"space-information">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"space-information">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr-space object. All aggr-space objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"space-information">[], optional>

=begin html

<br>The list of attributes of aggr-space objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr-space objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_spare_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of spare disks

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-spare-disk-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 2000

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-spare-disk-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr object. All aggr objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-spare-disk-info">[], optional>

=begin html

<br>The list of attributes of aggr objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_status_get_iter

[B<Family:> cluster]


=begin html

Aggregate enumeration ZAPI. Get status and topology information about one or more aggregates from RAID subsystem.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aggr-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 2000

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aggr-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr object. All aggr objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aggr-status-info">[], optional>

=begin html

<br>The list of attributes of aggr objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 aggr_verify_list_info

[B<Family:> cluster]


=begin html

Get the status of RAID mirror verification on the named aggregate. Status includes percentage complete and whether it's currently suspended.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of an existing aggregate. If no name is given, then mirror verification status is generated for all aggregates currently being verified. UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions.

=end html

=back



B<Outputs>

=over 2

=item * I<verify-details>  =>   B<L<"verify-detail-info">[], optional>

=begin html

<br>List of aggregates and their mirror verification status.

=end html

=back



=head2 aggr_verify_resume

[B<Family:> cluster]


=begin html

Resume RAID mirror verification on the named aggregate. If no name is given, then resume mirror verification on all aggregates that have been suspended.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the existing aggregate for which mirror verification is to resume. UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_verify_start

[B<Family:> cluster]


=begin html

Start RAID mirror verification on the named aggregate. Verification compares the data in both plexes of a mirrored aggregate. In the default case, any blocks that differ are logged and no changes are made. The fix-plex option is used to fix any mismatches. It specifies which plex to fix. If no name is given, then mirror verification is started on all online aggregates. Use the "aggr-verify-list-info" API to check mirror verification status. If the fix-plex option is used, then a name must be specified.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the mirrored aggregate to verify. UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions.

=end html

=back



=over 2

=item * I<fix-plex>  =>   B<integer, optional>

=begin html

<br>If provided, this specifies the plex to fix in case the two plexes do not match. The default is to log any discrepancies instead of fixing them.

=end html

=back



=over 2

=item * I<log-only>  =>   B<boolean, optional>

=begin html

<br>If provided, and if the value is "true", then simply log any discrepancies instead of fixing them. The default value is "true". If log-only is "false", then the fix-plex option must also be specified. If log-only is "true" and fix-plex is also specified, then the log-only option will be ignored.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_verify_stop

[B<Family:> cluster]


=begin html

Stop RAID mirror verification on the named aggregate. If no name is given, stop mirror verification on all aggregates currently being verified.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate for which we are to stop mirror verification. UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 aggr_verify_suspend

[B<Family:> cluster]


=begin html

Suspend RAID mirror verification on the named aggregate. If no name is given, suspend mirror verification on all aggregates currently being verified.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate for which we are to suspend mirror verification. UUID can be specified instead of aggregate name. See the synopsis for name/UUID format and restrictions.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 av_get_engine_info

[B<Family:> cluster]


=begin html

This gets the attributes of the Anti-Virus engine installed.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<current-activation-code>  =>   B<string>

=begin html

<br>Vendor-specific activation code for license management, that is currently in effect.

=end html

=back



=over 2

=item * I<desired-activation-code>  =>   B<string>

=begin html

<br>Vendor-specific desired activation code for license management.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>If 'true', the AV feature has been enabled on the cluster.

=end html

=back



=over 2

=item * I<license-expiry-time>  =>   B<integer>

=begin html

<br>Expiry date of license in seconds from midnight Jan 1, 1970. Range : [0..2^32-1]

=end html

=back



=over 2

=item * I<license-key>  =>   B<string>

=begin html

<br>Vendor-specific license key for license management, that is currently in effect.

=end html

=back



=over 2

=item * I<license-type>  =>   B<string>

=begin html

<br>Vendor-specific license type. Possible values: <ul> <li> "full" - full license</li> <li> "eval" - evaluation license</li> <li> "none" - no license</li> </ul>

=end html

=back



=over 2

=item * I<prod-info>  =>   B<string>

=begin html

<br>Detailed information of the AV product

=end html

=back



=over 2

=item * I<seats>  =>   B<integer>

=begin html

<br>Number of nodes that can run an instance of the AV software Range : [0..2^32-1]

=end html

=back



=over 2

=item * I<update-url>  =>   B<string>

=begin html

<br>HTTP/HTTPS url for downloading updates.

=end html

=back



=over 2

=item * I<vendor>  =>   B<string>

=begin html

<br>Descriptive name of AV vendor

=end html

=back



=head2 av_get_engine_options

[B<Family:> cluster]


=begin html

Get the attributes of the antivirus.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"av-engine-option">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"av-engine-option">>

=begin html

<br>The attributes of the antivirus.

=end html

=back



=head2 av_get_log

[B<Family:> cluster]


=begin html

Get the attributes of the antivirus.

=end html



B<Inputs>

=over 2

=item * I<datetime>  =>   B<integer>

=begin html

<br>When the event is logged. The time value is in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"av-event-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"av-event-info">>

=begin html

<br>The attributes of the antivirus.

=end html

=back



=head2 av_get_remedy_info

[B<Family:> cluster]


=begin html

This gets the remedy information of the Anti-Virus engine installed. i.e. what to do when a virus is found.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<action>  =>   B<string>

=begin html

<br>The remedy action desired. Possible values: <ul> <li> "none" - no action will be taken</li> <li> "repair" - file will be reparied</li> <li> "delete" - file will be deleted</li> <li> "quarantine" - file will be quarantined</li> </ul>

=end html

=back



=over 2

=item * I<directory>  =>   B<string>

=begin html

<br>The pathname of the directory to use for quarantine.

=end html

=back



=over 2

=item * I<extension>  =>   B<string>

=begin html

<br>The file extension to use for the remedy action.

=end html

=back



=over 2

=item * I<option>  =>   B<string>

=begin html

<br>The option of the remedy action desired. Possible values: <ul> <li> "move" - file will be moved</li> <li> "add_extension" - an extencion will be added to the file</li> </ul>

=end html

=back



=over 2

=item * I<repair>  =>   B<string>

=begin html

<br>The failed repair option to try. Possible values: <ul> <li> "none" - no action will be taken</li> <li> "delete" - file will be deleted</li> <li> "quarantine" - file will be quarantined</li> </ul>

=end html

=back



=head2 av_get_version_info

[B<Family:> cluster]


=begin html

This gets the version information of the Anti-Virus engine installed.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<last-update-time>  =>   B<integer>

=begin html

<br>Update time of the current AV version in seconds from midnight January 1, 1970.

=end html

=back



=over 2

=item * I<spyware-pattern-version>  =>   B<string>

=begin html

<br>The version of the spyware pattern files

=end html

=back



=over 2

=item * I<virus-pattern-version>  =>   B<string>

=begin html

<br>The version of the virus pattern files

=end html

=back



=over 2

=item * I<vsapi-32-bit-version>  =>   B<string>

=begin html

<br>The version of the 32-bit VSAPI engine.

=end html

=back



=over 2

=item * I<vsapi-64-bit-version>  =>   B<string>

=begin html

<br>The version of the 64-bit VSAPI engine.

=end html

=back



=head2 av_log_iter

[B<Family:> cluster]


=begin html

Iterate over a list of antivirus objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"av-event-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"av-event-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the antivirus object. All antivirus objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"av-event-info">[], optional>

=begin html

<br>The list of attributes of antivirus objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more antivirus objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 av_set_engine_info

[B<Family:> cluster]


=begin html

This sets the attributes of the Anti-Virus engine installed. If an optional attribute is not specified, the current value is left unchanged.

=end html



B<Inputs>

=over 2

=item * I<current-activation-code>  =>   B<string, optional>

=begin html

<br>Vendor-specific activation code for license management, that is currently in effect.

=end html

=back



=over 2

=item * I<desired-activation-code>  =>   B<string, optional>

=begin html

<br>Vendor-specific desired activation code for license management.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the AV feature is to be enabled on the cluster.

=end html

=back



=over 2

=item * I<license-expiry-time>  =>   B<integer, optional>

=begin html

<br>Expiry date of license in seconds from midnight Jan 1, 1970. Range : [0..2^32-1]

=end html

=back



=over 2

=item * I<license-key>  =>   B<string, optional>

=begin html

<br>Vendor-specific license key for license management, that is currently in effect.

=end html

=back



=over 2

=item * I<license-type>  =>   B<string, optional>

=begin html

<br>Vendor-specific license type. Possible values: <ul> <li> "full" - full license</li> <li> "eval" - evaluation license</li> <li> "none" - no license</li> </ul>

=end html

=back



=over 2

=item * I<prod-info>  =>   B<string, optional>

=begin html

<br>Detailed information of the AV product

=end html

=back



=over 2

=item * I<seats>  =>   B<integer, optional>

=begin html

<br>Number of nodes that can run an instance of the AV software Range : [0..2^32-1]

=end html

=back



=over 2

=item * I<update-url>  =>   B<string, optional>

=begin html

<br>HTTP/HTTPS url for downloading updates.

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Descriptive name of AV vendor

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 av_set_engine_options

[B<Family:> cluster]


=begin html

Modify the attributes of antivirus object.

=end html



B<Inputs>

=over 2

=item * I<cache-size>  =>   B<integer, optional>

=begin html

<br>Max Cache Size for Scanning Files (MB)

=end html

=back



=over 2

=item * I<decompressed-file-count-limit>  =>   B<integer, optional>

=begin html

<br>File count to decompress in archive

=end html

=back



=over 2

=item * I<decompressed-file-size-limit>  =>   B<integer, optional>

=begin html

<br>Max size of files in archive

=end html

=back



=over 2

=item * I<decompression-layers-limit>  =>   B<integer, optional>

=begin html

<br>Max layers to traverse in archive

=end html

=back



=over 2

=item * I<decompression-size-factor>  =>   B<integer, optional>

=begin html

<br>Max decompression size factor of files in archive

=end html

=back



=over 2

=item * I<group-archive-unpack>  =>   B<boolean, optional>

=begin html

<br>Scan archive file formats

=end html

=back



=over 2

=item * I<heuristic-analysis>  =>   B<boolean, optional>

=begin html

<br>Heuristic Virus Search Analysis

=end html

=back



=over 2

=item * I<is-spyware-enabled>  =>   B<boolean, optional>

=begin html

<br>Spyware enable/disable

=end html

=back



=over 2

=item * I<macro-analysis>  =>   B<boolean, optional>

=begin html

<br>Macro Virus Search Analysis

=end html

=back



=over 2

=item * I<max-recursion-depth>  =>   B<integer, optional>

=begin html

<br>Max recursion depth into archives

=end html

=back



=over 2

=item * I<mime-lines-to-scan>  =>   B<integer, optional>

=begin html

<br>Max Lines to Scan to Identify MIME file

=end html

=back



=over 2

=item * I<proxy-host>  =>   B<string, optional>

=begin html

<br>proxy server name e.g. http://proxy_server_name

=end html

=back



=over 2

=item * I<proxy-login>  =>   B<string, optional>

=begin html

<br>proxy server login

=end html

=back



=over 2

=item * I<proxy-password>  =>   B<string, optional>

=begin html

<br>proxy server password

=end html

=back



=over 2

=item * I<proxy-port>  =>   B<integer, optional>

=begin html

<br>proxy server port number

=end html

=back



=over 2

=item * I<scan-mime>  =>   B<boolean, optional>

=begin html

<br>Scan MIME-Encoded Files

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 av_set_log

[B<Family:> cluster]


=begin html

Create a new antivirus.

=end html



B<Inputs>

=over 2

=item * I<datetime>  =>   B<integer>

=begin html

<br>When the event is logged. The time value is in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the antivirus on successful creation. Default: false

=end html

=back



=over 2

=item * I<vendor-id>  =>   B<integer>

=begin html

<br>Vendor ID

=end html

=back



=over 2

=item * I<vendor-string>  =>   B<string>

=begin html

<br>Vendor String

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"av-event-info">, optional>

=begin html

<br>The antivirus created (keys or the entire object if requested)

=end html

=back



=head2 av_set_remedy_info

[B<Family:> cluster]


=begin html

This sets the quarantine information of the Anti-Virus engine installed. If an optional attribute is not specified, the current value is left unchanged.

=end html



B<Inputs>

=over 2

=item * I<action>  =>   B<string, optional>

=begin html

<br>The remedy action desired. Possible values: <ul> <li> "none" - no action will be taken</li> <li> "repair" - file will be reparied</li> <li> "delete" - file will be deleted</li> <li> "quarantine" - file will be quarantined</li> </ul>

=end html

=back



=over 2

=item * I<directory>  =>   B<string, optional>

=begin html

<br>The pathname of the directory to use for quarantine.

=end html

=back



=over 2

=item * I<extension>  =>   B<string, optional>

=begin html

<br>The file extension to use for the remedy action.

=end html

=back



=over 2

=item * I<option>  =>   B<string, optional>

=begin html

<br>The option of the remedy action desired. Possible values: <ul> <li> "move" - file will be moved</li> <li> "add_extension" - an extencion will be added to the file</li> </ul>

=end html

=back



=over 2

=item * I<repair>  =>   B<string, optional>

=begin html

<br>The failed repair option to try. Possible values: <ul> <li> "none" - no action will be taken</li> <li> "delete" - file will be deleted</li> <li> "quarantine" - file will be quarantined</li> </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 av_set_version_info

[B<Family:> cluster]


=begin html

This sets the version information of the Anti-Virus engine installed. If an optional attribute is not specified, the current value is left unchanged.

=end html



B<Inputs>

=over 2

=item * I<cluster-version>  =>   B<string>

=begin html

<br>The current cluster version of the engine. If this does not correspond to the current cluster version of the engine, then the ZAPI fails.

=end html

=back



=over 2

=item * I<component-updated>  =>   B<string, optional>

=begin html

<br>The component that was updated. Possible values: <ul> <li> "engine" - only antivirus engine was updated</li> <li> "vde" - only virus definition files were updated</li> <li> "both" - both antivirus engine and virus definition files were updated</li> </ul>

=end html

=back



=over 2

=item * I<spyware-pattern-version>  =>   B<string, optional>

=begin html

<br>The version of the spyware pattern files

=end html

=back



=over 2

=item * I<virus-pattern-version>  =>   B<string, optional>

=begin html

<br>The version of the virus pattern files

=end html

=back



=over 2

=item * I<vsapi-32-bit-version>  =>   B<string, optional>

=begin html

<br>The version of the 32-bit VSAPI engine.

=end html

=back



=over 2

=item * I<vsapi-64-bit-version>  =>   B<string, optional>

=begin html

<br>The version of the 64-bit VSAPI engine.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 av_start_update

[B<Family:> cluster]


=begin html

Run an Anti-Virus Update job immediately

=end html



B<Inputs>

=over 2

=item * I<sync>  =>   B<boolean>

=begin html

<br>If 'true', an AV Update job should be started immediately

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 audit_get

[B<Family:> cluster]


=begin html

Get the cluster administrative audit settings

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"audit-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"audit-info">>

=begin html

<br>The attributes of the audit.

=end html

=back



=head2 audit_log_config_get

[B<Family:> cluster]


=begin html

Get the cluster administrative audit settings

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"audit-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"audit-info">>

=begin html

<br>The attributes of the audit.

=end html

=back



=head2 audit_log_config_modify

[B<Family:> cluster]


=begin html

Modify the cluster administrative audit settings

=end html



B<Inputs>

=over 2

=item * I<cli-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of CLI get operations

=end html

=back



=over 2

=item * I<http-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of HTTP get operations

=end html

=back



=over 2

=item * I<ontapi-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of Data ONTAP API get operations

=end html

=back



=over 2

=item * I<snmp-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of SNMP get operations

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 audit_log_get

[B<Family:> cluster]


=begin html

Get the cluster administrative audit settings

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"audit-log-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node that logged the entry.

=end html

=back



=over 2

=item * I<seq>  =>   B<integer, optional>

=begin html

<br>Used as a tie-breaker for line entries with the same timestamp.

=end html

=back



=over 2

=item * I<timestamp>  =>   B<integer>

=begin html

<br>Timestamp of the log entry.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"audit-log-info">>

=begin html

<br>The attributes of the audit.

=end html

=back



=head2 audit_log_get_iter

[B<Family:> cluster]


=begin html

Iterate of audit log entries

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"audit-log-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"audit-log-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the audit object. All audit objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"audit-log-info">[], optional>

=begin html

<br>The list of attributes of audit objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more audit objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 audit_modify

[B<Family:> cluster]


=begin html

Modify the cluster administrative audit settings

=end html



B<Inputs>

=over 2

=item * I<cli-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of CLI get operations

=end html

=back



=over 2

=item * I<cli-set>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of CLI set operations

=end html

=back



=over 2

=item * I<http-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of HTTP get operations

=end html

=back



=over 2

=item * I<http-set>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of HTTP set operations

=end html

=back



=over 2

=item * I<ontapi-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of Data ONTAP API get operations

=end html

=back



=over 2

=item * I<ontapi-set>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of Data ONTAP API set operations

=end html

=back



=over 2

=item * I<snmp-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of SNMP get operations

=end html

=back



=over 2

=item * I<snmp-set>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of SNMP set operations

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 autosupport_budget_get

[B<Family:> cluster]


=begin html

Get AutoSupport time and size limits for the given node and subsystem.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-budget-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of a filer on which the AutoSupport tool is running.

=end html

=back



=over 2

=item * I<subsystem>  =>   B<asup-subsystems>

=begin html

<br>The name of a subsystem from which AutoSupport collects data. Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"autosupport-budget-info">>

=begin html

<br>The attributes of the autosupport-budget.

=end html

=back



=head2 autosupport_budget_get_iter

[B<Family:> cluster]


=begin html

Get AutoSupport time and size limits per subsystem for all nodes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-budget-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-budget-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-budget object. All autosupport-budget objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-budget-info">[], optional>

=begin html

<br>The list of attributes of autosupport-budget objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-budget objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_budget_get_total_records

[B<Family:> cluster]


=begin html

Return the total number of records.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of autosupport-budget objects.

=end html

=back



=head2 autosupport_budget_modify

[B<Family:> cluster]


=begin html

Modify AutoSupport time and size limits per subsystem.

=end html



B<Inputs>

=over 2

=item * I<diagnostic-size-limit>  =>   B<integer, optional>

=begin html

<br>The maximum allowable diagnostic content collection size (in bytes) for the subsystem.

=end html

=back



=over 2

=item * I<diagnostic-time-limit>  =>   B<string, optional>

=begin html

<br>The maximum allowable diagnostic content collection time (in seconds) for the subsystem.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of a filer on which the AutoSupport tool is running.

=end html

=back



=over 2

=item * I<size-limit>  =>   B<integer, optional>

=begin html

<br>The maximum allowable basic and troubleshooting content collection size (in bytes) for the subsystem.

=end html

=back



=over 2

=item * I<subsystem>  =>   B<asup-subsystems>

=begin html

<br>The name of a subsystem from which AutoSupport collects data. Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<time-limit>  =>   B<string, optional>

=begin html

<br>The maximum allowable basic and troubleshooting content collection time (in seconds ) for the subsystem.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 autosupport_check_connectivity

[B<Family:> cluster]


=begin html

Test connectivity to the AutoSupport destinations for the given node.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Test Current AutoSupport Status

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<aod-status>  =>   B<string>

=begin html

<br>OnDemand Server Status

=end html

=back



=over 2

=item * I<post-url-status>  =>   B<string>

=begin html

<br>HTTP POST Destination Status

=end html

=back



=over 2

=item * I<put-url-status>  =>   B<string>

=begin html

<br>HTTP PUT Destination Status

=end html

=back



=head2 autosupport_check_connectivity_iter

[B<Family:> cluster]


=begin html

Test connectivity to the Autosupport destinations for all nodes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-connectivity-check-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Test Current AutoSupport Status

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-connectivity-check-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the asup-connectivity-check object. All asup-connectivity-check objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-connectivity-check-info">[], optional>

=begin html

<br>The list of attributes of asup-connectivity-check objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more asup-connectivity-check objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_check_iter

[B<Family:> cluster]


=begin html

Get Current Status of AutoSupport Subsystem for all nodes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-check-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-check-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-check object. All autosupport-check objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-check-info">[], optional>

=begin html

<br>The list of attributes of autosupport-check objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-check objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_compliant_get

[B<Family:> cluster]


=begin html

Get AutoSupport compliance hash mapping

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-compliant-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<plaintext>  =>   B<string>

=begin html

<br>Plaintext

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"autosupport-compliant-info">>

=begin html

<br>The attributes of the autosupport-compliant.

=end html

=back



=head2 autosupport_compliant_get_iter

[B<Family:> cluster]


=begin html

Get AutoSupport compliance hash mapping

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-compliant-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-compliant-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-compliant object. All autosupport-compliant objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-compliant-info">[], optional>

=begin html

<br>The list of attributes of autosupport-compliant objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-compliant objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_compliant_get_total_records

[B<Family:> cluster]


=begin html

Return the total number of records.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of autosupport-compliant objects.

=end html

=back



=head2 autosupport_config_get

[B<Family:> cluster]


=begin html

Get AutoSupport configuration settings for the given node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer that owns the AutoSupport configuration.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"autosupport-config-info">>

=begin html

<br>The attributes of the autosupport-config.

=end html

=back



=head2 autosupport_config_get_iter

[B<Family:> cluster]


=begin html

Get AutoSupport configuration settings for all nodes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-config object. All autosupport-config objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-config-info">[], optional>

=begin html

<br>The list of attributes of autosupport-config objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-config objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_config_get_total_records

[B<Family:> cluster]


=begin html

Return the total number of records.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of autosupport-config objects.

=end html

=back



=head2 autosupport_config_modify

[B<Family:> cluster]


=begin html

Modify AutoSupport configuration settings for the given node.

=end html



B<Inputs>

=over 2

=item * I<from>  =>   B<mail-address, optional>

=begin html

<br>The e-mail address of the local administrator, used as the sender of the AutoSupport message.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the AutoSupport daemon is enabled. When this setting is disabled, delivery of all AutoSupport messages is turned off.

=end html

=back



=over 2

=item * I<is-local-collection-enabled>  =>   B<boolean, optional>

=begin html

<br>Used to enable / disable collection of AutoSupport data when the AutoSupport daemon is disabled. When this setting is true, collection of AutoSupport data will still be done if is-enabled is false.

=end html

=back



=over 2

=item * I<is-nht-data-enabled>  =>   B<boolean, optional>

=begin html

<br>Used to enable / disable collection of disk health data.

=end html

=back



=over 2

=item * I<is-node-in-subject>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the filer's hostname should be part of an AutoSupport message's subject field.

=end html

=back



=over 2

=item * I<is-ondemand-download-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the AutoSupport OnDemand Download feature is enabled. Default is true.

=end html

=back



=over 2

=item * I<is-ondemand-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether AutoSupport OnDemand is enabled. Default is true.

=end html

=back



=over 2

=item * I<is-ondemand-remote-diag-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the AutoSupport OnDemand Remote Diagnostics feature is enabled. Default is true.

=end html

=back



=over 2

=item * I<is-perf-data-enabled>  =>   B<boolean, optional>

=begin html

<br>Used to enable / disable collection of Performance AutoSupport data.

=end html

=back



=over 2

=item * I<is-private-data-removed>  =>   B<boolean, optional>

=begin html

<br>Used to enable / disable removal of customer-supplied data.

=end html

=back



=over 2

=item * I<is-reminder-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to enable / disable AutoSupport reminders.

=end html

=back



=over 2

=item * I<is-support-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether AutoSupport notification to technical support is enabled.

=end html

=back



=over 2

=item * I<is-throttle-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to enable / disable throttling to prevent a potential avalanche of AutoSupport messages.

=end html

=back



=over 2

=item * I<mail-hosts>  =>   B<string[], optional>

=begin html

<br>The name of the mail server(s) used to deliver AutoSupport messages via SMTP. Both host names and IP addresses may be used as valid input. One can optionally specify a username/password for authentication with the mailserver(rfc4954).

=end html

=back



=over 2

=item * I<max-download-rate>  =>   B<integer, optional>

=begin html

<br>Maximum download rate (in bytes per second). As of Data ONTAP 8.3.1, this value should be either 0 (for unlimited) or in the range 20480 (20KBps)- 10737418240 (10GBps).

=end html

=back



=over 2

=item * I<max-http-size>  =>   B<integer, optional>

=begin html

<br>Delivery size limit for the HTTP transport protocol (in bytes). As of Data ONTAP 8.3.1, this value should be either 0 (for unlimited) or greater than or equal to 2097152 (2MB).

=end html

=back



=over 2

=item * I<max-smtp-size>  =>   B<integer, optional>

=begin html

<br>Delivery size limit for the SMTP transport protocol (in bytes). As of Data ONTAP 8.3.1, this value should be either 0 (for unlimited) or greater than or equal to 2097152 (2MB).

=end html

=back



=over 2

=item * I<max-upload-rate>  =>   B<integer, optional>

=begin html

<br>Maximum upload rate (in bytes per second). As of Data ONTAP 8.3.1, this value should be either 0 (for unlimited) or greater than or equal to 20480 (20KBps).

=end html

=back



=over 2

=item * I<minimum-private-data-length>  =>   B<integer, optional>

=begin html

<br>Minimum Length for Sensitive Data

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer that owns the AutoSupport configuration.

=end html

=back



=over 2

=item * I<noteto>  =>   B<mail-address[], optional>

=begin html

<br>Specifies up to five recipients of short AutoSupport e-mail messages.

=end html

=back



=over 2

=item * I<ondemand-polling-interval>  =>   B<integer, optional>

=begin html

<br>The AutoSupport OnDemand Client polling rate in minutes. As of Data ONTAP 8.3.1, this value should be in the range 5-2880.

=end html

=back



=over 2

=item * I<ondemand-server-url>  =>   B<string, optional>

=begin html

<br>The AutoSupport OnDemand Server URL.

=end html

=back



=over 2

=item * I<partner-address>  =>   B<mail-address[], optional>

=begin html

<br>Specifies up to five partner vendor recipients of full AutoSupport e-mail messages.

=end html

=back



=over 2

=item * I<payload-format>  =>   B<compression-format, optional>

=begin html

<br>The format used to compress the AutoSupport message payload. Possible values: <ul> <li> "7z" - 7-Zip Archive, <li> "tgz" - Zipped Tarball </ul>

=end html

=back



=over 2

=item * I<periodic-tx-window>  =>   B<string, optional>

=begin html

<br>The transmission window (seconds).

=end html

=back



=over 2

=item * I<post-url>  =>   B<string, optional>

=begin html

<br>The URL used to deliver AutoSupport messages via HTTP POST.

=end html

=back



=over 2

=item * I<proxy-url>  =>   B<string, optional>

=begin html

<br>Optional proxy host for AutoSupport message delivery via HTTP.

=end html

=back



=over 2

=item * I<put-url>  =>   B<string, optional>

=begin html

<br>The URL used to deliver AutoSupport messages via HTTP PUT.

=end html

=back



=over 2

=item * I<retry-count>  =>   B<integer, optional>

=begin html

<br>The maximum number of delivery attempts for an AutoSupport message. As of Data ONTAP 8.3.1, this value should be in the range 5-30.

=end html

=back



=over 2

=item * I<retry-interval>  =>   B<string, optional>

=begin html

<br>The number of seconds to wait, after a failed delivery attempt, prior to re-transmitting an AutoSupport message.

=end html

=back



=over 2

=item * I<support-address>  =>   B<mail-address[], optional>

=begin html

<br>The e-mail address of Support.

=end html

=back



=over 2

=item * I<to>  =>   B<mail-address[], optional>

=begin html

<br>Specifies up to five recipients of full AutoSupport e-mail messages.

=end html

=back



=over 2

=item * I<transport>  =>   B<asup-transport, optional>

=begin html

<br>The name of the transport protocol used to deliver AutoSupport messages. Possible values: <ul> <li> "smtp" , <li> "http" , <li> "https" </ul>

=end html

=back



=over 2

=item * I<validate-digital-certificate>  =>   B<boolean, optional>

=begin html

<br>Validate Digital Certificate Received

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 autosupport_destinations_get

[B<Family:> cluster]


=begin html

Get the list of AutoSupport destinations for the given node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-destinations-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer that owns this destination configuration.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"autosupport-destinations-info">>

=begin html

<br>The attributes of the autosupport-destinations.

=end html

=back



=head2 autosupport_destinations_get_iter

[B<Family:> cluster]


=begin html

Get the list of AutoSupport destinations for all nodes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-destinations-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-destinations-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-destinations object. All autosupport-destinations objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-destinations-info">[], optional>

=begin html

<br>The list of attributes of autosupport-destinations objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-destinations objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_destinations_get_total_records

[B<Family:> cluster]


=begin html

Return the total number of records. This sould be equal to the number of nodes in the cluster.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of autosupport-destinations objects.

=end html

=back



=head2 autosupport_download_get

[B<Family:> cluster]


=begin html

Get a download record for the given AutoSupport.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-download-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<id>  =>   B<integer>

=begin html

<br>The download ID.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer that performed the download.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"autosupport-download-info">>

=begin html

<br>The attributes of the autosupport-download.

=end html

=back



=head2 autosupport_download_get_iter

[B<Family:> cluster]


=begin html

Get the download records.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-download-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-download-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-download object. All autosupport-download objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-download-info">[], optional>

=begin html

<br>The list of attributes of autosupport-download objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-download objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_history_cancel

[B<Family:> cluster]


=begin html

Cancel an AutoSupport Transmission.

=end html



B<Inputs>

=over 2

=item * I<destination>  =>   B<asup-destination, optional>

=begin html

<br>Destination for This AutoSupport Possible values: <ul> <li> "smtp" , <li> "http" , <li> "noteto" , <li> "retransmit" </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<seq-num>  =>   B<integer>

=begin html

<br>AutoSupport Sequence Number

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 autosupport_history_get

[B<Family:> cluster]


=begin html

Get a history record for the given AutoSupport.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination>  =>   B<asup-destination>

=begin html

<br>The transport protocol for this AutoSupport message's destination. Possible values: <ul> <li> "smtp" , <li> "http" , <li> "noteto" , <li> "retransmit" </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer where the AutoSupport message was previously generated.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<integer>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"autosupport-history-info">>

=begin html

<br>The attributes of the autosupport-history.

=end html

=back



=head2 autosupport_history_get_iter

[B<Family:> cluster]


=begin html

Get the history records for the last 50 AutoSupport messages.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-history-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-history object. All autosupport-history objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-history-info">[], optional>

=begin html

<br>The list of attributes of autosupport-history objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-history objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_history_get_total_records

[B<Family:> cluster]


=begin html

Return the total number of records.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of autosupport-history objects.

=end html

=back



=head2 autosupport_history_retransmit

[B<Family:> cluster]


=begin html

Selectively retransmit a previously collected AutoSupport message.

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer on which the AutoSupport message will be retransmitted.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<integer>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



=over 2

=item * I<size-limit>  =>   B<integer, optional>

=begin html

<br>The maximum allowed size for the retransmitted AutoSupport.

=end html

=back



=over 2

=item * I<uri>  =>   B<string>

=begin html

<br>The destination for the retransmitted AutoSupport.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 autosupport_invoke

[B<Family:> cluster]


=begin html

Generate a new AutoSupport message

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force generation, even if AutoSupport is disabled in the system. The default value is false.

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>Text to include as part of the subject of the AutoSupport message.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer on which the AutoSupport message will be generated.

=end html

=back



=over 2

=item * I<type>  =>   B<asup-invoke-style>

=begin html

<br>The type of AutoSupport to generate. Possible values: <ul> <li> "test" - Test AutoSupport send and receive only, <li> "performance" - Generate a Performance AutoSupport as requested by technical support, <li> "all" - Send all AutoSupport data without time or size limit, as requested by technical support </ul>

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>Alternate destination for the AutoSupport. If this field is omitted, the AutoSupport will be delivered to the currently configured destinations.

=end html

=back



B<Outputs>

=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



=head2 autosupport_invoke_core_upload

[B<Family:> cluster]


=begin html

Generate and send an AutoSupport message with an existing core file.

=end html



B<Inputs>

=over 2

=item * I<case-number>  =>   B<string, optional>

=begin html

<br>Support case number to associate with this core file.

=end html

=back



=over 2

=item * I<core-filename>  =>   B<string>

=begin html

<br>Existing core file to be included in this AutoSupport.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force generation, even if AutoSupport is disabled in the system. The default value is false.

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>Text to include as part of the subject of the AutoSupport message.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer on which the AutoSupport message will be generated.

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>Alternate destination for the AutoSupport. If this field is omitted, the AutoSupport will be delivered to the currently configured destinations. Supported schemes are file, http & https. As of Data ONTAP 9.3, the file scheme is not supported.

=end html

=back



B<Outputs>

=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



=head2 autosupport_invoke_diagnostic

[B<Family:> cluster]


=begin html

Generate and send an AutoSupport message with diagnostic content from specified subsystems.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force collection and delivery, even if Diagnostic AutoSupport is disabled in the system. The default value is false.

=end html

=back



=over 2

=item * I<message-subject>  =>   B<string, optional>

=begin html

<br>Text to include as part of the subject of the AutoSupport message.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer on which the AutoSupport message will be generated.

=end html

=back



=over 2

=item * I<subsystems>  =>   B<asup-subsystems[]>

=begin html

<br>List of subsystems whose diagnostic content is to be included in this AutoSupport. Specify up to 4 subsystems. Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>The destination for the AutoSupport. If this field is omitted, the AutoSupport will be delivered to the currently configured destinations.

=end html

=back



B<Outputs>

=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



=head2 autosupport_invoke_diagnostic_iter

[B<Family:> cluster]


=begin html

Generate and send an AutoSupport message with diagnostic content from specified subsystems.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple autosupport objects match a given query. If set to true, the API will continue with the next matching autosupport even when the operation fails for the autosupport. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force collection and delivery, even if Diagnostic AutoSupport is disabled in the system. The default value is false.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching autosupport even when the operation on a previous matching autosupport fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of autosupport objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<message-subject>  =>   B<string, optional>

=begin html

<br>Text to include as part of the subject of the AutoSupport message.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-config-info">>

=begin html

<br>If operating on a specific autosupport, this input element must specify all keys. If operating on autosupport objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of autosupport objects (just keys) that were not operated on due to some error. If set to false, the list of autosupport objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of autosupport objects (just keys) that were successfully operated on. If set to false, the list of autosupport objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<subsystems>  =>   B<asup-subsystems[]>

=begin html

<br>List of subsystems whose diagnostic content is to be included in this AutoSupport. Specify up to 4 subsystems. Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>The destination for the AutoSupport. If this field is omitted, the AutoSupport will be delivered to the currently configured destinations.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"autosupport-invoke-diagnostic-iter-info">[], optional>

=begin html

<br>Information about autosupport objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching autosupport objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of autosupport objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of autosupport objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"autosupport-invoke-diagnostic-iter-info">[], optional>

=begin html

<br>The autosupport objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 autosupport_invoke_iter

[B<Family:> cluster]


=begin html

Generate a new AutoSupport message

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple autosupport objects match a given query. If set to true, the API will continue with the next matching autosupport even when the operation fails for the autosupport. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force generation, even if AutoSupport is disabled in the system. The default value is false.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching autosupport even when the operation on a previous matching autosupport fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of autosupport objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>Text to include as part of the subject of the AutoSupport message.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-config-info">>

=begin html

<br>If operating on a specific autosupport, this input element must specify all keys. If operating on autosupport objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of autosupport objects (just keys) that were not operated on due to some error. If set to false, the list of autosupport objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of autosupport objects (just keys) that were successfully operated on. If set to false, the list of autosupport objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



=over 2

=item * I<type>  =>   B<asup-invoke-style>

=begin html

<br>The type of AutoSupport to generate. Possible values: <ul> <li> "test" - Test AutoSupport send and receive only, <li> "performance" - Generate a Performance AutoSupport as requested by technical support, <li> "all" - Send all AutoSupport data without time or size limit, as requested by technical support </ul>

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>Alternate destination for the AutoSupport. If this field is omitted, the AutoSupport will be delivered to the currently configured destinations.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"autosupport-invoke-iter-info">[], optional>

=begin html

<br>Information about autosupport objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching autosupport objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of autosupport objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of autosupport objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"autosupport-invoke-iter-info">[], optional>

=begin html

<br>The autosupport objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 autosupport_invoke_performance_archive

[B<Family:> cluster]


=begin html

Generate and send an AutoSupport message with performance archives.

=end html



B<Inputs>

=over 2

=item * I<case-number>  =>   B<string, optional>

=begin html

<br>Support case number to associate with this performance archive file.

=end html

=back



=over 2

=item * I<duration>  =>   B<string, optional>

=begin html

<br>Duration of the performance archives to collect in the AutoSupport. This is expressed as a quantity followed by a character indicating units of time. Allowed units are h|m|s for hours, minutes and seconds. Example '12h' for 12 hours

=end html

=back



=over 2

=item * I<end-date>  =>   B<integer, optional>

=begin html

<br>End date of files to collect from the performance archive dataset.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force generation, even if AutoSupport is disabled in the system. The default value is false.

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>Text to include as part of the subject of the AutoSupport message.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The name of the filer on which the AutoSupport message will be generated.

=end html

=back



=over 2

=item * I<start-date>  =>   B<integer>

=begin html

<br>Start date of files to collect from the performance archive dataset.

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>Alternate destination for the AutoSupport. If this field is omitted, the AutoSupport will be delivered to the currently configured destinations.

=end html

=back



B<Outputs>

=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



=head2 autosupport_invoke_performance_archive_iter

[B<Family:> cluster]


=begin html

Generate and send an AutoSupport message with performance archives.

=end html



B<Inputs>

=over 2

=item * I<case-number>  =>   B<string, optional>

=begin html

<br>Support case number to associate with this performance archive file.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple autosupport objects match a given query. If set to true, the API will continue with the next matching autosupport even when the operation fails for the autosupport. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<duration>  =>   B<string, optional>

=begin html

<br>Duration of the performance archives to collect in the AutoSupport. This is expressed as a quantity followed by a character indicating units of time. Allowed units are h|m|s for hours, minutes and seconds. Example '12h' for 12 hours

=end html

=back



=over 2

=item * I<end-date>  =>   B<integer, optional>

=begin html

<br>End date of files to collect from the performance archive dataset.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force generation, even if AutoSupport is disabled in the system. The default value is false.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching autosupport even when the operation on a previous matching autosupport fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of autosupport objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>Text to include as part of the subject of the AutoSupport message.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-config-info">>

=begin html

<br>If operating on a specific autosupport, this input element must specify all keys. If operating on autosupport objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of autosupport objects (just keys) that were not operated on due to some error. If set to false, the list of autosupport objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of autosupport objects (just keys) that were successfully operated on. If set to false, the list of autosupport objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<start-date>  =>   B<integer>

=begin html

<br>Start date of files to collect from the performance archive dataset.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>Alternate destination for the AutoSupport. If this field is omitted, the AutoSupport will be delivered to the currently configured destinations.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"autosupport-invoke-performance-archive-iter-info">[], optional>

=begin html

<br>Information about autosupport objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching autosupport objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of autosupport objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of autosupport objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"autosupport-invoke-performance-archive-iter-info">[], optional>

=begin html

<br>The autosupport objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 autosupport_invoke_splog

[B<Family:> cluster]


=begin html

Generate a Remote Service Processor Log AutoSupport message

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force generation, even if AutoSupport is disabled in the system. The default value is false.

=end html

=back



=over 2

=item * I<log-sequence>  =>   B<integer, optional>

=begin html

<br>The sequence number of the logs to be uploaded

=end html

=back



=over 2

=item * I<remote-node>  =>   B<node-name>

=begin html

<br>The host node name where the Service Processor is present

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>Alternate destination for the AutoSupport. If this field is omitted, the AutoSupport will be delivered to the currently configured destinations.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 autosupport_manifest_get_iter

[B<Family:> cluster]


=begin html

Get a detailed manifest for the contents of an AutoSupport.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-manifest-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-manifest-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-manifest object. All autosupport-manifest objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-manifest-info">[], optional>

=begin html

<br>The list of attributes of autosupport-manifest objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-manifest objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_manifest_get_total_records

[B<Family:> cluster]


=begin html

Return the total number of records.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of autosupport-manifest objects.

=end html

=back



=head2 autosupport_trigger_get

[B<Family:> cluster]


=begin html

Get the AutoSupport trigger data for the given node and EMS message.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-trigger-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<trigger>  =>   B<string>

=begin html

<br>EMS Message

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"autosupport-trigger-info">>

=begin html

<br>The attributes of the autosupport-trigger.

=end html

=back



=head2 autosupport_trigger_get_iter

[B<Family:> cluster]


=begin html

Get a list of the AutoSupport trigger data for all nodes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"autosupport-trigger-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"autosupport-trigger-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the autosupport-trigger object. All autosupport-trigger objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"autosupport-trigger-info">[], optional>

=begin html

<br>The list of attributes of autosupport-trigger objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more autosupport-trigger objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 autosupport_trigger_get_total_records

[B<Family:> cluster]


=begin html

Return the total number of records.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of autosupport-trigger objects.

=end html

=back



=head2 autosupport_trigger_modify

[B<Family:> cluster]


=begin html

Modify the AutoSupport trigger data for the given node and EMS message.

=end html



B<Inputs>

=over 2

=item * I<basic-additional>  =>   B<asup-subsystems[], optional>

=begin html

<br>Additional Subsystems Reporting Basic Info Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<noteto-enabled>  =>   B<string, optional>

=begin html

<br>(DEPRECATED) Deliver to AutoSupport -noteto Addresses. Possible values are: enabled or disabled.

=end html

=back



=over 2

=item * I<size-limit>  =>   B<size, optional>

=begin html

<br>The data collection size budget for this trigger. Content not collected will be marked as collection-truncated-size-limit in the manifest.

=end html

=back



=over 2

=item * I<time-limit>  =>   B<string, optional>

=begin html

<br>The data collection time budget for this trigger (in seconds). Content not collected will be marked as collection-truncated-time-limit in the manifest.

=end html

=back



=over 2

=item * I<to-enabled>  =>   B<string, optional>

=begin html

<br>Deliver to AutoSupport -to Addresses. Possible values are: enabled or disabled.

=end html

=back



=over 2

=item * I<trigger>  =>   B<string>

=begin html

<br>EMS Message

=end html

=back



=over 2

=item * I<troubleshooting-additional>  =>   B<asup-subsystems[], optional>

=begin html

<br>Additional Subsystems Reporting Troubleshooting Info Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cf_aggregate_giveback_status

[B<Family:> cluster]


=begin html

Returns giveback status of all the aggregates in the cluster which are taken over or were given back.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cf-aggregate-giveback-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cf-aggregate-giveback-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cf object. All cf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cf-aggregate-giveback-info">[], optional>

=begin html

<br>The list of attributes of cf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cf_force_takeover

[B<Family:> cluster]


=begin html

Forces one filer to take over its partner even though the filer detects an error that would otherwise prevent a takeover. For example, normally, if a detached or faulty interconnect cable between the filers causes the filers' NVRAM contents to be unsynchronized, takeover is disabled. However, this will allow the filer to take over its partner despite the unsynchronized NVRAM contents. cf-force-takeover is dangerous and can lead to data corruption; in almost all cases, use cf-takeover instead.

=end html



B<Inputs>

=over 2

=item * I<disaster>  =>   B<boolean, optional>

=begin html

<br>When set to true, forces a filer to take over its partner in all cases where a force-takeover would. In addition it will force a takeover even if some partner mailbox disks are inaccessible. It can only be used when remotesyncmirror is licensed. This option is very dangerous. Not only can it cause data corruption, if not used carefully, it can also lead to a situation where both the filer and it's partner are operational (split brain). As such, it should only be used as a means of last resort when the takeover and force-takeover operations are unsuccessful in achieving a takeover. The operator must ensure that the partner filer does not become operational at any time while a filer is in a takeover mode initiated by the use of this operation. In conjunction with RAID mirroring, it can allow recovery from a disaster when the two filers are setup in a MetroCluster configuration. This option is not allowd in case of cluster zapi.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>This parameter is the name of the node which is doing a takeover of its partner.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cf_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of cf objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-failover-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-failover-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cf object. All cf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-failover-info">[], optional>

=begin html

<br>The list of attributes of cf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cf_get_partner

[B<Family:> cluster]


=begin html

Get the host name of the partner. If the name is unknown, It will return partner-unknown.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node name is passed as an argument

=end html

=back



B<Outputs>

=over 2

=item * I<partner>  =>   B<string>

=begin html

<br>Host name of the partner or partner-unknown, if the host name is not known.

=end html

=back



=head2 cf_giveback

[B<Family:> cluster]


=begin html

Initiates a giveback of partner resources. Once the giveback is complete, the automatic takeover capability is disabled until the partner is rebooted. A giveback fails if outstanding CIFS sessions, active system dump processes, or other filer operations makes a giveback dangerous or disruptive.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>When set to true, this allows a giveback to proceed even if there are outstanding CIFS sessions, active system dump processes, or other filer operations which makes a giveback dangerous or disruptive as long as it would not result in data corruption or filer error. When set to false, this does not allow a giveback to proceed if there are outstanding CIFS sessions, active system dump processes, or other filer operations which makes a giveback dangerous or disruptive. The default value is false.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>This parameter is the name of the node which performs giveback to its partner.

=end html

=back



=over 2

=item * I<only-cfo-aggregates>  =>   B<boolean, optional>

=begin html

<br>When set to true, only the CFO HA-style aggregates (which includes the root aggregate) will be given back. This may be needed in the case when the partner node's VLDB and other such management applications are not properly working (they are required to be online for the SFO HA-style aggregates to start serving data), so it might not be possible to giveback SFO HA-style aggregates. When set to false, all the aggregates (CFO HA-style aggregates + SFO HA-style aggregates) will be given back. The default value is false.

=end html

=back



=over 2

=item * I<override-vetoes>  =>   B<boolean, optional>

=begin html

<br>Some conditions cause attempts to giveback aggregates to be vetoed. When set to true, this allows the process of giveback of the aggregates to be initiated even in the face of such vetoes. When set to false, this does not allow the process of giveback of the aggregates to proceed if there are any vetoes. The default value is false.

=end html

=back



=over 2

=item * I<require-partner-waiting>  =>   B<boolean, optional>

=begin html

<br>When set to true, this ensures that the process of giveback of the aggregates is not initiated if the partner is not up and waiting to receive them. When set to false, this allows the process of giveback of the aggregates to proceed even if the partner is not up and waiting to receive them. The default value is true.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cf_hwassist_stats

[B<Family:> cluster]


=begin html

Get useful information about statistics of hardware assisted takeover functionality.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node name of the filer for which the API is requested.

=end html

=back



B<Outputs>

=over 2

=item * I<hwassist-stats-abnormal-reboot>  =>   B<string, optional>

=begin html

<br>Number of abnormal_reboot alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-bad-nvram-id>  =>   B<string, optional>

=begin html

<br>Number of bad NVRAM id alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-keep-alive>  =>   B<string, optional>

=begin html

<br>Number of keep_alive alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-loss-of-heartbeat>  =>   B<string, optional>

=begin html

<br>Number of loss_of_heartbeat alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-post-error>  =>   B<string, optional>

=begin html

<br>Number of post_error alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-power-cycle-via-rlm>  =>   B<string, optional>

=begin html

<br>Number of power_cycle_via_rlm alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-power-cycle-via-sp>  =>   B<string, optional>

=begin html

<br>Number of power_cycle_via_sp alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-power-loss>  =>   B<string, optional>

=begin html

<br>Number of power_loss alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-power-off-via-rlm>  =>   B<string, optional>

=begin html

<br>Number of power_off_via_rlm alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-power-off-via-sp>  =>   B<string, optional>

=begin html

<br>Number of power off alerts received from service processor (power_off_via_sp alert).

=end html

=back



=over 2

=item * I<hwassist-stats-reset-via-rlm>  =>   B<string, optional>

=begin html

<br>Number of reset_via_rlm alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-reset-via-sp>  =>   B<string, optional>

=begin html

<br>Number of reset_via_sp alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-ss-mismatch>  =>   B<string, optional>

=begin html

<br>Number of shared secret key mismatch alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-test>  =>   B<string, optional>

=begin html

<br>Number of test alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-times-throttled>  =>   B<string, optional>

=begin html

<br>Number of times hardware assist alerts were throttled. Alerts are throttled when too many are received in a short interval.

=end html

=back



=over 2

=item * I<hwassist-stats-unknown-alerts>  =>   B<string, optional>

=begin html

<br>Number of unknown alerts received

=end html

=back



=over 2

=item * I<hwassist-stats-watchdog-reset>  =>   B<string, optional>

=begin html

<br>Number of l2_watchdog_reset alerts received

=end html

=back



=over 2

=item * I<no-stats>  =>   B<string, optional>

=begin html

<br>If no hardware assist statistics are available, this is set to "Cannot determine hwassist stats".

=end html

=back



=head2 cf_hwassist_stats_clear

[B<Family:> cluster]


=begin html

Get useful information about stats of hw_assist functionality.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node name of the filer for which the API is requested.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cf_hwassist_status

[B<Family:> cluster]


=begin html

Get useful information about the status of hw_assist functionality.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node name of the filer for which the API is requested.

=end html

=back



B<Outputs>

=over 2

=item * I<keep-alive-status>  =>   B<string>

=begin html

<br>Possible values are: <ul> <li>healthy <li>missed_keep_alive_alerts </ul>

=end html

=back



=over 2

=item * I<local-hwassist-inactive-corrective-action>  =>   B<string, optional>

=begin html

<br>Indicates the corrective action if status is inactive.

=end html

=back



=over 2

=item * I<local-hwassist-inactive-reason>  =>   B<string, optional>

=begin html

<br>Indicates the reason if status is inactive.

=end html

=back



=over 2

=item * I<local-hwassist-ipaddr>  =>   B<string, optional>

=begin html

<br>If set, Ip address; 0.0.0.0 otherwise

=end html

=back



=over 2

=item * I<local-hwassist-port>  =>   B<integer, optional>

=begin html

<br>If set, port; 0 otherwise

=end html

=back



=over 2

=item * I<local-hwassist-status>  =>   B<string, optional>

=begin html

<br>Local node hw_assist status <p> Possible values are: <ul> <li>active: If functionality is active. <li>inactive: If functionality is inactive </ul>

=end html

=back



=over 2

=item * I<no-status>  =>   B<string, optional>

=begin html

<br>Set if no hw_assist status is avaliable. Either this or the remaining fields will be set,hence they are optional.

=end html

=back



=over 2

=item * I<partner-hwassist-inactive-corrective-action>  =>   B<string, optional>

=begin html

<br>Indicates the corrective action if status is inactive.

=end html

=back



=over 2

=item * I<partner-hwassist-inactive-reason>  =>   B<string, optional>

=begin html

<br>Indicates the reason if status is inactive.

=end html

=back



=over 2

=item * I<partner-hwassist-ipaddr>  =>   B<string, optional>

=begin html

<br>If set, Ip address, 0.0.0.0 otherwise

=end html

=back



=over 2

=item * I<partner-hwassist-port>  =>   B<integer, optional>

=begin html

<br>If set, current port, 0 otherwise

=end html

=back



=over 2

=item * I<partner-hwassist-status>  =>   B<string, optional>

=begin html

<br>partner node hw_assist status <p> Possible values are: <ul> <li>active: If functionality is active. <li>inactive: If functionality is inactive </ul>

=end html

=back



=head2 cf_hwassist_test

[B<Family:> cluster]


=begin html

Validates the hardware-assisted takeover configuration. functionality.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node name of the filer for which the API is requested.

=end html

=back



B<Outputs>

=over 2

=item * I<hwassist-test-result>  =>   B<string>

=begin html

<br>This string corresponds to the result of the test. The possible outcomes are: Hwassist is not initialized No hw_assist hardware found. Partner is throttling alerts. Resource busy. Try again after some time. Hwassist hardware returned error. No response from partner. Timed out. Unexpected abort. Partner has taken over. Interconnect is down between nodes. Make sure partner is booted up.Run 'storage failover hwassist show' for details.

=end html

=back



=head2 cf_mode_set

[B<Family:> cluster]


=begin html

Enable or disable the high-availability (HA) for this node. A reboot of the node is required for the HA mode to become effective.

=end html



B<Inputs>

=over 2

=item * I<mode>  =>   B<string>

=begin html

<br>HA mode. <p> Possible values: <ul> <li> 'ha' - Enable high-availability(HA). After HA is enabled, giveback and and takeover are available. <li> 'non_ha' - Disable high-availability(HA). After HA is disabled, the giveback and takeover are not available. Note that changing the mode to non_ha requires disabling the takeover facility by calling cf-service-disable. </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cf_modify_iter

[B<Family:> cluster]


=begin html

Modify the attributes of cf or a group of cf objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"options-related-info-modify">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple cf objects match a given query. If set to true, the API will continue modifying the next matching cf even when modification of a previous cf fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching cf even when the modification of a previous matching cf fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"options-related-info-modify">>

=begin html

<br>If modifying a specific cf, this input element must specify all keys. If modifying cf objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of cf objects (just keys) that were not modified due to some error. If set to false, the list of cf objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of cf objects (just keys) that were successfully updated. If set to false, the list of cf objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"cf-modify-iter-info">[], optional>

=begin html

<br>Information about cf objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching cf objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of cf objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of cf objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"cf-modify-iter-info">[], optional>

=begin html

<br>The cf objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 cf_service_disable

[B<Family:> cluster]


=begin html

Disables the takeover capability of this filer in the cluster.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>This parameter is the name of the node on which service is to be disabled

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cf_service_enable

[B<Family:> cluster]


=begin html

Enables the takeover capability of this filer in the cluster. This spawns a process to enable the service

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>This parameter is the name of the node on which service is to be enabled

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cf_status

[B<Family:> cluster]


=begin html

Get useful information about the status of the high availability service. If the monitor is not initialized, this returns an error.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>This parameter is the name of the node for which High Availability service status is being requested

=end html

=back



B<Outputs>

=over 2

=item * I<backup-io-times>  =>   B<L<"mailbox-io-times-info">, optional>

=begin html

<br>Backup mailbox IO times. Not returned if state is "waiting_for_root_aggr".

=end html

=back



=over 2

=item * I<backup-mailbox-status>  =>   B<L<"mailbox-status-info">[], optional>

=begin html

<br>Backup mailbox status information, represented as a list of strings. Not returned if state is "waiting_for_root_aggr".

=end html

=back



=over 2

=item * I<booting-received>  =>   B<integer>

=begin html

<br>time booting notification received, in milliseconds.

=end html

=back



=over 2

=item * I<control-partner-aggregates>  =>   B<boolean>

=begin html

<br>True, if we control one or more partner aggregates.

=end html

=back



=over 2

=item * I<current-giveback-module>  =>   B<string, optional>

=begin html

<br>The current module giveback process is in

=end html

=back



=over 2

=item * I<current-mode>  =>   B<string, optional>

=begin html

<br>Current HA mode

=end html

=back



=over 2

=item * I<current-resource-table-entry>  =>   B<string, optional>

=begin html

<br>If we're doing takeover processing, the name of the current entry in the resource table.

=end html

=back



=over 2

=item * I<current-resource-table-entry-index>  =>   B<integer, optional>

=begin html

<br>If we're doing takeover processing, the index of the current entry in the resource table.

=end html

=back



=over 2

=item * I<current-takeover-module>  =>   B<string, optional>

=begin html

<br>The current module takeover process is in. e.g. WAFL

=end html

=back



=over 2

=item * I<current-time>  =>   B<integer>

=begin html

<br>Current time on the filer

=end html

=back



=over 2

=item * I<fanta-reloc-aggr-count>  =>   B<integer, optional>

=begin html

<br>Number of partner homed aggregates owned by local node.

=end html

=back



=over 2

=item * I<firmware-received>  =>   B<integer>

=begin html

<br>time firmware notification received, in milliseconds.

=end html

=back



=over 2

=item * I<giveback-failure-reason>  =>   B<string, optional>

=begin html

<br>If a giveback failed this is the reason for the giveback failure. Possible values are: <ul> <li>aggr_relocation_in_progress - aggregate relocation is in progress</li> <li>shutdown_in_progress - shutdown is in progress</li> <li>testpoint - a giveback failure was simulated with a testpoint</li> <li>cannot_giveback_partner_subsystem - node failed to giveback one of partner's subsystems</li> <li>bck_mbx_update_error - node could not update its backup mailbox</li> <li>disaster_recovery_in_progress - disaster recovery operation is in progress</li> <li>partner_disaster_recovery_in_progress - disaster recovery operation is in progress on the partner node</li> </ul>

=end html

=back



=over 2

=item * I<giveback-state>  =>   B<string, optional>

=begin html

<br>Giveback state of the node. Possible values are: <ul> <li>nothing_to_gb - No partner aggregates owned by local node</li> <li>not_attempted_yet - Local node owns partner aggregates and a giveback has not been attempted yet</li> <li>giveback_in_progress - Giveback is in progress. Refer to current-giveback-module field to get the current module, the giveback process is in.</li> <li>giveback_failed_autogiveback_disabled - Previous giveback failed and auto giveback is disabled. Refer to current-giveback-module to get the module in which giveback process failed.</li> <li>giveback_failed_autogiveback_scheduled - Previous giveback failed and an auto giveback is scheduled. Refer to current-giveback-module to get the module in which giveback process failed. Refer time-until-autogiveback field to check time remaining before an auto giveback is initiated.</li> <li>previous_giveback_failed - Previous giveback failed. Refer to current-giveback-module to get the module in which giveback process failed.</li> <li>giveback_vetoed_no_di - Normal giveback not possible as disk inventory from partner has not yet been received</li> <li>giveback_vetoed_missing_disks - Normal giveback not possible as the partner is missing some of its files system disks</li> <li>autogiveback_scheduled - An auto giveback is scheduled Refer time-until-autogiveback field to check time remaining before an auto giveback is initiated.</li> <li>autogiveback_deferred - Auto giveback is deferred because the partner node was not ready to receive aggregates when the auto giveback timer expired. An auto giveback will be initiated as soon as the partner node is up and ready to receive aggregates.</li> <li>node_upgrade_in_progress - Local node owns partner's aggregates as part of node upgrade process</li> <li>sfo_aggr_giveback_failed - Giveback of SFO aggregates failed. Call cf-aggregate-giveback-status API for more information regarding giveback failure.</li> <li>sfo_aggr_giveback_in_progress - Giveback of SFO aggregates is in progress. Call cf-aggregate-giveback-status API for more information regarding giveback status.</li> <li>partial_giveback - Local node owns partner SFO aggregates</li> <li>partner_spare_disks_giveback_pending - Local node owns partner's spare disks</li> </ul>

=end html

=back



=over 2

=item * I<ha-type>  =>   B<string, optional>

=begin html

<br>HA type Possible values are: <ul> <li> none - None </li> <li> shared_storage - Shared storage HA configuration </li> <li> non_shared_storage - Non-shared storage HA configuration </li> </ul>

=end html

=back



=over 2

=item * I<interconnect-links>  =>   B<string, optional>

=begin html

<br>States of the individual interconnect links e.g. VIA Interconnect is down (link 0 down, link 1 down) VIA Interconnect is up (link 0 down, link 1 up) VIA Interconnect is up (link 0 up, link 1 down)

=end html

=back



=over 2

=item * I<interconnect-type>  =>   B<string, optional>

=begin html

<br>Type and Vendor of the interconnect e.g. Infiniband (Mellanox Sinai) FCVI (Qlogic 2462)

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>True, if the storage failover facility is enabled, false otherwise. Note that the facility can be enabled but takeover may not be possible due to various reason.

=end html

=back



=over 2

=item * I<is-interconnect-up>  =>   B<boolean>

=begin html

<br>True, if high availability interconnect is up

=end html

=back



=over 2

=item * I<kill-packets>  =>   B<boolean>

=begin html

<br>True, if we issue ic kill messages during takeover.

=end html

=back



=over 2

=item * I<local-firmware-progress>  =>   B<integer, optional>

=begin html

<br>A counter to indicate that the local node is progressing in the current firmware state The range of possible values is [0..2^31-1]

=end html

=back



=over 2

=item * I<local-firmware-state>  =>   B<string, optional>

=begin html

<br>Local firmware state that will be communicated through interconnect to the partner <ul> <li>SF_OPERATOR_EXIT - operator completed</li> <li>SF_DEBUG_EXIT - debugger completed</li> <li>SF_PROGRESS - progress counter</li> <li>SF_IOERROR - I/O error</li> <li>SF_BADCKSUM - bad checksum</li> <li>SF_RESERVED - reserved</li> <li>SF_UNKNOWN - unknown</li> <li>SF_OPEN - initializing</li> <li>SF_POST - in power-on self test</li> <li>SF_BOOTING - booting</li> <li>SF_FAIL - boot failed</li> <li>SF_WAITING - waiting</li> <li>SF_OS_BOOTED - kernel loaded</li> <li>SF_UP - up</li> <li>SF_DEBUG - in debugger</li> <li>SF_OPERATOR - waiting for operator input</li> <li>SF_DUMPCORE - dumping core</li> <li>SF_HALT - halted</li> <li>SF_REBOOT - rebooting</li> <li>SF_GIVEWAIT - waiting for giveback</li> <li>SF_MBWAIT - waiting for HA mailbox release</li> <li>SF_SPARECORE - dumping sparecore and ready to be taken-over</li> <li>SF_MDP - multi-disk panic</li> <li>SF_TO - in takeover</li> <li>SF_NOTO - takeover disabled</li> <li>SF_CLUSTERWAIT - waiting for cluster apps</li> </ul>

=end html

=back



=over 2

=item * I<local-in-headswap>  =>   B<boolean, optional>

=begin html

<br>True, if the local node is being replaced by a new node.

=end html

=back



=over 2

=item * I<local-mailbox-disks>  =>   B<L<"sf-disk-info">[], optional>

=begin html

<br>List of local mailbox disks. Not returned if state is "waiting_for_root_aggr".

=end html

=back



=over 2

=item * I<local-missing-disks>  =>   B<L<"sf-disk-info">[], optional>

=begin html

<br>List of disks that the local node is missing but the partner node is able to view.

=end html

=back



=over 2

=item * I<logs-unsynced-count>  =>   B<integer>

=begin html

<br>Number of times the log was unsynchronized.

=end html

=back



=over 2

=item * I<max-resource-table-index>  =>   B<integer, optional>

=begin html

<br>The maximum resource table index.

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>High-availability (HA) mode for this node Possible values: <ul> <li> 'ha' - High-availability is enabled. <li> 'non_ha' - High-availability is disabled. </ul>

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Hostname of the dblade.

=end html

=back



=over 2

=item * I<new-partner-sysid>  =>   B<integer, optional>

=begin html

<br>The new partner system ID recieved via HA interconnect. The value is zero if partner is not in headswap.

=end html

=back



=over 2

=item * I<node-state>  =>   B<string, optional>

=begin html

<br>State of the storage failover of the node. Possible values are: <ul> <li>connected - Partner is available for takeover</li> <li>takeover_scheduled - Partner is down and takeover is scheduled</li> <li>takeover_started - Takeover process has begun</li> <li>takeover - Currently controlling partner's resources.</li> <li>takeover_failed - Failed to takeover the partner</li> <li>giveback_partial_waiting - This node controls partner aggregates even though the node is not in takeover. And we're waiting for a connection to the partner.</li> <li>giveback_partial_connected - This node controls partner aggregates even though the node is not in takeover. The partner is available to receive the aggregates.</li> <li>waiting_for_root_aggr - Partner is controlling dblade's root aggregate If we're in this state, many other optional fields are not returned.</li> <li>waiting - Waiting for a connection to partner. Generally happens while partner is rebooting.</li> <li>in_maintenance_mode - node is in maintenance mode. In the mode it is not possible to determine more detailed information (e.g. takeover or not).</li> <li>pending_shutdown - starting a takeover/giveback is inhibited due to a pending system shutdown.</li> <li>relocating_aggrs_before_takeover - node is relocating its SFO aggregates to its partner prior to a negotiated takeover.</li> <li>sfo_takeover_phase_done - Node is done with the SFO phase of takeover.</li> <li>sfo_takenover_phase_done - This node has relocated its SFO aggregates to its partner during an optimized negotiated takeover by its partner.</li> <li>sfo_takeover_phase_aborted - The SFO phase of takeover has been aborted. Refer to takeover-failure-reason field to check the reason.</li> <li>sfo_takenover_phase_aborted - This node has aborted the relocation of its SFO aggregates to its partner, during an optimized negotiated takeover by its partner.</li> <li>in_non_HA_mode - Node is not in HA mode</li> <li>cfo_takeover_failed - CFO phase of takeover failed</li> <li>sfo_takeover_phase - SFO phase of takeover of partner is in progress</li> <li>relocated_aggrs_before_takeover - node has relocated its SFO aggregates to its partner prior to a negotiated takeover.</li> <li>giving_back - Giveback is in progress. Refer to current-giveback-module field to get the current module, the giveback process is in.</li> <li>giveback_failed_autogiveback_disabled - Previous giveback failed and auto giveback is disabled. Refer to current-giveback-module to get the module in which giveback process failed.</li> <li>giveback_failed_autogiveback_scheduled - Previous giveback failed and an auto giveback is scheduled. Refer to current-giveback-module to get the module in which giveback process failed.</li> Refer to time-until-autogiveback field to check time remaining before an auto giveback is initiated.</li> <li>previous_giveback_failed - Previous giveback failed. Refer to current-giveback-module to get the module in which giveback process failed.</li> <li>takeover_disk_inventory_not_received - Local node is in takeover. A normal giveback is not possible as disk inventory from partner has not yet been received.</li> <li>takeover_partner_missing_disks - Local node is in takeover. A normal giveback is not possible as the patner is missing some of its file system disks.</li> <li>takeover_autogiveback_scheduled - Local node in takeover. An auto giveback is scheduled. Refer time-until-autogiveback field to check time remaining before an auto giveback is initiated.</li> <li>takeover_network_failure - Local node in takeover. The partner was taken over due to network failure.</li> <li>takeover_autogiveback_deferred - Local node in takeover. Auto giveback is deferred because the partner node was not ready to receive aggregates when the auto giveback timer expired. An auto giveback will be initiated as soon as the partner node is up and ready to receive aggregates.</li> <li>automatic_takeover_disabled_connected - Automatic takeover is disabled. Local node is connected to partner via HA interconnect. This happens only in debug builds when raid.panic.missing.disks is turned on from node CLI.</li> <li>automatic_takeover_disabled_waiting - Automatic takeover is disabled. Local node is waiting for partner node on HA interconnect. This happens only in debug builds when raid.panic.missing.disks is turned on from node CLI.</li> <li>ndo_upgrade_in_progress - Local node owns partner's aggregates as part of node upgrade process.</li> <li>own_aggr_non_local_connected - Local node owns aggregates of some other node in the cluster. Local node is connected to partner via HA interconnect. This is possible only during NDO double hop controller upgrade.</li> <li>own_aggr_non_local_waiting - Local node owns aggregates of some other node in the cluster. Local node is waiting for partner on HA interconnect. This is possible only during NDO double hop controller upgrade.</li> <li>clusterwait_connected - Connected to partner via HA interconnect. Local node waiting for cluster applications to come online.</li> <li>clusterwait_waiting - Waiting for partner on HA interconnect. Local node waiting for cluster applications to come online.</li> <li>dr_op_in_progress - MetroCluster disaster recovery operation is in progress.</li> <li>error - There is an error with the system</li> </ul> User have to compare the return values case-insensitively.

=end html

=back



=over 2

=item * I<nvram-id>  =>   B<integer>

=begin html

<br>NVRAM identifier

=end html

=back



=over 2

=item * I<partner>  =>   B<string>

=begin html

<br>Hostname of the partner. If the partner is unknown, returns an empty string.

=end html

=back



=over 2

=item * I<partner-firmware-progress>  =>   B<integer, optional>

=begin html

<br>A counter to indicate that the partner node is progressing in the current firmware state The range of possible values is [0..2^31-1]

=end html

=back



=over 2

=item * I<partner-firmware-state>  =>   B<string, optional>

=begin html

<br>Partner firmware state as communicated by the partner through interconnect <ul> <li>SF_OPERATOR_EXIT - operator completed</li> <li>SF_DEBUG_EXIT - debugger completed</li> <li>SF_PROGRESS - progress counter</li> <li>SF_IOERROR - I/O error</li> <li>SF_BADCKSUM - bad checksum</li> <li>SF_RESERVED - reserved</li> <li>SF_UNKNOWN - unknown</li> <li>SF_OPEN - initializing</li> <li>SF_POST - in power-on self test</li> <li>SF_BOOTING - booting</li> <li>SF_FAIL - boot failed</li> <li>SF_WAITING - waiting</li> <li>SF_OS_BOOTED - kernel loaded</li> <li>SF_UP - up</li> <li>SF_DEBUG - in debugger</li> <li>SF_OPERATOR - waiting for operator input</li> <li>SF_DUMPCORE - dumping core</li> <li>SF_HALT - halted</li> <li>SF_REBOOT - rebooting</li> <li>SF_GIVEWAIT - waiting for giveback</li> <li>SF_MBWAIT - waiting for HA mailbox release</li> <li>SF_SPARECORE - dumping sparecore and ready to be taken-over</li> <li>SF_MDP - multi-disk panic</li> <li>SF_TO - in takeover</li> <li>SF_NOTO - takeover disabled</li> <li>SF_CLUSTERWAIT - waiting for cluster apps</li> </ul>

=end html

=back



=over 2

=item * I<partner-in-headswap>  =>   B<boolean, optional>

=begin html

<br>True, if partner node is being replaced by a new node.

=end html

=back



=over 2

=item * I<partner-mailbox-disks>  =>   B<L<"sf-disk-info">[], optional>

=begin html

<br>List of partner mailbox disks as this dblade sees them. Not returned if state is "waiting_for_root_aggr".

=end html

=back



=over 2

=item * I<partner-missing-disks>  =>   B<L<"sf-disk-info">[], optional>

=begin html

<br>List of disks that the partner node is missing but the local node is able to view.

=end html

=back



=over 2

=item * I<partner-name>  =>   B<string, optional>

=begin html

<br>Hostname of the partner. Not returned if unknown.

=end html

=back



=over 2

=item * I<partner-nvram-id>  =>   B<integer, optional>

=begin html

<br>Partner NVRAM identifier. Not returned if unknown.

=end html

=back



=over 2

=item * I<primary-io-times>  =>   B<L<"mailbox-io-times-info">, optional>

=begin html

<br>Primary mailbox IO times. Not returned if state is "waiting_for_root_aggr".

=end html

=back



=over 2

=item * I<primary-mailbox-status>  =>   B<L<"mailbox-status-info">[], optional>

=begin html

<br>Primary mailbox status information, represented as a list of strings. Not returned if state is "waiting_for_root_aggr".

=end html

=back



=over 2

=item * I<resource-table>  =>   B<L<"resource-table-info">[], optional>

=begin html

<br>The failover monitor resource table.Pre-rsrctbl information will be prep-ended to this output.

=end html

=back



=over 2

=item * I<sf-options>  =>   B<L<"sf-options-info">, optional>

=begin html

<br>Options for debugging purpose. The actual interface is via the options mechanism. Not returned if state is "waiting_for_root_aggr".

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>connected - Partner is available for takeover takeover_scheduled - Partner is down and takeover is scheduled takeover_started - Takeover process has begun takeover - Currently controlling partner's resources. taken over - Partner is controlling filer's resources takeover_failed - Failed to takeover the partner sfo_takeover_phase - This node has asked its partner to relocate its SFO aggregates in preparation for takeover. This occurs when a user has initiated an optimized negotiated takeover. relocating_aggrs_before_takeover - This node is relocating its SFO aggregates to its partner during an optimized negotiated takeover by its partner. sfo_takeover_phase_done - This node is done with the SFO phase of an optimized negotiated takeover. sfo_takenover_phase_done - This node has relocated its SFO aggregates to its partner during an optimized negotiated takeover by its partner. sfo_takeover_phase_aborted - The SFO phase of takeover is aborted on this node during an optimized negotiated takeover of its partner. sfo_takenover_phase_aborted - This node has aborted the relocation of its SFO aggregates to its partner, during an optimized negotiated takeover by its partner. giving_back - Sendhome process in progress giveback_partial_waiting - This node controls partner aggregates even though the node is not in takeover. And we're waiting for a connection to the partner. giveback_partial_connected - This node controls partner aggregates even though the node is not in takeover. The partner is available to receive the aggregates. waiting_for_root_aggr - Partner is controlling dblade's root aggregate If we're in this state, many other optional fields are not returned. waiting - Waiting for a connection to partner. Generally happens while partner is rebooting. in_maintenance_mode - node is in maintenance mode. In the mode it is not possible to determine more detailed information (e.g. takeover or not). pending_shutdown - starting a takeover/sendhome is inhibited due to a pending system shutdown. error - There is an error with the system User have to compare the return values case-insensitively.

=end html

=back



=over 2

=item * I<takeover-by-partner-not-possible-reason>  =>   B<L<"takeover-info">[], optional>

=begin html

<br>If takeover by the partner is not possible, list of one or more reasons why. Note that in for non-verbose command output the first reason returned is the one that should be displayed.

=end html

=back



=over 2

=item * I<takeover-by-partner-possible>  =>   B<boolean, optional>

=begin html

<br>True, if storage failover takeover is currently possible by the partner, false otherwise. Note that this is the local node's view of partner.

=end html

=back



=over 2

=item * I<takeover-failure-reason>  =>   B<string, optional>

=begin html

<br>If state equals "takeover_failed", this is the reason for the takeover failure. Possible values are: <ul> <li>shutdown_in_progress - shutdown is in progress</li> <li>aggr_relocation_in_progress - aggregate relocation is in progress</li> <li>giveback_in_progress - giveback is in progress</li> <li>takeover_in_progress - takeover is in progress </li> <li>unknown_partner_id - node could not detect its partner's system ID</li> <li>conflicting_sysid - node has the same system ID as its partner</li> <li>pri_mbx_update_error - node could not update its primary mailbox</li> <li>takeover_disabled_by_partner - partner has disabled takeover</li> <li>cannot_takeover_partner_subsystem - node failed to takeover one of partner's subsystems</li> <li>non_etc_or_rc_boot - it is not possible to takeover in a non-etc/rc boot</li> <li>bck_mbx_update_error - node could not update its backup mailbox</li> <li>partner_taking_over - partner is taking over local node </li> <li>revert_in_progress - revert is in progress </li> <li>disaster_recovery_in_progress - disaster recovery operation is in progress</li> <li>headswap_in_progress - headswap is in progress </li> <li>destination_check_failed - destination check failed </li> <li>communication_failed - communication with destination failed</li> <li>operation_aborted - operation was aborted </li> <li>aggr_not_online - destination node did not online the aggregate being relocated in time </li> <li>sfo_disabled - storage failover service is not enabled </li> <li>partner_taking_over - partner is taking over local node </li> <li>bdfu_not_disabled_source - failed to disable background disk firmware update (BDFU) on local node </li> <li>bdfu_not_disabled_dest - failed to disable background disk firmware update (BDFU) on partner node </li> <li>partner_shutting_down - shutdown is in progress on the partner node</li> <li>partner_aggr_relocation_in_progress - aggregate relocation is in progress on the partner node</li> <li>partner_giveback_in_progress - giveback is in progress on the partner node</li> <li>partner_revert_in_progress - revert is in progress on the partner node </li> <li>partner_disaster_recovery_in_progress - disaster recovery operation is in progress on the partner node</li> <li>partner_in_headswap - headswap is in progress on the partner node</li> </ul>

=end html

=back



=over 2

=item * I<takeover-of-partner-not-possible-reason>  =>   B<L<"takeover-info">[], optional>

=begin html

<br>If is-enabled is false, list of one or more reasons why. Note that in for non-verbose command output the first reason returned is the one that should be displayed.

=end html

=back



=over 2

=item * I<takeover-possible>  =>   B<boolean>

=begin html

<br>True, if storage failover takeover is currently possible, false otherwise.

=end html

=back



=over 2

=item * I<takeover-reason>  =>   B<string, optional>

=begin html

<br>Reason for triggering a takeover of partner.

=end html

=back



=over 2

=item * I<takeover-state>  =>   B<string, optional>

=begin html

<br>Takeover state of the node. Possible values are: <ul> <li>takeover_failed - Takeover Failed</li> <li>sfo_takeover_in_progress - SFO phase of takeover of partner is in progress</li> <li>relocating_aggrs_before_takeover - Relocating aggregates to partner as a takeover was initiated by partner</li> <li>cfo_takeover_scheduled - CFO phase of takeover is scheduled</li> <li>relocated_aggrs_before_takeover - Relocated aggregates to partner after a takeover was initiated by partner</li> <li>takeover_by_partner_failed - A takeover attempt by partner failed. Refer to takeover-failure-reason field to check the reason for takeover failure.</li> <li>in_takeover - Node is in takeover</li> <li>takeover_started - A takeover is in progress</li> <li>takeover_scheduled - A takeover of partner is scheduled. Refer to time-until-takeover field to check time remaining till takeover.</li> <li>not_in_takeover - Local node is not in takeover</li> </ul>

=end html

=back



=over 2

=item * I<time-master-status>  =>   B<string, optional>

=begin html

<br>host is time "master" or "slave". If master, then other host syncs it's time with this one. If slave, then this host syncs it's time with the other. Nothing is returned if clustering is disabled.

=end html

=back



=over 2

=item * I<time-since-takeover>  =>   B<integer, optional>

=begin html

<br>Time in milliseconds since the local node has taken over partner.

=end html

=back



=over 2

=item * I<time-until-auto-giveback>  =>   B<integer, optional>

=begin html

<br>If state == takeover this is the countdown time in seconds until auto-giveback is started. The range of possible values is [0..2^31-1]. This attribute will be absent on output when the value is 0.

=end html

=back



=over 2

=item * I<time-until-takeover>  =>   B<integer, optional>

=begin html

<br>if state == takeover_scheduled, this is the countdown time in seconds until state == takeover_started.

=end html

=back



=over 2

=item * I<timeouts>  =>   B<L<"timeout-info">>

=begin html

<br>Various failover monitor timeouts.

=end html

=back



=over 2

=item * I<transit-event-time>  =>   B<integer>

=begin html

<br>Time at which last takeover/giveback event occurred, in milliseconds.

=end html

=back



=head2 cf_takeover

[B<Family:> cluster]


=begin html

Initiates a takeover of the storage partner. Takeover is done asynchronously; status may be monitored by calling the cf-status API and examining the state field. If automatic giveback is enabled then control will be returned to storage partner once it boots up.

=end html



B<Inputs>

=over 2

=item * I<allow-disk-inventory-mismatch>  =>   B<boolean, optional>

=begin html

<br>This allows takeover if disk inventory information is mismatched for non root volume disks. If mismatched, local node performance could degrade as what appears to be missing disks are rebuilt. NOTE:: When using this option and if some of partner's file system disks are not visible to local node, then after giveback those missing disks can create new failed aggregate with same name. So, if any aggregate is offline after giveback with same name then using "zapi_aggr_destroy", you have to destroy that offline aggregate.

=end html

=back



=over 2

=item * I<bypass-optimization>  =>   B<boolean, optional>

=begin html

<br>The bypass-optimization option determines whether or not an optimized negotiated takeover is run. Optimized negotiated takeover refers to the serial relocation of SFO aggregates to the taking over node, prior to a negotiated takeover. This is an optimization because it reduces per-aggregate client outage times. If the bypass-optimization option is set to true, then the takeover optimization is bypassed, and the normal takeover code path is executed. The default value for this option is false.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>It forces a node to take over its storage partner even though the node detects an error that would otherwise prevent a takeover. For example, normally, if a detached or faulty interconnect cable between the nodes(ha pair) causes the nodes NVRAM contents to be unsynchronized, takeover is disabled. However, this will allow the node to take over its storage partner despite the unsynchronized NVRAM contents. cf-force-takeover is dangerous and can lead to data corruption; in almost all cases, use cf-takeover instead.

=end html

=back



=over 2

=item * I<ignore-quorum-warnings>  =>   B<boolean, optional>

=begin html

<br>This option ignores errors that would be returned due to a takeover of the epsilon node or causing an out of quorum. The default value is `false` and thuse the default behavior is to fail on quorum-warnings.

=end html

=back



=over 2

=item * I<immediate>  =>   B<boolean, optional>

=begin html

<br>This causes takeover to be initiated immediately. The taken over node, if up, does not get to shut things down in an orderly manner so the takeover of the resources takes longer.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>This parameter is the name of the node which is doing a takeover of its partner.

=end html

=back



=over 2

=item * I<skip-lif-migration>  =>   B<boolean, optional>

=begin html

<br>This option results in migration of LIFs to be skipped prior to a takeover. However if LIFs on this node are configured for failover, those LIFs may still failover after the reboot has occurred. The default value is `false` and hence the default behavior is to synchronously migrate data and cluster management LIFs away from the node prior to its takeover.

=end html

=back



=over 2

=item * I<version-mismatch-ok>  =>   B<boolean, optional>

=begin html

<br>This allows takeover if the partner was running an incompatible operating system version and was cleanly halted. This option is used for non-disruptive upgrade(NDU).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cf_takeover_status

[B<Family:> cluster]


=begin html

Get the takeover status of a node and the takeover status of all its partner aggregates, for all nodes in a cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"takeover-status">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"takeover-status">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the aggr object. All aggr objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"takeover-status">[], optional>

=begin html

<br>The list of attributes of aggr objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more aggr objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cg_commit

[B<Family:> vserver]


=begin html

Commits the snapshots that were started during the preceeding cg-start call that returned the cg-id key, and unfences the volumes that were fenced. If cg-commit API times out, then it means that either too many volumes were specified to the cg-start api or the timeout value for the cg-start api was very small. In this situation, the caller should try to perform the cg-start operation by specifying lesser volumes or by specifying higher timeout value.

=end html



B<Inputs>

=over 2

=item * I<cg-id>  =>   B<integer>

=begin html

<br>Key to identify the ongoing cg operation.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cg_start

[B<Family:> vserver]


=begin html

Starts the checkpoint cycle for externally synchronized checkpoints in the filer. This operation fences the specified volumes and returns "success" (if successful). If the API returns "success", the call starts a snapshot create operation in these volumes. If the API returns "success", this operation SHOULD be followed by a call to cg-commit (below). <p> This API is not supported on Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<snapmirror-label>  =>   B<string, optional>

=begin html

<br>A human readable SnapMirror label to be attached with the consistency group snapshot copies. Size of the label can be at most 31 characters. This label will be applied as an attribute to the snapshots that are created and will be used by the vaulting system to identify a vaulting scheme.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>The provided name of the snapshot that is created in each volume. This name is the unique identifier by which the calling agent identifies the snapshots that constitute a checkpoint. The maximum length is 255 characters. (= MAXNAMLEN)

=end html

=back



=over 2

=item * I<timeout>  =>   B<string, optional>

=begin html

<br>Timeout selector. Possible vaules are "urgent", "medium" or "relaxed". If no value is specified, the default value is "medium". Following are the timeout values: <p> <dl> <dt><dd>"urgent" : 5 seconds </dd><br></dt> <dt><dd>"medium" : 7 seconds </dd><br></dt> <dt><dd>"relaxed" : 20 seconds </dd><br></dt> </dl> </p>

=end html

=back



=over 2

=item * I<user-timeout>  =>   B<integer, optional>

=begin html

<br>User specified timeout value in seconds. This option can be set if the user wants to specify timeout value other than the default timeouts. The API will return failure if both 'timeout' and 'user-timeout' are specified. The minimum value for this field is equal to the "urgent" timeout. The maximum timeout which can be specified is 120 seconds.

=end html

=back



=over 2

=item * I<volumes>  =>   B<volume-name[]>

=begin html

<br>A list of volumes in this filer that is part of this CG operation.

=end html

=back



B<Outputs>

=over 2

=item * I<cg-id>  =>   B<integer>

=begin html

<br>Identifier of the started cg-start operation. This identifier is used in the succeeding cg-commit call to identify the operation to be commited.

=end html

=back



=head2 cifs_branchcache_create

[B<Family:> vserver]


=begin html

Create and setup the BranchCache service.

=end html



B<Inputs>

=over 2

=item * I<hash-store-max-size>  =>   B<size, optional>

=begin html

<br>Maximum size the hash store can grow to.

=end html

=back



=over 2

=item * I<hash-store-path>  =>   B<string>

=begin html

<br>Path to the directory where hash files are stored.

=end html

=back



=over 2

=item * I<operating-mode>  =>   B<string, optional>

=begin html

<br>The mode in which the BranchCache service will operate.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the cifs-branchcache on successful creation. Default: false

=end html

=back



=over 2

=item * I<server-key>  =>   B<string, optional>

=begin html

<br>BranchCache server key.

=end html

=back



=over 2

=item * I<versions>  =>   B<cifs-bc-version-control[], optional>

=begin html

<br>Versions of the BranchCache protocol that are supported.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"cifs-branchcache">, optional>

=begin html

<br>The cifs-branchcache created (keys or the entire object if requested)

=end html

=back



=head2 cifs_branchcache_flush

[B<Family:> vserver]


=begin html

Flush (delete) all the BranchCache hashes that have been generated for a Vserver.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_branchcache_get

[B<Family:> vserver]


=begin html

Retrieve information about the BranchCache service.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-branchcache">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cifs-branchcache">>

=begin html

<br>The attributes of the cifs-branchcache.

=end html

=back



=head2 cifs_branchcache_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the per-Vserver BranchCache configurations for the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-branchcache">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-branchcache">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-branchcache object. All cifs-branchcache objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-branchcache">[], optional>

=begin html

<br>The list of attributes of cifs-branchcache objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-branchcache objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_branchcache_hash

[B<Family:> vserver]


=begin html

Force the generation of BranchCache hashes for a file or path.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of File or Directory to Hash

=end html

=back



=over 2

=item * I<recurse>  =>   B<boolean, optional>

=begin html

<br>If set to 'true', hashes will be recursively computed for all files in the directory

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_branchcache_modify

[B<Family:> vserver]


=begin html

Modify the CIFS BranchCache service settings

=end html



B<Inputs>

=over 2

=item * I<flush-hashes>  =>   B<boolean, optional>

=begin html

<br>Delete Existing Hashes

=end html

=back



=over 2

=item * I<hash-store-max-size>  =>   B<size, optional>

=begin html

<br>Maximum Size of the Hash Store

=end html

=back



=over 2

=item * I<hash-store-path>  =>   B<string, optional>

=begin html

<br>Path to Hash Store

=end html

=back



=over 2

=item * I<operating-mode>  =>   B<string, optional>

=begin html

<br>CIFS BranchCache Operating Modes

=end html

=back



=over 2

=item * I<server-key>  =>   B<string, optional>

=begin html

<br>Encryption Key Used to Secure the Hashes

=end html

=back



=over 2

=item * I<versions>  =>   B<cifs-bc-version-control[], optional>

=begin html

<br>Supported BranchCache Versions

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_branchcache_remove

[B<Family:> vserver]


=begin html

Remove the BranchCache service

=end html



B<Inputs>

=over 2

=item * I<flush-hashes>  =>   B<boolean>

=begin html

<br>Delete Existing Hashes

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_character_mapping_create

[B<Family:> vserver]


=begin html

Create a character mapping. This API is not supported for FlexGroups or Vservers with Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<mapping>  =>   B<string[]>

=begin html

<br>The mapping for invalid characters in the format XX:XXXX.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the cifs-character-mapping on successful creation. Default: false

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the volume for which character mapping needs to be applied.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"cifs-character-mapping">, optional>

=begin html

<br>The cifs-character-mapping created (keys or the entire object if requested)

=end html

=back



=head2 cifs_character_mapping_destroy

[B<Family:> vserver]


=begin html

Delete a character mapping. This API is not supported for FlexGroups or Vservers with Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the volume for which character mapping needs to be applied.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_character_mapping_get_iter

[B<Family:> cluster, vserver]


=begin html

Display a character mapping

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-character-mapping">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-character-mapping">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-character-mapping object. All cifs-character-mapping objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-character-mapping">[], optional>

=begin html

<br>The list of attributes of cifs-character-mapping objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-character-mapping objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_character_mapping_modify

[B<Family:> vserver]


=begin html

Modify a character mapping. This API is not supported for FlexGroups or Vservers with Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<mapping>  =>   B<string[]>

=begin html

<br>The mapping for invalid characters in the format XX:XXXX.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the volume for which character mapping needs to be applied.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_connection_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of the established CIFS connections.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-connection">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-connection">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-connection object. All cifs-connection objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-connection">[], optional>

=begin html

<br>The list of attributes of cifs-connection objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-connection objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_domain_discovered_servers_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of servers discovered by the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-domain-discovered-servers">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-domain-discovered-servers">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-domain-discovered-servers object. All cifs-domain-discovered-servers objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-domain-discovered-servers">[], optional>

=begin html

<br>The list of attributes of cifs-domain-discovered-servers objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-domain-discovered-servers objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_domain_discovered_servers_reset

[B<Family:> vserver]


=begin html

Command to trigger re-discovery of servers.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_domain_name_mapping_search_add

[B<Family:> vserver]


=begin html

Add to the list of trusted domains for name-mapping search

=end html



B<Inputs>

=over 2

=item * I<trusted-domains>  =>   B<realm-name[]>

=begin html

<br>Trusted Domains

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_domain_name_mapping_search_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of trusted domains for name-mapping search.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-domain-name-mapping-search">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-domain-name-mapping-search">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-domain-name-mapping-search object. All cifs-domain-name-mapping-search objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-domain-name-mapping-search">[], optional>

=begin html

<br>The list of attributes of cifs-domain-name-mapping-search objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-domain-name-mapping-search objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_domain_name_mapping_search_modify

[B<Family:> vserver]


=begin html

Modify the list of trusted domains for name-mapping search

=end html



B<Inputs>

=over 2

=item * I<trusted-domains>  =>   B<realm-name[]>

=begin html

<br>Trusted Domains

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_domain_name_mapping_search_remove

[B<Family:> vserver]


=begin html

Remove from the list of trusted domains for name-mapping search

=end html



B<Inputs>

=over 2

=item * I<trusted-domains>  =>   B<realm-name[], optional>

=begin html

<br>Trusted Domains

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_domain_password_schedule_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of cifs-domain-password-schedule objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-domain-password-schedule">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-domain-password-schedule">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-domain-password-schedule object. All cifs-domain-password-schedule objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-domain-password-schedule">[], optional>

=begin html

<br>The list of attributes of cifs-domain-password-schedule objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-domain-password-schedule objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_domain_password_schedule_modify

[B<Family:> vserver]


=begin html

Modify the attributes of cifs-domain-password-schedule object.

=end html



B<Inputs>

=over 2

=item * I<is-schedule-enabled>  =>   B<boolean, optional>

=begin html

<br>Value of this field indicates whether domain account password change schedule is enabled or not. Value of true indicates schedule is enabled.

=end html

=back



=over 2

=item * I<schedule-day-of-week>  =>   B<cron-day-of-week, optional>

=begin html

<br>This field specifies the day of week when the scheduled domain account password change occurs

=end html

=back



=over 2

=item * I<schedule-randomized-minute>  =>   B<integer, optional>

=begin html

<br>This field specifies the minutes within which the scheduled domain account password start time can be randomized beginning schedule-time-of-day

=end html

=back



=over 2

=item * I<schedule-time-of-day>  =>   B<time-of-day, optional>

=begin html

<br>This field specifies the time in HH:MM:SS at which the scheduled domain account password change starts

=end html

=back



=over 2

=item * I<schedule-weekly-interval>  =>   B<integer, optional>

=begin html

<br>This field specifies the number of weeks after which the scheduled domain account password change must occur

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_domain_preferred_dc_add

[B<Family:> vserver]


=begin html

Add to a list of preferred domain controllers

=end html



B<Inputs>

=over 2

=item * I<domain>  =>   B<string>

=begin html

<br>The fully qualified domain name of the Active Directory domain to which the domain controllers in the list belong.

=end html

=back



=over 2

=item * I<preferred-dc>  =>   B<string[]>

=begin html

<br>Preferred Domain Controllers

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_domain_preferred_dc_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of preferred domain controllers associated with Active Directory domains.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-domain-preferred-dc">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-domain-preferred-dc">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-domain-preferred-dc object. All cifs-domain-preferred-dc objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-domain-preferred-dc">[], optional>

=begin html

<br>The list of attributes of cifs-domain-preferred-dc objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-domain-preferred-dc objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_domain_preferred_dc_remove

[B<Family:> vserver]


=begin html

Remove from a list of preferred domain controllers

=end html



B<Inputs>

=over 2

=item * I<domain>  =>   B<string>

=begin html

<br>The fully qualified domain name of the Active Directory domain to which the domain controllers in the list belong.

=end html

=back



=over 2

=item * I<preferred-dc>  =>   B<string[], optional>

=begin html

<br>Preferred Domain Controllers

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_domain_server_discovery_mode_get

[B<Family:> vserver]


=begin html

Get the CIFS server domain discovery mode of a Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-domain-server-discovery-mode-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cifs-domain-server-discovery-mode-info">>

=begin html

<br>The attributes of the cifs-domain-server-discovery-mode.

=end html

=back



=head2 cifs_domain_server_discovery_mode_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate through the CIFS server domain discovery mode of the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-domain-server-discovery-mode-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-domain-server-discovery-mode-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-domain-server-discovery-mode object. All cifs-domain-server-discovery-mode objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-domain-server-discovery-mode-info">[], optional>

=begin html

<br>The list of attributes of cifs-domain-server-discovery-mode objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-domain-server-discovery-mode objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_domain_server_discovery_mode_modify

[B<Family:> vserver]


=begin html

Modify the CIFS server domain discovery mode of a Vserver

=end html



B<Inputs>

=over 2

=item * I<mode>  =>   B<cifs-domain-server-discovery-mode, optional>

=begin html

<br>Server discovery mode Possible values: <ul> <li> "all" - Discover all the servers in the domain., <li> "site" - Discover the servers local to the site., <li> "none" - Discover nothing. Expect admins to configure pref-dcs. </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_domain_trusts_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of discovered trusted domains.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-domain-trusts">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-domain-trusts">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-domain-trusts object. All cifs-domain-trusts objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-domain-trusts">[], optional>

=begin html

<br>The list of attributes of cifs-domain-trusts objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-domain-trusts objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_domain_trusts_rediscover

[B<Family:> vserver]


=begin html

Command to trigger re-discovery of trusted domains.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_home_directory_get_iter

[B<Family:> cluster, vserver]


=begin html

Displays CIFS home directory configurations

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-home-directory">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-home-directory">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-home-directory object. All cifs-home-directory objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-home-directory">[], optional>

=begin html

<br>The list of attributes of cifs-home-directory objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-home-directory objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_home_directory_modify

[B<Family:> vserver]


=begin html

Modify CIFS home directory configurations

=end html



B<Inputs>

=over 2

=item * I<is-home-dirs-access-for-admin-enabled>  =>   B<boolean, optional>

=begin html

<br>Is home directory access is enabled to admin. Default value is true.

=end html

=back



=over 2

=item * I<is-home-dirs-access-for-public-enabled>  =>   B<boolean, optional>

=begin html

<br>Is home directory access is enabled to public. Default value is false.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_home_directory_search_path_add

[B<Family:> vserver]


=begin html

Add a path to the list of paths that will be searched to find a CIFS user's home directory.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The file system path that will be searched for finding a CIFS user's home directory.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_home_directory_search_path_delete

[B<Family:> vserver]


=begin html

Delete a home directory search path. This API is deprecated in Data ONTAP 8.2 and later but retained for backwards compatibility. Use cifs-home-directory-search-path-remove instead of cifs-home-directory-search-path-delete.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The file system path that will be searched for finding a CIFS user's home directory.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_home_directory_search_path_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of cifs-home-directory-search-path objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-home-directory-search-path">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-home-directory-search-path">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-home-directory-search-path object. All cifs-home-directory-search-path objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-home-directory-search-path">[], optional>

=begin html

<br>The list of attributes of cifs-home-directory-search-path objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-home-directory-search-path objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_home_directory_search_path_remove

[B<Family:> vserver]


=begin html

Remove a home directory search path.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The file system path that will be searched for finding a CIFS user's home directory.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_home_directory_search_path_reorder

[B<Family:> vserver]


=begin html

Change the position of this path in the list of paths that will be searched to find a CIFS user's home directory.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The file system path that will be searched for finding a CIFS user's home directory.

=end html

=back



=over 2

=item * I<to-position>  =>   B<integer>

=begin html

<br>The target position this entry should be moved to, in the list of CIFS home directory search paths.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_group_create

[B<Family:> vserver]


=begin html

Create a single local group

=end html



B<Inputs>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>The description of the local group

=end html

=back



=over 2

=item * I<group-name>  =>   B<cifs-name>

=begin html

<br>The name of the local group

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the cifs-local-group on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"cifs-local-group">, optional>

=begin html

<br>The cifs-local-group created (keys or the entire object if requested)

=end html

=back



=head2 cifs_local_group_delete

[B<Family:> vserver]


=begin html

Delete a single local group

=end html



B<Inputs>

=over 2

=item * I<group-name>  =>   B<cifs-name>

=begin html

<br>The name of the local group

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_group_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of local groups

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-local-group">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-local-group">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-local-group object. All cifs-local-group objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-local-group">[], optional>

=begin html

<br>The list of attributes of cifs-local-group objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-local-group objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_local_group_members_add_members

[B<Family:> vserver]


=begin html

Add local users or Active Directory users or groups to a local group

=end html



B<Inputs>

=over 2

=item * I<group-name>  =>   B<cifs-name>

=begin html

<br>Group Name

=end html

=back



=over 2

=item * I<member-names>  =>   B<cifs-name[]>

=begin html

<br>Names of Users or Active Directory Groups to be Added

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_group_members_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of local group members

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-local-group-members">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-local-group-members">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-local-group-members object. All cifs-local-group-members objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-local-group-members">[], optional>

=begin html

<br>The list of attributes of cifs-local-group-members objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-local-group-members objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_local_group_members_remove_members

[B<Family:> vserver]


=begin html

Remove local users or Active Directory users or groups from a local group

=end html



B<Inputs>

=over 2

=item * I<group-name>  =>   B<cifs-name>

=begin html

<br>Group Name

=end html

=back



=over 2

=item * I<member-names>  =>   B<cifs-name[]>

=begin html

<br>Names of Users or Active Directory Groups to be Removed

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_group_modify

[B<Family:> vserver]


=begin html

Modify a description of a single local group

=end html



B<Inputs>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>The description of the local group

=end html

=back



=over 2

=item * I<group-name>  =>   B<cifs-name>

=begin html

<br>The name of the local group

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_group_rename

[B<Family:> vserver]


=begin html

Rename a local group

=end html



B<Inputs>

=over 2

=item * I<group-name>  =>   B<cifs-name>

=begin html

<br>The name of the local group

=end html

=back



=over 2

=item * I<new-group-name>  =>   B<cifs-name>

=begin html

<br>New Group Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_user_create

[B<Family:> vserver]


=begin html

Configure and create a local user, associated with a Vserver

=end html



B<Inputs>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>The description of the local user

=end html

=back



=over 2

=item * I<full-name>  =>   B<string, optional>

=begin html

<br>The full name of the local user

=end html

=back



=over 2

=item * I<is-account-disabled>  =>   B<boolean, optional>

=begin html

<br>The local user account is disabled

=end html

=back



=over 2

=item * I<user-name>  =>   B<cifs-name>

=begin html

<br>The name of the local user

=end html

=back



=over 2

=item * I<user-password>  =>   B<string>

=begin html

<br>The password for the local user

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_user_delete

[B<Family:> vserver]


=begin html

Delete a single local user

=end html



B<Inputs>

=over 2

=item * I<user-name>  =>   B<cifs-name>

=begin html

<br>The name of the local user

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_user_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of local users

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-local-user">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-local-user">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-local-user object. All cifs-local-user objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-local-user">[], optional>

=begin html

<br>The list of attributes of cifs-local-user objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-local-user objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_local_user_membership_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve local users' membership information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-local-user-membership">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-local-user-membership">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-local-user-membership object. All cifs-local-user-membership objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-local-user-membership">[], optional>

=begin html

<br>The list of attributes of cifs-local-user-membership objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-local-user-membership objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_local_user_modify

[B<Family:> vserver]


=begin html

Modify a single local user

=end html



B<Inputs>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>The description of the local user

=end html

=back



=over 2

=item * I<full-name>  =>   B<string, optional>

=begin html

<br>Full name of the local user

=end html

=back



=over 2

=item * I<is-account-disabled>  =>   B<boolean, optional>

=begin html

<br>The user account is disabled

=end html

=back



=over 2

=item * I<user-name>  =>   B<cifs-name>

=begin html

<br>The name of the local user

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_user_rename

[B<Family:> vserver]


=begin html

Rename a local user

=end html



B<Inputs>

=over 2

=item * I<new-user-name>  =>   B<cifs-name>

=begin html

<br>New User Name

=end html

=back



=over 2

=item * I<user-name>  =>   B<cifs-name>

=begin html

<br>The name of the local user

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_local_user_set_password

[B<Family:> vserver]


=begin html

Set password for a local user

=end html



B<Inputs>

=over 2

=item * I<user-name>  =>   B<cifs-name>

=begin html

<br>The name of the local user

=end html

=back



=over 2

=item * I<user-password>  =>   B<string>

=begin html

<br>The Password for a Local User

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_nbtstat_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the NetBIOS Name Service statistics for Vservers in cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-nbtstat">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-nbtstat">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the NetBIOS statistics object. All NetBIOS statistics objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-nbtstat">[], optional>

=begin html

<br>The list of attributes of NetBIOS statistics objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more NetBIOS statistics objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_options_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of cifs-options objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-options">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-options">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-options object. All cifs-options objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-options">[], optional>

=begin html

<br>The list of attributes of cifs-options objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-options objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_options_modify

[B<Family:> vserver]


=begin html

Modify the attributes of cifs-options object.

=end html



B<Inputs>

=over 2

=item * I<client-session-timeout>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the amount of idle time (in seconds) before a CIFS session is disconnected

=end html

=back



=over 2

=item * I<default-unix-group>  =>   B<string, optional>

=begin html

<br>The default UNIX group used if the identity of a CIFS group cannot be mapped using normal group mapping rules.

=end html

=back



=over 2

=item * I<default-unix-user>  =>   B<string, optional>

=begin html

<br>The default UNIX user used if the identity of a CIFS user cannot be mapped using normal user mapping rules.

=end html

=back



=over 2

=item * I<file-system-sector-size>  =>   B<cifs-filesystem-sector-size, optional>

=begin html

<br>This optional parameter specifies the size of file system sector in bytes reported to SMB Clients. Possible values: <ul> <li> "512" - Reported file system sector size to SMB clients is 512 bytes, <li> "4096" - Reported file system sector size to SMB clients is 4096 bytes </ul>

=end html

=back



=over 2

=item * I<grant-unix-group-perms-to-others>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether UNIX group permissions should be granted to others when Windows clients access files on a UNIX security-style Volume/Qtree as well as mixed security style Volume/Qtree, as long as the effective security style on the file is UNIX. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<guest-unix-user>  =>   B<string, optional>

=begin html

<br>This optional parameter specifies that a guest user coming from any untrusted domain can be mapped to specified UNIX user.

=end html

=back



=over 2

=item * I<is-admin-users-mapped-to-root-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies that if name-mapping is not present for members of BUILTIN\Administrators group then whether they can be mapped to Unix User 'root'. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-advanced-sparse-file-support-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether advanced sparse file capabilities, such as Query Allocated Ranges and Set Zero Data, are enabled on the CIFS server.

=end html

=back



=over 2

=item * I<is-advertise-dfs-enabled>  =>   B<boolean, optional>

=begin html

<br>(DEPRECATED) This optional parameter specifies whether to advertise DFS referral of the CIFS protocol. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-client-dup-detection-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server should detect duplicate sessions coming from the same SMB 1.0 client with VcNumber of zero (0). The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-client-version-reporting-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether to report the client version through ASUP. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-copy-offload-direct-copy-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the Direct-Copy Copy Offload mechanism is enabled or not. Default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-copy-offload-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server is capable of performing copy offload operation. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-dac-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server supports Dynamic Access Control. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-exportpolicy-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server uses export policies to control client access. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-fake-open-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server supports fake open requests. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-fsctl-file-level-trim-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether trim requests (FSCTL_FILE_LEVEL_TRIM) are supported on the cifs server. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-hide-dotfiles-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server should hide files and directories beginning with a dot '.' during directory enumeration. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-large-mtu-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies that the SMB 2.1 Large MTU feature is supported. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-local-auth-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether CIFS local users can authenticate.

=end html

=back



=over 2

=item * I<is-local-users-and-groups-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS local users and groups feature is enabled on the cluster.

=end html

=back



=over 2

=item * I<is-multichannel-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server supports Multichannel or not. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-nbns-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies that NBNS (port 137) is enabled or not. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-netbios-over-tcp-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies that the use of NetBIOS over TCP (port 139) is enabled or not. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-path-component-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS path component cache is enabled for SMB2 or not. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-path-component-cache-symlink-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS symlink resolution for path component cache is enabled for SMB2 or not. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-read-only-delete-enabled>  =>   B<enable, optional>

=begin html

<br>This optional parameter specifies that a file can be deleted using UNIX delete semantics when the DOS read-only bit is enabled. Possible values: <ul> <li> "enabled" , <li> "disabled" </ul>

=end html

=back



=over 2

=item * I<is-referral-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server refers clients to more optimal data access paths (LIFs). The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-search-short-names-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server supports searching short names. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-shadowcopy-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server is capable of performing shadow copy operations. Directories and files within a FlexGroup will not be shadow copied because FlexGroups do not support shadow copy.

=end html

=back



=over 2

=item * I<is-smb1-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server negotiates the SMB1 versions of the CIFS protocol. The default value for this parameter is true for Vservers with Infinite Volume. For other data Vservers, the default value is false.

=end html

=back



=over 2

=item * I<is-smb2-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server negotiates the SMB2 versions of the CIFS protocol. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-smb3-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server negotiates the SMB3 version of the CIFS protocol. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-smb31-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server negotiates the SMB3.1 version of the CIFS protocol. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<is-trusted-domain-enum-search-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server is capable of performing enumeration of trusted domains and search to map a UNIX user to a Windows user.

=end html

=back



=over 2

=item * I<is-unix-extensions-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether CIFS server is capable of supporting UNIX Extensions. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<is-unix-nt-acl-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether NT ACLs can be set on a volume with UNIX security-style.

=end html

=back



=over 2

=item * I<is-use-junctions-as-reparse-points-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server exposes junction points as reparse points to Windows clients.

=end html

=back



=over 2

=item * I<max-connections-per-session>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum number of connections allowed per Multichannel session. The default value for this parameter is 32.

=end html

=back



=over 2

=item * I<max-file-write-zero-length>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum length of data in bytes that the CIFS server can write zero with one CIFS request. This parameter accepts data lengths between 4 KB and 32 MB. The default value for this option is 32 MB.

=end html

=back



=over 2

=item * I<max-lifs-per-session>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum number of network interfaces advertised per Multichannel session. The default value for this parameter is 256.

=end html

=back



=over 2

=item * I<max-mpx>  =>   B<integer, optional>

=begin html

<br>This option controls maximum simultaneous operations the CIFS server reports it can process per TCP connection. The default value for this option is 255.

=end html

=back



=over 2

=item * I<max-opens-same-file-per-tree>  =>   B<integer, optional>

=begin html

<br>This option controls maximum existing opens on the same file per CIFS Tree. The default value for this option is 1000.

=end html

=back



=over 2

=item * I<max-same-tree-connect-per-session>  =>   B<integer, optional>

=begin html

<br>This option controls maximum simultaneous CIFS connections to the same share per CIFS session. The default value for this option is 5000.

=end html

=back



=over 2

=item * I<max-same-user-sessions-per-connection>  =>   B<integer, optional>

=begin html

<br>This option controls maximum simultaneous sessions by the same user per TCP connection. The default value for this option is 2500.

=end html

=back



=over 2

=item * I<max-watches-set-per-tree>  =>   B<integer, optional>

=begin html

<br>This option controls maximum watches that can be set per CIFS Tree. The default value for this option is 500.

=end html

=back



=over 2

=item * I<path-component-cache-entry-exp-time>  =>   B<integer, optional>

=begin html

<br>This optional parameter controls the time in milliseconds when the path component cache entry would be considered fresh. The default value for this parameter is 15000 milliseconds.

=end html

=back



=over 2

=item * I<path-component-cache-max-entries>  =>   B<integer, optional>

=begin html

<br>This optional parameter control the maximum number of cache entries in one instance of path component cache. The default value for this parameter is 5000.

=end html

=back



=over 2

=item * I<path-component-cache-max-session-token-size>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies maximum session token size for path component cache for SMB2. The default value for this parameter is 1000.

=end html

=back



=over 2

=item * I<path-component-cache-symlink-exp-time>  =>   B<integer, optional>

=begin html

<br>This optional parameter controls the time in milliseconds when the path component cache entry that is symlink would be considered fresh. The default value for this parameter is 15000 milliseconds.

=end html

=back



=over 2

=item * I<read-grants-execute>  =>   B<enable, optional>

=begin html

<br>On a file with UNIX Style security effective on it, if the file has read permission on it, a CIFS user would be allowed to execute permissions if this option is enabled. Possible values: <ul> <li> "enabled" , <li> "disabled" </ul>

=end html

=back



=over 2

=item * I<restrict-anonymous>  =>   B<anonymous-restriction-level, optional>

=begin html

<br>This optional parameter specifies what level of access will a non authenticated user get Possible values: <ul> <li> "no_restriction" - No Access Restriction for Anonymous User., <li> "no_enumeration" - Only Enumeration Is Restricted., <li> "no_access" - Access Restricted for Anonymous User. </ul>

=end html

=back



=over 2

=item * I<shadowcopy-dir-depth>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum depth of directories to shadow copy. Directories and files within a FlexGroup will not be shadow copied because FlexGroups do not support shadow copy.

=end html

=back



=over 2

=item * I<smb1-max-buffer-size>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum buffer size used for SMB1 message that the server can receive. The default value for this parameter is 65535.

=end html

=back



=over 2

=item * I<widelink-as-reparse-point-versions>  =>   B<cifs-dialects[], optional>

=begin html

<br>This optional parameter specifies for which CIFS protocol versions widelink will be reported as reparse points. The default value for this parameter is SMB1. Possible values: <ul> <li> "smb1" - SMB 1.0, <li> "smb2" - SMB 2.0, <li> "smb2_1" - SMB 2.1, <li> "smb3" - SMB 3.0, <li> "smb3_1" - SMB 3.1 </ul>

=end html

=back



=over 2

=item * I<win-name-for-null-user>  =>   B<string, optional>

=begin html

<br>This optional parameter specifies a valid Windows user or group name that will be added to the CIFS credentials for a NULL user Session.

=end html

=back



=over 2

=item * I<wins-servers>  =>   B<inet-address[], optional>

=begin html

<br>List of Windows Internet Name Service (WINS) IP addresses. The Vserver will send NetBIOS name resolution requests to these addresses.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_password_change

[B<Family:> vserver]


=begin html

Generate a new password for the CIFS server's machine account and change it in the Windows Active Directory domain.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_password_reset

[B<Family:> vserver]


=begin html

Reset the CIFS server's machine account password in the Windows Active Directory domain. This may be required if the password stored along with the machine account in the Windows Active Directory domain is changed or reset without the Vserver's knowledge. This operation requires the credentials for a user with permission to reset the password in the organizational unit (OU) that the machine account is a member of.

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string>

=begin html

<br>Account password for the admin-username.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string>

=begin html

<br>Username of a user with permission to reset the password in the organizational unit (OU) that the machine account is a member of. This user is expected to be part of the same Windows Active Directory domain as the CIFS server. If the specified username is not part of the same domain but part of a domain that has a trust relationship with the CIFS server's domain, the username can be specified as '<username> @ <FQDN>' where FQDN is the fully qualified domain name of the domain of which the user is a member.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_privilege_add_privilege

[B<Family:> vserver]


=begin html

Add privileges to a local or Active Directory user or group

=end html



B<Inputs>

=over 2

=item * I<privileges>  =>   B<cifs-privilege-entries[]>

=begin html

<br>Privileges

=end html

=back



=over 2

=item * I<user-or-group-name>  =>   B<cifs-name>

=begin html

<br>User or Group Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_privilege_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of local groups

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-privilege">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-privilege">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-privilege object. All cifs-privilege objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-privilege">[], optional>

=begin html

<br>The list of attributes of cifs-privilege objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-privilege objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_privilege_remove_privilege

[B<Family:> vserver]


=begin html

Remove privileges from a local or Active Directory user or group

=end html



B<Inputs>

=over 2

=item * I<privileges>  =>   B<cifs-privilege-entries[]>

=begin html

<br>Privileges

=end html

=back



=over 2

=item * I<user-or-group-name>  =>   B<cifs-name>

=begin html

<br>User or Group Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_privilege_reset_privilege

[B<Family:> vserver]


=begin html

Reset privileges for a local or Active Directory user or group

=end html



B<Inputs>

=over 2

=item * I<user-or-group-name>  =>   B<cifs-name>

=begin html

<br>User or Group Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_security_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of cifs-security objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-security">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-security">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-security object. All cifs-security objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-security">[], optional>

=begin html

<br>The list of attributes of cifs-security objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-security objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_security_modify

[B<Family:> vserver]


=begin html

Modify the security configuration of a CIFS server.

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string, optional>

=begin html

<br>The password of the account with administrative privilege for the Active Directory domain to which the CIFS server is joined. This part of the credential may need to be supplied if the AES encryption is being enabled or disabled.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string, optional>

=begin html

<br>The username of the account with administrative privilege for the Active Directory domain to which the CIFS server is joined. This part of the credential may need to be supplied if the AES encryption is being enabled or disabled.

=end html

=back



=over 2

=item * I<is-aes-encryption-enabled>  =>   B<boolean, optional>

=begin html

<br>This option determines whether AES-128 and AES-256 encryption mechanisms are enabled for Kerberos-related CIFS communication. By default this option is true.

=end html

=back



=over 2

=item * I<is-password-complexity-required>  =>   B<boolean, optional>

=begin html

<br>This option determines whether password complexity is required for local users. By default this option is true.

=end html

=back



=over 2

=item * I<is-signing-required>  =>   B<boolean, optional>

=begin html

<br>This option determines whether signing is required for incoming CIFS traffic. By default this option is false.

=end html

=back



=over 2

=item * I<is-smb-encryption-required>  =>   B<boolean, optional>

=begin html

<br>This option determines whether SMB encryption is required for incoming CIFS traffic. By default this option is false.

=end html

=back



=over 2

=item * I<kerberos-clock-skew>  =>   B<integer, optional>

=begin html

<br>The clock skew in minutes is the tolerance for accepting tickets with time stamps that do not exactly match the host's system clock.

=end html

=back



=over 2

=item * I<kerberos-kdc-timeout>  =>   B<integer, optional>

=begin html

<br>This option determines the timeout value in seconds for KDC connections.

=end html

=back



=over 2

=item * I<kerberos-renew-age>  =>   B<integer, optional>

=begin html

<br>This option determines the maximum amount of time in days for which a ticket can be renewed.

=end html

=back



=over 2

=item * I<kerberos-ticket-age>  =>   B<integer, optional>

=begin html

<br>This option determines the maximum amount of time in hours that a user's ticket may be used for the purpose of Kerberos authentication.

=end html

=back



=over 2

=item * I<lm-compatibility-level>  =>   B<lm-compatibility-level, optional>

=begin html

<br>This option determines the LM compatibility level. By default this option is 'LM, NTLM, NTLMv2 and Kerberos'. Possible values: <ul> <li> "lm_ntlm_ntlmv2_krb" - Accepts LM, NTLM, NTLMv2 and Kerberos, <li> "ntlm_ntlmv2_krb" - Accepts NTLM, NTLMv2 and Kerberos, <li> "ntlmv2_krb" - Accepts NTLMv2 and Kerberos, <li> "krb" - Accepts Kerberos only </ul>

=end html

=back



=over 2

=item * I<session-security-for-ad-ldap>  =>   B<ldap-security, optional>

=begin html

<br>This option determines the level of security required for LDAP communications. By default this option is none. Possible values: <ul> <li> "none" - No Signing or Sealing., <li> "sign" - Sign LDAP traffic., <li> "seal" - Seal and Sign LDAP traffic </ul>

=end html

=back



=over 2

=item * I<smb1-enabled-for-dc-connections>  =>   B<system-default-bool, optional>

=begin html

<br>This option determines if SMB version 1 is used for connections to domain controllers. Possible values: <ul> <li> "false" , <li> "true" , <li> "system_default" </ul>

=end html

=back



=over 2

=item * I<smb2-enabled-for-dc-connections>  =>   B<system-default-bool, optional>

=begin html

<br>This option determines if SMB version 2 is used for connections to domain controllers. Possible values: <ul> <li> "false" , <li> "true" , <li> "system_default" </ul>

=end html

=back



=over 2

=item * I<use-start-tls-for-ad-ldap>  =>   B<boolean, optional>

=begin html

<br>This option determines whether to use start_tls for AD LDAP connections. By default this option is false.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_server_add_netbios_aliases

[B<Family:> vserver]


=begin html

Add NetBIOS aliases for the CIFS server name

=end html



B<Inputs>

=over 2

=item * I<netbios-aliases>  =>   B<netbios-name[]>

=begin html

<br>List of NetBIOS Aliases

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_server_create

[B<Family:> vserver]


=begin html

Configure and setup CIFS services on a Vserver. If joining a domain, this command may take several minutes to complete.

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string, optional>

=begin html

<br>The password for the account used to add this CIFS server to the Active Directory.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string, optional>

=begin html

<br>The username of the account used to add this CIFS server to the Active Directory.

=end html

=back



=over 2

=item * I<administrative-status>  =>   B<service-state, optional>

=begin html

<br>CIFS Server Administrative Status Possible values: <ul> <li> "down" , <li> "up" </ul>

=end html

=back



=over 2

=item * I<cifs-server>  =>   B<netbios-name>

=begin html

<br>The NetBIOS name of the CIFS server.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>CIFS Server Description

=end html

=back



=over 2

=item * I<default-site>  =>   B<string, optional>

=begin html

<br>The default site used by LIFs that do not have a site membership.

=end html

=back



=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>The fully qualified domain name of the Windows Active Directory this CIFS server belongs to.

=end html

=back



=over 2

=item * I<force-account-overwrite>  =>   B<boolean, optional>

=begin html

<br>If this is set and a machine account with the same name as specified in 'cifs-server' exists in the Active Directory, it will be overwritten and reused. The default value for this field is false.

=end html

=back



=over 2

=item * I<keytab-uri>  =>   B<uri, optional>

=begin html

<br>Kerberos Keytab File URI

=end html

=back



=over 2

=item * I<netbios-aliases>  =>   B<netbios-name[], optional>

=begin html

<br>List of NetBIOS Aliases

=end html

=back



=over 2

=item * I<organizational-unit>  =>   B<string, optional>

=begin html

<br>The Organizational Unit (OU) within the Windows Active Directory this CIFS server belongs to.

=end html

=back



=over 2

=item * I<realm>  =>   B<string, optional>

=begin html

<br>The Kerberos realm this CIFS server belongs to.

=end html

=back



=over 2

=item * I<workgroup>  =>   B<netbios-name, optional>

=begin html

<br>The name of the workgroup this CIFS server belongs to

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_server_delete

[B<Family:> vserver]


=begin html

Delete a CIFS server. If the admin-username and admin-password are not specified, the CIFS server's machine account will not be deleted from the Windows Active Directory domain. The deletion of the CIFS server will also delete the CIFS shares associated with it.

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string, optional>

=begin html

<br>Account password for the admin-username.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string, optional>

=begin html

<br>A user account name that has sufficient privileges in the Windows Active Directory domain to delete the CIFS server's machine account.

=end html

=back



=over 2

=item * I<force-account-delete>  =>   B<boolean, optional>

=begin html

<br>If this is set, the local CIFS configuration will be deleted irrespective of any communication errors. The default value for this field is false.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_server_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of CIFS servers on the cluster and their basic configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-server-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-server-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-server object. All cifs-server objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-server-config">[], optional>

=begin html

<br>The list of attributes of cifs-server objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-server objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_server_modify

[B<Family:> vserver]


=begin html

Modify the basic properties of a CIFS server. If re-joining the current domain or joining a new one, this command may take several minutes to complete.

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string, optional>

=begin html

<br>The password for the account used to add this CIFS server to the Active Directory. This part of the credential only needs to be supplied if the domain is being modified.

=end html

=back



=over 2

=item * I<admin-username>  =>   B<string, optional>

=begin html

<br>The username of the account used to add this CIFS server to the Active Directory. This part of the credential only needs to be supplied if the domain is being modified.

=end html

=back



=over 2

=item * I<administrative-status>  =>   B<service-state, optional>

=begin html

<br>CIFS Server Administrative Status. Possible values: <ul> <li> "down" , <li> "up" </ul>

=end html

=back



=over 2

=item * I<cifs-server>  =>   B<netbios-name, optional>

=begin html

<br>The name of the CIFS server (up to 15 characters).

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>CIFS Server Description

=end html

=back



=over 2

=item * I<default-site>  =>   B<string, optional>

=begin html

<br>The default site used by LIFs that do not have a site membership.

=end html

=back



=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>The fully qualified domain name of the Windows Active Directory this CIFS server belongs to. Example: cifs.domain.com

=end html

=back



=over 2

=item * I<force-account-overwrite>  =>   B<boolean, optional>

=begin html

<br>If this is set and the domain is being modified, and a machine account with the same name as the current Vserver's CIFS server name exists in the Active Directory, it will be overwritten and reused. The default value for this field is false.

=end html

=back



=over 2

=item * I<ou>  =>   B<string, optional>

=begin html

<br>The organizational unit within the Active Directive domain to associate with the CIFS server.

=end html

=back



=over 2

=item * I<workgroup>  =>   B<netbios-name, optional>

=begin html

<br>The name of the workgroup this CIFS server belongs to. If this input is not specified, it is not modified.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_server_remove_netbios_aliases

[B<Family:> vserver]


=begin html

Remove NetBIOS aliases

=end html



B<Inputs>

=over 2

=item * I<netbios-aliases>  =>   B<netbios-name[]>

=begin html

<br>List of NetBIOS Aliases

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_server_start

[B<Family:> vserver]


=begin html

Start a CIFS server on the specified Vserver. The CIFS server must already exist. To create a CIFS server, use cifs-server-create.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_server_stop

[B<Family:> vserver]


=begin html

Stop a CIFS server on the specified Vserver. Note that established sessions will be terminated and their open files closed. Workstations with cached data will not be able to save those changes, which could result in data loss.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_session_close

[B<Family:> cluster, vserver]


=begin html

Close an open CIFS session

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>The ip address of the workstation from which the session is opened.

=end html

=back



=over 2

=item * I<auth-mechanism>  =>   B<auth-mechanism, optional>

=begin html

<br>The authentication mechanism used to establish the session.

=end html

=back



=over 2

=item * I<connection-id>  =>   B<integer, optional>

=begin html

<br>The connection that is used to establish the session.

=end html

=back



=over 2

=item * I<continuously-available>  =>   B<cifs-ca-protection, optional>

=begin html

<br>The type of continuous avalability protection provided to the session.

=end html

=back



=over 2

=item * I<is-session-signed>  =>   B<boolean, optional>

=begin html

<br>The status of SMB signing that is happening over the CIFS session.

=end html

=back



=over 2

=item * I<lif-address>  =>   B<ip-address, optional>

=begin html

<br>The data lif that is used to establish the session.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node on which the session listing is done.

=end html

=back



=over 2

=item * I<protocol-version>  =>   B<cifs-dialects, optional>

=begin html

<br>The CIFS protocol version that is used to establish the session.

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>The unique identifier for the session.

=end html

=back



=over 2

=item * I<smb-encryption-status>  =>   B<smb-encryption, optional>

=begin html

<br>The status of SMB encryption that is happening over the CIFS session.

=end html

=back



=over 2

=item * I<unix-user>  =>   B<string, optional>

=begin html

<br>The name of the UNIX user for which the session is established.

=end html

=back



=over 2

=item * I<windows-user>  =>   B<string, optional>

=begin html

<br>The name of the CIFS user for which the session is established.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_session_file_close

[B<Family:> cluster, vserver]


=begin html

Close an open CIFS file.

=end html



B<Inputs>

=over 2

=item * I<connection-id>  =>   B<integer, optional>

=begin html

<br>The connection that is used to open the file.

=end html

=back



=over 2

=item * I<file-id>  =>   B<integer, optional>

=begin html

<br>The unique identifier for the opened file.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node on which the file listing is done.

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>The session under which file is opened.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_session_file_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of the opened CIFS files.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-session-file">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-session-file">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-session-file object. All cifs-session-file objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-session-file">[], optional>

=begin html

<br>The list of attributes of cifs-session-file objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-session-file objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_session_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of the established CIFS sessions.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-session">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-session">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-session object. All cifs-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-session">[], optional>

=begin html

<br>The list of attributes of cifs-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_share_access_control_create

[B<Family:> vserver]


=begin html

Add permissions for a user or group for a defined CIFS share.

=end html



B<Inputs>

=over 2

=item * I<permission>  =>   B<cifs-access-perms>

=begin html

<br>The access rights that the user or group has on the defined CIFS share. Possible values: <ul> <li> "no_access" - No access, <li> "read" - Read, <li> "change" - Change, <li> "full_control" - Full Control, <li> "custom" - Custom </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the cifs-share-access-control on successful creation. Default: false

=end html

=back



=over 2

=item * I<share>  =>   B<string>

=begin html

<br>The CIFS share for which the permissions are defined.

=end html

=back



=over 2

=item * I<user-group-type>  =>   B<string, optional>

=begin html

<br>The type of user for which ACL is configured. Default value is windows. Possible values: <ul> <li> "windows" - Windows User or Group., <li> "unix_user" - Unix User., <li> "unix_group" - Unix Group. </ul>

=end html

=back



=over 2

=item * I<user-or-group>  =>   B<string>

=begin html

<br>The user or group name for which the permissions are listed.

=end html

=back



=over 2

=item * I<winsid>  =>   B<windows-sid, optional>

=begin html

<br>The Windows SID for the user or group for which the permission is defined.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"cifs-share-access-control">, optional>

=begin html

<br>The cifs-share-access-control created (keys or the entire object if requested)

=end html

=back



=head2 cifs_share_access_control_delete

[B<Family:> vserver]


=begin html

Remove permissions for a user or group on a defined CIFS share.

=end html



B<Inputs>

=over 2

=item * I<share>  =>   B<string>

=begin html

<br>The CIFS share for which the permissions are defined.

=end html

=back



=over 2

=item * I<user-group-type>  =>   B<string, optional>

=begin html

<br>The type of user for which ACL is configured. Default value is windows. Possible values: <ul> <li> "windows" - Windows User or Group., <li> "unix_user" - Unix User., <li> "unix_group" - Unix Group. </ul>

=end html

=back



=over 2

=item * I<user-or-group>  =>   B<string>

=begin html

<br>The user or group name for which the permissions are listed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_share_access_control_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of permissions on defined CIFS shares.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-share-access-control">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-share-access-control">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-share-access-control object. All cifs-share-access-control objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-share-access-control">[], optional>

=begin html

<br>The list of attributes of cifs-share-access-control objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-share-access-control objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_share_access_control_modify

[B<Family:> vserver]


=begin html

Modify the permissions for a user or group on a defined CIFS share.

=end html



B<Inputs>

=over 2

=item * I<permission>  =>   B<cifs-access-perms, optional>

=begin html

<br>The access rights that the user or group has on the defined CIFS share. Possible values: <ul> <li> "no_access" - No access, <li> "read" - Read, <li> "change" - Change, <li> "full_control" - Full Control, <li> "custom" - Custom </ul>

=end html

=back



=over 2

=item * I<share>  =>   B<string>

=begin html

<br>The CIFS share for which the permissions are defined.

=end html

=back



=over 2

=item * I<user-group-type>  =>   B<string, optional>

=begin html

<br>The type of user for which ACL is configured. Default value is windows. Possible values: <ul> <li> "windows" - Windows User or Group., <li> "unix_user" - Unix User., <li> "unix_group" - Unix Group. </ul>

=end html

=back



=over 2

=item * I<user-or-group>  =>   B<string>

=begin html

<br>The user or group name for which the permissions are listed.

=end html

=back



=over 2

=item * I<winsid>  =>   B<windows-sid, optional>

=begin html

<br>The Windows SID for the user or group for which the permission is defined.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_share_create

[B<Family:> vserver]


=begin html

Creates a new CIFS share rooted at the specified path.

=end html



B<Inputs>

=over 2

=item * I<attribute-cache-ttl>  =>   B<integer, optional>

=begin html

<br>The lifetime of an entry in the file attribute cache, in seconds. This value is used if the share has the 'attributecache' property set, which improves the performance of certain metadata operations in common workloads. The default is 10 seconds. Raising this value may improve performance, but the likelihood that stale metadata will be served increases as well. The value of this field must be in the range of 1 to 86400.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>This string gives a description of the CIFS share. CIFS clients see this description when browsing the Vserver's CIFS shares.

=end html

=back



=over 2

=item * I<dir-umask>  =>   B<integer, optional>

=begin html

<br>The value of this field controls the file mode creation mask for the CIFS share in qtrees with UNIX or Mixed security styles. The mask restricts the initial permissions setting of a newly created directory. The input value is a numeric mode comprising of one to three octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. The first digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the second selects permissions for other users in the file's group, with the same values; and the third for other users not in the file's group, with the same values.

=end html

=back



=over 2

=item * I<file-umask>  =>   B<integer, optional>

=begin html

<br>The value of this field controls the file mode creation mask for the CIFS share in qtrees with UNIX or Mixed security styles. The mask restricts the initial permissions setting of a newly created file. The input value is a numeric mode comprising of one to three octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. The first digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the second selects permissions for other users in the file's group, with the same values; and the third for other users not in the file's group, with the same values.

=end html

=back



=over 2

=item * I<force-group-for-create>  =>   B<string, optional>

=begin html

<br>If specified, all files created by CIFS users in a specific share belong to the same group (also called the "force-group"). The "force-group" must be a predefined group in the UNIX group database. This setting has no effect unless the security style of the volume is UNIX or mixed security style. By default this option will be disabled.

=end html

=back



=over 2

=item * I<is-path-validation-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS Share Path validation is enabled or not. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<max-connections-per-share>  =>   B<integer, optional>

=begin html

<br>If specified, gives the maximum number of simultaneous connections to the new share. It must be a positive number. The default value is 4294967295.

=end html

=back



=over 2

=item * I<offline-files-mode>  =>   B<string, optional>

=begin html

<br>Mode of the offline file for the CIFS share. The default value is manual. Possible values: <ul> <li> "none" - Clients are not permitted to cache files for offline access., <li> "manual" - Clients may cache files that are explicitly selected by the user for offline use., <li> "documents" - Clients may automatically cache files that are used by the user for offline access., <li> "programs" - Clients may automatically cache files that are used by the user for offline access and may use those files in an offline mode even if the share is available. </ul>

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The file system path that is shared through this CIFS share.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the cifs-share on successful creation. Default: false

=end html

=back



=over 2

=item * I<share-name>  =>   B<string>

=begin html

<br>The name of the CIFS share. The CIFS share name is a UTF-8 string with the following characters being illegal: control characters from 0x00 to 0x1F, both inclusive, 0x22 (double quotes) and the characters \/[]:|<>+=;,?"*

=end html

=back



=over 2

=item * I<share-properties>  =>   B<cifs-share-properties[], optional>

=begin html

<br>The list of properties for this CIFS share. Possible values: <ul> <li> "oplocks" - This specifies that opportunistic locks (client-side caching) are enabled on this share., <li> "browsable" - This specifies that the share can be browsed by Windows clients., <li> "showsnapshot" - This specifies that Snapshots can be viewed and traversed by clients., <li> "changenotify" - This specifies that CIFS clients can request for change notifications for directories on this share. If the path of the share is within a FlexGroup, change notifications are not sent because FlexGroups do not support Change Notify., <li> "homedirectory" - This specifies that the share is added and enabled as part of the CIFS home directory feature. The configuration of this share should be done using CIFS home directory feature interface. This property can only be set during the create process and cannot be altered later. <li> "attributecache" - This specifies that connections through this share are caching attributes for a short time to improve performance. <li> "branchcache" - This specifies that clients connecting to this share can make requests using BranchCache technology that allows them to cache the content in an attempt to reduce WAN utilization from a remote office. <li> "continuously_available" - This specifies that clients connecting to this share can open files in a persistent manner. Files opened this way are protected from disruptive events, such as failover and giveback. This property is not supported for FlexGroups. <li> "shadowcopy" - This specifies that the share is pointing to a shadow copy. This attribute cannot be added nor removed from a share. <li> "access_based_enumeration" - This specifies that Access Based Enumeration is enabled on this share. ABE-filtered shared folders are visible to a user based on that individual user's access rights, preventing the display of folders or other shared resources that the user does not have rights to access. <li> "namespace_caching" - This specifies that the SMB clients connecting to this share can cache the directory enumeration results returned by the CIFS servers. <li> "encrypt_data" - This specifies that SMB encryption must be used when accessing this share. Clients that do not support encryption will not be able to access this share. <li> "show_previous_versions" - This property specifies that the previous version can be viewed and restored from the client. This property is enabled by default. </ul>

=end html

=back



=over 2

=item * I<symlink-properties>  =>   B<cifs-share-symlink-properties[], optional>

=begin html

<br>This flag controls whether the symlinks under this shared directory are hidden (option 'hide'), accessible (option 'enable') or are accessible as read-only (option 'read-only' along with option 'enable'). It controls whether only symlinks which have targets on this server can be resolved by a CIFS client (option 'symlinks') or if all symlinks can be resolved (option 'symlinks_and_widelinks'). It controls whether symlinks can have targets outside the client's share (obsolete option 'no_strict_security'). It controls whether no symlinks can be resolved (option 'disable'). Possible values: <ul> <li> "enable" (DEPRECATED) Enable both local symlinks and wide links for read-write, <li> "hide" (DEPRECATED) Hide both symlinks and wide links, <li> "read_only" (DEPRECATED) Enable symlinks for read-only, <li> "symlinks" Enable symlinks only for read-write, DFS is not advertised, <li> "symlinks_and_widelinks" Enable both local symlinks and wide links, DFS is advertised, <li> "disable" Disable both local symlinks and wide links, DFS is not advertised <li> "no_strict_security" (OBSOLETE) Allow clients to follow symlinks beyond share boundaries </ul>

=end html

=back



=over 2

=item * I<vscan-fileop-profile>  =>   B<vscan-fileop-profile, optional>

=begin html

<br>Profile-set of file-ops to which Vscan On-Access scanning is applicable. The default value is standard. Possible values: <ul> <li> "no_scan" - Virus scans are never triggered for accesses to this share, <li> "standard" - Virus scans can be triggered by open, close, and rename operations, <li> "strict" - Virus scans can be triggered by open, read, close, and rename operations, <li> "writes_only" - Virus scans can be triggered only when a file that has been modified is closed. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"cifs-share">, optional>

=begin html

<br>The cifs-share created (keys or the entire object if requested)

=end html

=back



=head2 cifs_share_delete

[B<Family:> vserver]


=begin html

Deletes the specified CIFS share.

=end html



B<Inputs>

=over 2

=item * I<share-name>  =>   B<string>

=begin html

<br>The name of the CIFS share. The CIFS share name is a UTF-8 string with the following characters being illegal: control characters from 0x00 to 0x1F, both inclusive, 0x22 (double quotes) and the characters \/[]:|<>+=;,?"*

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_share_get_iter

[B<Family:> cluster, vserver]


=begin html

Gives information about one or more CIFS shares.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-share">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-share">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-share object. All cifs-share objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-share">[], optional>

=begin html

<br>The list of attributes of cifs-share objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-share objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_share_modify

[B<Family:> vserver]


=begin html

Modifies settings of a CIFS share, even if the shares are in use.

=end html



B<Inputs>

=over 2

=item * I<attribute-cache-ttl>  =>   B<integer, optional>

=begin html

<br>The lifetime of an entry in the file attribute cache, in seconds. This value is used if the share has the 'attributecache' property set, which improves the performance of certain metadata operations in common workloads. The default is 10 seconds. Raising this value may improve performance, but the likelihood that stale metadata will be served increases as well. The value of this field must be in the range of 1 to 86400.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>This string gives a description of the CIFS share. CIFS clients see this description when browsing the Vserver's CIFS shares.

=end html

=back



=over 2

=item * I<dir-umask>  =>   B<integer, optional>

=begin html

<br>The value of this field controls the file mode creation mask for the CIFS share in qtrees with UNIX or Mixed security styles. The mask restricts the initial permissions setting of a newly created directory. The input value is a numeric mode comprising of one to three octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. The first digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the second selects permissions for other users in the file's group, with the same values; and the third for other users not in the file's group, with the same values.

=end html

=back



=over 2

=item * I<file-umask>  =>   B<integer, optional>

=begin html

<br>The value of this field controls the file mode creation mask for the CIFS share in qtrees with UNIX or Mixed security styles. The mask restricts the initial permissions setting of a newly created file. The input value is a numeric mode comprising of one to three octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. The first digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the second selects permissions for other users in the file's group, with the same values; and the third for other users not in the file's group, with the same values.

=end html

=back



=over 2

=item * I<force-group-for-create>  =>   B<string, optional>

=begin html

<br>This optional parameter specifies that all files that CIFS users create in a specific share belong to the same group (also called the "force-group"). The "force-group" must be a predefined group in the UNIX group database. This setting has no effect unless the security style of the volume is UNIX or mixed security style. You can disable this option by passing a null string "".

=end html

=back



=over 2

=item * I<is-path-validation-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS Share Path validation is enabled or not.

=end html

=back



=over 2

=item * I<max-connections-per-share>  =>   B<integer, optional>

=begin html

<br>If specified, gives the maximum number of simultaneous connections to the new share. It must be a positive number.

=end html

=back



=over 2

=item * I<offline-files-mode>  =>   B<string, optional>

=begin html

<br>Mode of the offline file for the CIFS share. The default value is manual. Possible values: <ul> <li> "none" - Clients are not permitted to cache files for offline access., <li> "manual" - Clients may cache files that are explicitly selected by the user for offline use., <li> "documents" - Clients may automatically cache files that are used by the user for offline access., <li> "programs" - Clients may automatically cache files that are used by the user for offline access and may use those files in an offline mode even if the share is available. </ul>

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The file system path that is shared through this CIFS share.

=end html

=back



=over 2

=item * I<share-name>  =>   B<string>

=begin html

<br>The name of the CIFS share. The CIFS share name is a UTF-8 string with the following characters being illegal: control characters from 0x00 to 0x1F, both inclusive, 0x22 (double quotes) and the characters \/[]:|<>+=;,?"*

=end html

=back



=over 2

=item * I<share-properties>  =>   B<cifs-share-properties[], optional>

=begin html

<br>The list of properties for this CIFS share. Possible values: <ul> <li> "oplocks" - This specifies that opportunistic locks (client-side caching) are enabled on this share., <li> "browsable" - This specifies that the share can be browsed by Windows clients., <li> "showsnapshot" - This specifies that Snapshots can be viewed and traversed by clients., <li> "changenotify" - This specifies that CIFS clients can request for change notifications for directories on this share. If the path of the share is within a FlexGroup, change notifications are not sent because FlexGroups do not support Change Notify., <li> "homedirectory" - This specifies that the share is added and enabled as part of the CIFS home directory feature. The configuration of this share should be done using CIFS home directory feature interface. This property cannot be added or removed from existing share. <li> "attributecache" - This specifies that connections through this share are caching attributes for a short time to improve performance. <li> "branchcache" - This specifies that clients connecting to this share can make requests using BranchCache technology that allows them to cache the content in an attempt to reduce WAN utilization from a remote office. <li> "continuously_available" - This specifies that clients connecting to this share can open files in a persistent manner. Files opened this way are protected from disruptive events, such as failover and giveback. This property is not supported for FlexGroups. <li> "shadowcopy" - This specifies that the share is pointing to a shadow copy. This attribute cannot be added nor removed from a share. <li> "access_based_enumeration" - This specifies that Access Based Enumeration is enabled on this share. ABE-filtered shared folders are visible to a user based on that individual user's access rights, preventing the display of folders or other shared resources that the user does not have rights to access. <li> "namespace_caching" - This specifies that the SMB clients connecting to this share can cache the directory enumeration results returned by the CIFS servers. <li> "encrypt_data" - This specifies that SMB encryption must be used when accessing this share. Clients that do not support encryption will not be able to access this share. <li> "show_previous_versions" - This property specifies that the previous version can be viewed and restored from the client. This property is enabled by default. </ul>

=end html

=back



=over 2

=item * I<symlink-properties>  =>   B<cifs-share-symlink-properties[], optional>

=begin html

<br>This flag controls whether the symlinks under this shared directory are hidden (option 'hide'), accessible (option 'enable') or are accessible as read-only (option 'read-only' along with option 'enable'). It controls whether only symlinks which have targets on this server can be resolved by a CIFS client (option 'symlinks') or if all symlinks can be resolved (option 'symlinks_and_widelinks'). It controls whether symlinks can have targets outside the client's share (obsolete option 'no_strict_security'). It controls whether no symlinks can be resolved (option 'disable'). Possible values: <ul> <li> "enable" (DEPRECATED) Enable both local symlinks and wide links for read-write, <li> "hide" (DEPRECATED) Hide both symlinks and wide links, <li> "read_only" (DEPRECATED) Enable symlinks for read-only, <li> "symlinks" Enable symlinks only for read-write, DFS is not advertised, <li> "symlinks_and_widelinks" Enable both local symlinks and wide links, DFS is advertised, <li> "disable" Disable both local symlinks and wide links, DFS is not advertised <li> "no_strict_security" (OBSOLETE) Allow clients to follow symlinks beyond share boundaries </ul>

=end html

=back



=over 2

=item * I<vscan-fileop-profile>  =>   B<vscan-fileop-profile, optional>

=begin html

<br>Profile-set of file-ops to which Vscan On-Access scanning is applicable. Possible values: <ul> <li> "no_scan" - Virus scans are never triggered for accesses to this share, <li> "standard" - Virus scans can be triggered by open, close, and rename operations, <li> "strict" - Virus scans can be triggered by open, read, close, and rename operations, <li> "writes_only" - Virus scans can be triggered only when a file that has been modified is closed. </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_symlink_create

[B<Family:> vserver]


=begin html

Create a new CIFS symbolic link path mapping from a UNIX symlink to a target CIFS path. This symbolic link path mapping will be effective on symbolic links that have a prefix match with the value of 'unix-path'. e.g.: if the value of 'unix-path' is '/usr/local/' and there exists a symbolic link on the file system at '/home/user/link' which points to '/usr/local/share/dest'. If a CIFS client accesses the symbolic link 'link', this entry of path mapping would have a prefix match '/usr/local/'. The CIFS client would be redirected to the location pointed to by this path mapping's 'cifs-server', 'share-name' and 'cifs-path' fields.

=end html



B<Inputs>

=over 2

=item * I<cifs-path>  =>   B<string>

=begin html

<br>This field specifies the CIFS path on the destination to which the symbolic link maps. The final path is generated by concatenating the CIFS server name, the share name, the cifs-path and the remaining path in the symbolic link left after the prefix match. This value is specified by using a UNIX-style path name. The trailing forward slash is required for the full path name to be properly interpreted. This is a UTF-8 string and supports localization.

=end html

=back



=over 2

=item * I<cifs-server>  =>   B<string, optional>

=begin html

<br>This field specifies the destination CIFS server name for the mapping to which the symbolic link is mapped. The default is the local CIFS server. The field needs to be specified if the locality of the symbolic link is 'widelink'. This can be either a DNS name, NetBIOS name or an IP address. If a DNS name or a NetBIOS name are specified, the CIFS client configuration should be such that it is capable of resolving the CIFS server name to the correct IP address.

=end html

=back



=over 2

=item * I<home-directory>  =>   B<boolean, optional>

=begin html

<br>This field specifies whether the destination share is a home directory. If the value of this field is true, wildcard path elements in the destination path are replaced with specific values for the user accessing the symbolic link. Wildcard %w is replaced by the user's Windows name. Wildcard %u is replaced by the user's mapped Unix name. Wildcard %d is replaced by the domain to which the user belongs. The default value is false.

=end html

=back



=over 2

=item * I<locality>  =>   B<cifs-symlink-locality, optional>

=begin html

<br>This field specifies whether the CIFS symbolic link is a local link, free link or wide link. A local symbolic link maps to the local CIFS share. A free symlink maps to the local vserver. A wide symbolic link maps to any CIFS share on the network. If the CIFS server matches the VServer's NetBIOS name then the default value is local otherwise wide link. The symlink option 'freelink' is obsolete. Possible values: <ul> <li> "local" - Share on This VServer, <li> "widelink" - Share on Another CIFS Server, <li> "freelink" - Anywhere on This VServer (OBSOLETE) </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the cifs-symlink on successful creation. Default: false

=end html

=back



=over 2

=item * I<share-name>  =>   B<string, optional>

=begin html

<br>This field specifies the CIFS share name on the destination CIFS server to which the symbolic link is mapped. This is a UTF-8 string and supports localization.

=end html

=back



=over 2

=item * I<unix-path>  =>   B<string>

=begin html

<br>This field specifies the UNIX path prefix to be matched for the mapping. If the prefix of the target path in the symbolic link matches against this field, this entry of symbolic link path mapping would be used. The path is a UTF-8 string and supports localization. The path must start and end with a forward slash ('/'). For example '/usr/local/'.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"cifs-symlink">, optional>

=begin html

<br>The cifs-symlink created (keys or the entire object if requested)

=end html

=back



=head2 cifs_symlink_delete

[B<Family:> vserver]


=begin html

Delete a CIFS symbolic link path mapping.

=end html



B<Inputs>

=over 2

=item * I<unix-path>  =>   B<string>

=begin html

<br>This field specifies the UNIX path prefix to be matched for the mapping. If the prefix of the target path in the symbolic link matches against this field, this entry of symbolic link path mapping would be used. The path is a UTF-8 string and supports localization. The path must start and end with a forward slash ('/'). For example '/usr/local/'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_symlink_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of CIFS symbolic link path mappings.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-symlink">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-symlink">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-symlink object. All cifs-symlink objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-symlink">[], optional>

=begin html

<br>The list of attributes of cifs-symlink objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-symlink objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_symlink_modify

[B<Family:> vserver]


=begin html

Modify a CIFS symbolic link path mapping parameters.

=end html



B<Inputs>

=over 2

=item * I<cifs-path>  =>   B<string, optional>

=begin html

<br>This field specifies the CIFS path on the destination to which the symbolic link maps. The final path is generated by concatenating the CIFS server name, the share name, the cifs-path and the remaining path in the symbolic link left after the prefix match. This value is specified by using a UNIX-style path name. The trailing forward slash is required for the full path name to be properly interpreted. This is a UTF-8 string and supports localization.

=end html

=back



=over 2

=item * I<cifs-server>  =>   B<string, optional>

=begin html

<br>This field specifies the destination CIFS server name for the mapping to which the symbolic link is mapped. The default is the local CIFS server. The field needs to be specified if the locality of the symbolic link is 'widelink'. This can be either a DNS name, NetBIOS name or an IP address. If a DNS name or a NetBIOS name are specified, the CIFS client configuration should be such that it is capable of resolving the CIFS server name to the correct IP address.

=end html

=back



=over 2

=item * I<home-directory>  =>   B<boolean, optional>

=begin html

<br>This field specifies whether the destination share is a home directory. If the value of this field is true, wildcard path elements in the destination path are replaced with specific values for the user accessing the symbolic link. Wildcard %w is replaced by the user's Windows name. Wildcard %u is replaced by the user's mapped Unix name. Wildcard %d is replaced by the domain to which the user belongs. The default value is false.

=end html

=back



=over 2

=item * I<locality>  =>   B<cifs-symlink-locality, optional>

=begin html

<br>This field specifies whether the CIFS symbolic link is a local link, free link or wide link. A local symbolic link maps to the local CIFS share. A free symlink maps to the local vserver. A wide symbolic link maps to any CIFS share on the network. If the CIFS server matches the VServer's NetBIOS name then the default value is local otherwise wide link. The symlink option 'freelink' is obsolete. Possible values: <ul> <li> "local" - Share on This VServer, <li> "widelink" - Share on Another CIFS Server, <li> "freelink" - Anywhere on This VServer (OBSOLETE) </ul>

=end html

=back



=over 2

=item * I<share-name>  =>   B<string, optional>

=begin html

<br>This field specifies the CIFS share name on the destination CIFS server to which the symbolic link is mapped. This is a UTF-8 string and supports localization.

=end html

=back



=over 2

=item * I<unix-path>  =>   B<string>

=begin html

<br>This field specifies the UNIX path prefix to be matched for the mapping. If the prefix of the target path in the symbolic link matches against this field, this entry of symbolic link path mapping would be used. The path is a UTF-8 string and supports localization. The path must start and end with a forward slash ('/'). For example '/usr/local/'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cifs_user_home_directory_path_get

[B<Family:> vserver]


=begin html

Find the user's home directory based on user name

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-user-home-directory-path">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<username>  =>   B<string>

=begin html

<br>The name of CIFS user for which home directory path has to be found out.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cifs-user-home-directory-path">>

=begin html

<br>The attributes of the cifs-user-home-directory-path.

=end html

=back



=over 2

=item * I<out-username>  =>   B<string, optional>

=begin html

<br>Output User Name

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The path of home directory for the specified user name.

=end html

=back



=over 2

=item * I<share-name>  =>   B<string, optional>

=begin html

<br>The expanded share name for the user.

=end html

=back



=head2 cifs_user_home_directory_path_get_iter

[B<Family:> cluster, vserver]


=begin html

Find the user's home directory based on user name

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-user-home-directory-path">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-user-home-directory-path">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-user-home-directory-path object. All cifs-user-home-directory-path objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



=over 2

=item * I<username>  =>   B<string>

=begin html

<br>The name of CIFS user for which home directory path has to be found out.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-user-home-directory-path">[], optional>

=begin html

<br>The list of attributes of cifs-user-home-directory-path objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-user-home-directory-path objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=over 2

=item * I<out-username>  =>   B<string, optional>

=begin html

<br>Output User Name

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The path of home directory for the specified user name.

=end html

=back



=over 2

=item * I<share-name>  =>   B<string, optional>

=begin html

<br>The expanded share name for the user.

=end html

=back



=head2 cifs_users_and_group_local_group_members_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of local group members

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-users-and-group-local-group-members">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-users-and-group-local-group-members">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-users-and-group-local-group-members object. All cifs-users-and-group-local-group-members objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-users-and-group-local-group-members">[], optional>

=begin html

<br>The list of attributes of cifs-users-and-group-local-group-members objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-users-and-group-local-group-members objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cifs_users_and_group_local_user_membership_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve local users' membership information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cifs-users-and-group-local-user-membership">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cifs-users-and-group-local-user-membership">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cifs-users-and-group-local-user-membership object. All cifs-users-and-group-local-user-membership objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cifs-users-and-group-local-user-membership">[], optional>

=begin html

<br>The list of attributes of cifs-users-and-group-local-user-membership objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cifs-users-and-group-local-user-membership objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_charmap_get

[B<Family:> vserver]


=begin html

Return charmap information for a specified volume.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which to list the charmap information.

=end html

=back



B<Outputs>

=over 2

=item * I<charmap>  =>   B<string, optional>

=begin html

<br>A comma separated list of Unicode characters in the format of XX:XXXX. For example: 3f:ff76,3a:f3f4 wherein character 3f/3a which is invalid for windows, gets mapped to a character whose Unicode value is ff76/f3f4 respectively.

=end html

=back



=head2 volume_charmap_set

[B<Family:> vserver]


=begin html

Set the character mapping on a volume

=end html



B<Inputs>

=over 2

=item * I<charmap>  =>   B<string, optional>

=begin html

<br>A comma separated list of Unicode characters in the format of XX:XXXX. For example: 3f:ff76,3a:f3f4 wherein character 3f/3a which is invalid for windows, gets mapped to a character whose Unicode value is ff76/f3f4 respectively.

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>The name of the volume for which character mapping needs to be applied.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 clock_get_clock

[B<Family:> cluster, vserver]


=begin html

gets current date and time from filer.

=end html



B<Inputs>

=over 2

=item * I<is-compliance-clock>  =>   B<boolean, optional>

=begin html

<br>If true, then local-time and utc-time are values for the compliance clock, otherwise they are values for the local clock. Default is false. Note: This field is deprecated in Data ONTAP 8.1 and later. If true, the operation will fail with error EOPNOTSUPPORTED. Clients should use the API snaplock-get-system-compliance-clock or snaplock-get-volume-compliance-clock as applicable to get the compliance clock time.

=end html

=back



B<Outputs>

=over 2

=item * I<local-time>  =>   B<integer>

=begin html

<br>Local date and time of the filer in seconds since Midnight, 1/1/1970. Depending on the time zone and clock settings, this might be negative by up to 12 hours.

=end html

=back



=over 2

=item * I<utc-time>  =>   B<integer>

=begin html

<br>Current date and time of the filer in seconds since Midnight, 1/1/1970.

=end html

=back



=head2 clock_get_timezone

[B<Family:> cluster, vserver]


=begin html

Gets current timezone and timezone file version.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<timezone>  =>   B<string>

=begin html

<br>Current timezone name where the storage system is operating. A timezone can have one of the two formats: <ol> <li>"Using a location string specified in Arthur David Olsen's public domain time zone database. For example, "Americas/New_York" represents most of the Eastern Time Zone."; <li>"A traditional time zone abbreviation incorporating default rules for daylight savings time. For example, "EST5EDT" for the US Eastern Time Zone."; </ol>

=end html

=back



=over 2

=item * I<timezone-UTC>  =>   B<string>

=begin html

<br>Current timezone of the storage system in UTC +/-hhmm format. This indicates that the local time zone is hh hours and mm minutes ahead or behind UTC. For example, Central European Time(CET) is +0100 and U.S./Canadian Eastern Standard Time(EST) is -0500.

=end html

=back



=over 2

=item * I<timezone-version>  =>   B<string>

=begin html

<br>Version of the time zone database. "YYYY" is the year the data base was released and "v" is the version within that year. "YYYY" will be four decimal digits and "v" will be an ASCII letter starting with "a" and increasing with each version. For example, the second 2007 version is "2007b".

=end html

=back



=head2 clone_autodelete

[B<Family:> vserver]


=begin html

Enable autodelete on a file or lun clone. This command is only supported for flexible volumes.

=end html



B<Inputs>

=over 2

=item * I<clone-path>  =>   B<string>

=begin html

<br>Path of the file or the LUN inside the volume. It's relative if the volume name is specified otherwise it's absolute.

=end html

=back



=over 2

=item * I<enable>  =>   B<boolean>

=begin html

<br>If this field is true, autodelete will be allowed to delete the clone in try/disrupt mode. and if it is false, autodelete will not be allowed to delete the clone in try/disrupt mode. Note that this will be done only if the clone entry is already present in the clone auto delete metafile.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If this field is true, autodelete will be enabled on specified file or LUN by adding an entry in the clone auto delete metafile if it is not there, even if the specified file or LUN is not a clone. By default value is false.

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Name of the volume where the clone file or LUN reside.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 clone_autodelete_status

[B<Family:> vserver]


=begin html

Get the information about file or LUN clone autodeletion

=end html



B<Inputs>

=over 2

=item * I<clone-path>  =>   B<string>

=begin html

<br>Path of the file or LUN clone.

=end html

=back



B<Outputs>

=over 2

=item * I<clone-autodelete-info>  =>   B<L<"clone-autodelete-info">>

=begin html

<br>Information about file or LUN clone autodeletion.

=end html

=back



=head2 clone_create

[B<Family:> vserver]


=begin html

Create a file/sub file or LUN/sub LUN clone. This command is only supported for flexible volumes.

=end html



B<Inputs>

=over 2

=item * I<autodelete>  =>   B<boolean, optional>

=begin html

<br>Mark file or LUN clones for auto deletion. When set to true, file or LUN clones will be autodeleted to reclaim space when the volume runs out of space. By default value is false.

=end html

=back



=over 2

=item * I<block-ranges>  =>   B<L<"block-range">[], optional>

=begin html

<br>List of block ranges for sub-file/sub-LUN cloning. For sub-LUN cloning the block range specified will be considered as SCSI LBA range. If only one block range is supplied, the source and destination range must not overlap and both ranges must not extend past the end of the file If multiple block ranges are specified in one operation, the user must ensure all source and destination ranges do not overlap, otherwise the result is undefined. In case of sub-LUN cloning, the API will copy data in case the LBAs are not block aligned. If the user provides LBAs such that actual number of blocks to be cloned is zero, then API will return error. The API will fail if the source range overlaps with the destination range or if the source and the destination ranges overlap amongst themselves. If block range is not provided then the file/LUN cloning is fully cloned.

=end html

=back



=over 2

=item * I<destination-exists>  =>   B<boolean, optional>

=begin html

<br>Allow clone creation if the destination exists. By default value is false.

=end html

=back



=over 2

=item * I<destination-path>  =>   B<string, optional>

=begin html

<br>Full path of the destination file or LUN relative to the volume. The destination file must be in same volume as "source-path". If not specified, a sub-range clone of the source file or LUN will be performed on itself. Either "destination-path" or "block-ranges" must be specified. For sub-file clone operation from snapshot copy, "destination-path" is mandatory.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Name of the volume where the destination files resides. This option is supported only for Metawafl volumes, where the source and destination volumes for the clone operation can be different.

=end html

=back



=over 2

=item * I<ignore-locks>  =>   B<boolean, optional>

=begin html

<br>Clone even if (advisory/mandatory) byte_range locks or share_mode locks exist on the source or destination. By default value is false.

=end html

=back



=over 2

=item * I<ignore-streams>  =>   B<boolean, optional>

=begin html

<br>Clone only the base file and ignore streams on source or destination. By default value is false so streams are also cloned from source and existing destination streams are deleted.

=end html

=back



=over 2

=item * I<is-backup>  =>   B<boolean, optional>

=begin html

<br>This option is only to be used with full-file clone creates for backups, where source file gets periodically modified and clone file is not modified. By default, value is false.

=end html

=back



=over 2

=item * I<qos-policy-group-name>  =>   B<string, optional>

=begin html

<br>QoS policy group defines measurable Service Level Objectives (SLOs) that apply to the storage objects with which the policy group is associated. If you do not assign a policy group to a flexclone file, the system will not monitor and control the traffic to it. This field is available in Data ONTAP 8.2 and later

=end html

=back



=over 2

=item * I<snapshot-name>  =>   B<string, optional>

=begin html

<br>Snapshot name from which to clone the source file or LUN. If not specified, the contents of the active filesystem will be used.

=end html

=back



=over 2

=item * I<source-path>  =>   B<string>

=begin html

<br>Relative path of the source file or the source LUN inside the volume.

=end html

=back



=over 2

=item * I<space-reserve>  =>   B<boolean, optional>

=begin html

<br>Set the space reservation of the destination clone. By default space reservation is inherited from source. The API errors out if used in conjunction with block range arguments, since space reservations cannot be set for a block range.

=end html

=back



=over 2

=item * I<token-uuid>  =>   B<string, optional>

=begin html

<br>Use the split load reserved by the token to create file or LUN clones. This will guarantee clone create requests from not getting throttled. If this option is not specified, available split load in the node will be used for clone creation.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume where the source and destination files or LUNs reside.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 clone_deletion_add_extension

[B<Family:> vserver]


=begin html

Add new supported file extensions for file(s) and lun(s) on the specified volume to be deleted with clone-delete. This command is only supported for flexible volumes.

=end html



B<Inputs>

=over 2

=item * I<extensions>  =>   B<string>

=begin html

<br>Add new supported file extensions for file(s) and lun(s) on the specified volume to be deleted with clone-delete

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 clone_deletion_get_iter

[B<Family:> cluster, vserver]


=begin html

List the clone deletion info

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"clone-deletion-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 10

=end html

=back



=over 2

=item * I<query>  =>   B<L<"clone-deletion-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the clone object. All clone objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"clone-deletion-info">[], optional>

=begin html

<br>The list of attributes of clone objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more clone objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 clone_deletion_minimum_size

[B<Family:> vserver]


=begin html

Required minimum size of the file(s) and lun(s) on the specified volume to be deleted with clone-delete.

=end html



B<Inputs>

=over 2

=item * I<minimum-size>  =>   B<string>

=begin html

<br>Minimum size of the file(s) to be deleted using the clone-delete. The format to use is: &lt number &gt k|m|g|t. Where 'k' means kilobytes, 'm' means mega bytes, 'g' means gigabytes and 't' mean terabytes. If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 clone_deletion_remove_extension

[B<Family:> vserver]


=begin html

Remove the no longer supported file extensions for file(s) and lun(s) on the specified volume to be deleted with clone-delete. This command is only supported for flexible volumes.

=end html



B<Inputs>

=over 2

=item * I<extensions>  =>   B<string, optional>

=begin html

<br>Existing file extension that is no longer supported for clone-delete. If this value is not specified, then it will remove all the existing file extensions

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 clone_split_enable

[B<Family:> vserver]


=begin html

Enable clone split on split disabled entry

=end html



B<Inputs>

=over 2

=item * I<clone-path>  =>   B<string>

=begin html

<br>Name of the clone file.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 clone_split_load_get_iter

[B<Family:> cluster, vserver]


=begin html

Gets information about load on all nodes due to file or LUN clone split operations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"clone-split-load-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 10

=end html

=back



=over 2

=item * I<query>  =>   B<L<"clone-split-load-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the clone object. All clone objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"clone-split-load-info">[], optional>

=begin html

<br>The list of attributes of clone objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more clone objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 clone_split_status

[B<Family:> vserver]


=begin html

Get the information about unsplit file or LUN clones in a volume

=end html



B<Inputs>

=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of the volume where the file or LUN clone resides.

=end html

=back



B<Outputs>

=over 2

=item * I<clone-split-info>  =>   B<L<"clone-split-info">>

=begin html

<br>Information about unsplit file or LUN clones.

=end html

=back



=head2 clone_token_create

[B<Family:> cluster, vserver]


=begin html

Create a token to reserve available split load on a node. This token can be used with clone-create api to use up the reserved split load. This will to allow clone creates from getting throttled.

=end html



B<Inputs>

=over 2

=item * I<expiry-limit>  =>   B<integer, optional>

=begin html

<br>The duration (in seconds) for which the reserved token is valid.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node name on which split load is reserved.

=end html

=back



=over 2

=item * I<reserve-size>  =>   B<size>

=begin html

<br>Available reserve in split load reserved by token where split load is the number of bytes reserved for creation of clones.

=end html

=back



B<Outputs>

=over 2

=item * I<token-uuid>  =>   B<string>

=begin html

<br>Token UUID for which the split load is reserved.

=end html

=back



=head2 clone_token_delete

[B<Family:> cluster, vserver]


=begin html

Delete token(s) to increase the allowed split load by a node.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node name on which split load is reserved.

=end html

=back



=over 2

=item * I<token-uuid>  =>   B<string, optional>

=begin html

<br>Token UUID for which the split load is reserved.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 clone_token_get

[B<Family:> cluster, vserver]


=begin html

Get the information about a specified token.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node name on which split load is reserved.

=end html

=back



=over 2

=item * I<token-uuid>  =>   B<string>

=begin html

<br>Token UUID for which the split load is reserved.

=end html

=back



B<Outputs>

=over 2

=item * I<clone-token-info>  =>   B<L<"clone-token-info">>

=begin html

<br>Information about token reserved for file or LUN clone creates.

=end html

=back



=head2 clone_token_get_iter

[B<Family:> cluster, vserver]


=begin html

Get the information about all reserved tokens.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"clone-token-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node name on which split load is reserved.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"clone-token-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the clone object. All clone objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"clone-token-info">[], optional>

=begin html

<br>The list of attributes of clone objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more clone objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 clone_token_modify_expiry_limit

[B<Family:> cluster, vserver]


=begin html

Modify the allowed expiry limit for token(s).

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node name on which split load is reserved.

=end html

=back



=over 2

=item * I<reservation-duration-limit>  =>   B<integer>

=begin html

<br>The duration (in seconds) for which the reserved token is valid.

=end html

=back



=over 2

=item * I<token-uuid>  =>   B<string, optional>

=begin html

<br>Token UUID for which the split load is reserved.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_add_node

[B<Family:> cluster]


=begin html

Use this API to add new nodes to cluster. Provide either node-count or node-ip. To watch the progress use job-get API. A job will be spawned to operate on the cluster and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<node-count>  =>   B<integer, optional>

=begin html

<br>Use this option to discover and add new nodes. It is only supported on non-shared architecture platforms.

=end html

=back



=over 2

=item * I<node-ip>  =>   B<ip-address, optional>

=begin html

<br>Use this option to add a specific node based on its cluster IP address.

=end html

=back



B<Outputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job ID of Node Add

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 cluster_contact_get

[B<Family:> cluster]


=begin html

Returns the contact information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-contact">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-contact">>

=begin html

<br>The attributes of the cluster-contact.

=end html

=back



=head2 cluster_contact_modify

[B<Family:> cluster]


=begin html

Modifies the contact information.

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<string, optional>

=begin html

<br>Business Address

=end html

=back



=over 2

=item * I<business-name>  =>   B<string, optional>

=begin html

<br>Business Name

=end html

=back



=over 2

=item * I<city>  =>   B<string, optional>

=begin html

<br>City Where Business Resides

=end html

=back



=over 2

=item * I<country>  =>   B<country-code, optional>

=begin html

<br>2-Character Country Code Possible values: <ul> <li> "99" - Unknown, <li> "ad" - Andorra, <li> "ae" - United Arab Emirates, <li> "af" - Afghanistan, <li> "ag" - Antigua and Barbuda, <li> "ai" - Anguilla, <li> "al" - Albania, <li> "am" - Armenia, <li> "an" - Netherlands Antilles, <li> "ao" - Angola, <li> "aq" - Antarctia, <li> "ar" - Argentina, <li> "as" - American Samoa, <li> "at" - Austria, <li> "au" - Australia, <li> "aw" - Aruba, <li> "az" - Azerbaijan, <li> "ba" - Bosnia and Herzegovina, <li> "bb" - Barbados, <li> "bd" - Bangladesh, <li> "be" - Belgium, <li> "bf" - Burkina Faso, <li> "bg" - Bulgaria, <li> "bh" - Bahrain, <li> "bi" - Burundi, <li> "bj" - Benin, <li> "bm" - Bermuda, <li> "bn" - Brunei Darussalem, <li> "bo" - Bolivia, <li> "br" - Brazil, <li> "bs" - Bahamas, <li> "bt" - Bhutan, <li> "bv" - Bouvet Island, <li> "bw" - Botswana, <li> "by" - Belarus, <li> "bz" - Belize, <li> "ca" - Canada, <li> "cc" - Cocos (Keeling) Islands, <li> "cd" - Congo, The Democratic Republic of the, <li> "cf" - Central African Republic, <li> "cg" - Congo, <li> "ch" - Switzerland, <li> "ci" - Cote d'Ivoire, <li> "ck" - Cook Islands, <li> "cl" - Chile, <li> "cm" - Cameroon, <li> "cn" - China, <li> "co" - Colombia, <li> "cr" - Costa Rica, <li> "cu" - Cuba, <li> "cv" - Cape Verde, <li> "cx" - Christmas Island, <li> "cy" - Cyprus, <li> "cz" - Czech Republic, <li> "de" - Germany, <li> "dj" - Djibouti, <li> "dk" - Denmark, <li> "dm" - Dominica, <li> "do" - Dominican Republic, <li> "dz" - Algeria, <li> "ec" - Ecuador, <li> "ee" - Estonia, <li> "eg" - Egypt, <li> "eh" - Western Sahara, <li> "er" - Eritrea, <li> "es" - Spain, <li> "et" - Ethiopia, <li> "fi" - Finland, <li> "fj" - Fiji, <li> "fk" - Falkland Islands (Malvinas), <li> "fm" - Micronesia, Federated States of, <li> "fo" - Faroe Islands, <li> "fr" - France, <li> "fx" - France Metropolitan, <li> "ga" - Gabon, <li> "gb" - United Kingdom, <li> "gd" - Grenada, <li> "ge" - Georgia, <li> "gf" - French Guiana, <li> "gh" - Ghana, <li> "gi" - Gibraltar, <li> "gl" - Greenland, <li> "gm" - Gambia, <li> "gn" - Guinea, <li> "gp" - Guadaloupe, <li> "gq" - Equatorial Guinea, <li> "gr" - Greece, <li> "gs" - South Georgia and the South Sandwich Islands, <li> "gt" - Guatemla, <li> "gu" - Guam, <li> "gw" - Guinea-Bissau, <li> "gy" - Guyana, <li> "hk" - China (Hong Kong S.A.R.), <li> "hm" - Heard and McDonald Islands, <li> "hn" - Honduras, <li> "hr" - Croatia, <li> "ht" - Haiti, <li> "hu" - Hungary, <li> "id" - Indonesia, <li> "ie" - Ireland, <li> "il" - Israel, <li> "in" - India, <li> "io" - British Indian Ocean Territory, <li> "iq" - Iraq, <li> "ir" - Iran, <li> "is" - Iceland, <li> "it" - Italy, <li> "jm" - Jamaica, <li> "jo" - Jordan, <li> "jp" - Japan, <li> "ke" - Kenya, <li> "kg" - Kyrgyzstan, <li> "kh" - Khmer Rep Cambodia, <li> "ki" - Kiribati, <li> "km" - Comoros, <li> "kn" - Saint Kitts and Nevis, <li> "kp" - Korea, Democratic People's Republic of (North Korea), <li> "kr" - Korea, Republic of (South Korea), <li> "kw" - Kuwait, <li> "ky" - Cayman Islands, <li> "kz" - Kazakhstan, <li> "la" - Lao People's Democratic Republic (Laos), <li> "lb" - Lebanon, <li> "lc" - Saint Lucia, <li> "li" - Liechtenstein, <li> "lk" - Sri Lanka, <li> "lr" - Liberia, <li> "ls" - Lesotho, <li> "lt" - Lithuania, <li> "lu" - Luxembourg, <li> "lv" - Latvia, <li> "ly" - Libyan Arab Jamahiriya (Lybia), <li> "ma" - Morocco, <li> "mc" - Monaco, <li> "md" - Moldavia, <li> "mg" - Madagascar, <li> "mh" - Marshall Islands, <li> "mk" - Macedonia, <li> "ml" - Mali, <li> "mm" - Myanmar, <li> "mn" - Mongolia, <li> "mo" - China (Macau S.A.R.), <li> "mp" - Northern Mariana Islands, <li> "mq" - Martinique, <li> "mr" - Mauritania, <li> "ms" - Montserrat, <li> "mt" - Malta, <li> "mu" - Mauritius, <li> "mv" - Maldives, <li> "mw" - Malawi, <li> "mx" - Mexico, <li> "my" - Malaysia, <li> "mz" - Mozambique, <li> "na" - Namibia, <li> "nc" - New Caledonia, <li> "ne" - Niger, <li> "nf" - Norfolk Island, <li> "ng" - Nigeria, <li> "ni" - Nicaragua, <li> "nl" - Netherlands, <li> "no" - Norway, <li> "np" - Nepal, <li> "nr" - Nauru, <li> "nu" - Niue, <li> "nz" - New Zealand, <li> "om" - Oman, <li> "pa" - Panama, <li> "pe" - Peru, <li> "pf" - French Polynesia, <li> "pg" - Papua New Guinea, <li> "ph" - Philippines, <li> "pk" - Pakistan, <li> "pl" - Poland, <li> "pm" - St. Pierre and Miquelon, <li> "pn" - Pitcairn, <li> "pr" - Puerto Rico, <li> "pt" - Portugal, <li> "pw" - Palau, <li> "py" - Paraguay, <li> "qa" - Qatar, <li> "re" - Reunion, <li> "ro" - Romania, <li> "ru" - Russia, <li> "rw" - Rwanda, <li> "sa" - Saudi Arabia, <li> "sb" - Solomon Islands, <li> "sc" - Seychelles, <li> "sd" - Sudan, <li> "se" - Sweden, <li> "sg" - Singapore, <li> "sh" - St. Helena, <li> "si" - Slovenia, <li> "sj" - Svalbard and Jan Mayen Islands, <li> "sk" - Slovakia, <li> "sl" - Sierra Leone, <li> "sm" - San Marino, <li> "sn" - Senegal, <li> "so" - Somalia, <li> "sr" - Suriname, <li> "st" - Sao Tome and Principe, <li> "sv" - El Salvador, <li> "sy" - Syrian Arab Republic (Syria), <li> "sz" - Swaziland, <li> "t9" - Service Agent Test Systems T9 XX, <li> "tc" - Turks and Caicos Islands, <li> "td" - Chad, <li> "tf" - French Southern Territories, <li> "tg" - Togo, <li> "th" - Thailand, <li> "tj" - Tajikistan, <li> "tk" - Tokelau, <li> "tl" - East Timor, <li> "tm" - Turkmenistan, <li> "tn" - Tunisia, <li> "to" - Tonga, <li> "tr" - Turkey, <li> "tt" - Trinidad And Tobago, <li> "tv" - Tuvalu, <li> "tw" - Taiwan, <li> "tz" - Tanzania, <li> "ua" - Ukraine, <li> "ug" - Uganda, <li> "um" - United States Minor Outlying Islands, <li> "us" - United States, <li> "uy" - Uruguay, <li> "uz" - Uzbekistan, <li> "va" - Vatican City State (Holy See), <li> "vc" - Saint Vincent and the Grenadines, <li> "ve" - Venezuela, <li> "vg" - British Virgin Islands, <li> "vi" - Virgin Islands (U.S.), <li> "vn" - Vietnam, <li> "vu" - Vanuatu, <li> "wf" - Wallis and Futuna Islands, <li> "ws" - Samoa (Western), <li> "ye" - Yemen, <li> "yt" - Mayotte, <li> "yu" - Serbia, <li> "za" - South Africa, <li> "zm" - Zambia, <li> "zw" - Zimbabwe </ul>

=end html

=back



=over 2

=item * I<primary-alt-phone>  =>   B<string, optional>

=begin html

<br>Alternate Phone Number of Primary Contact

=end html

=back



=over 2

=item * I<primary-email>  =>   B<string, optional>

=begin html

<br>Email Address or User ID of Primary Contact

=end html

=back



=over 2

=item * I<primary-name>  =>   B<string, optional>

=begin html

<br>Name of Primary Contact

=end html

=back



=over 2

=item * I<primary-phone>  =>   B<string, optional>

=begin html

<br>Phone Number of Primary Contact

=end html

=back



=over 2

=item * I<secondary-alt-phone>  =>   B<string, optional>

=begin html

<br>Alternate Phone Number of Secondary Contact

=end html

=back



=over 2

=item * I<secondary-email>  =>   B<string, optional>

=begin html

<br>Email Address or User ID of Secondary Contact

=end html

=back



=over 2

=item * I<secondary-name>  =>   B<string, optional>

=begin html

<br>Name of Secondary Contact

=end html

=back



=over 2

=item * I<secondary-phone>  =>   B<string, optional>

=begin html

<br>Phone Number of Secondary Contact

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>State Where Business Resides

=end html

=back



=over 2

=item * I<zip-code>  =>   B<string, optional>

=begin html

<br>Postal Code Where Business Resides

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_create

[B<Family:> cluster]


=begin html

Start the process to create a cluster using this node. Use cluster-create-join-progress-get to track the status of the operation.

=end html



B<Inputs>

=over 2

=item * I<cluster-name>  =>   B<string>

=begin html

<br>Use this parameter to specify the name of the cluster you are creating. The cluster name must begin with a letter and cannot be more than 44 characters in length.

=end html

=back



=over 2

=item * I<keep-precluster-cert>  =>   B<boolean, optional>

=begin html

<br>Keep Precluster Certificate

=end html

=back



=over 2

=item * I<license>  =>   B<license-code-v2, optional>

=begin html

<br>The base cluster license obtain with the hardware or from NetApp professional services. This parameter has been deprecated in Data ONTAP 9.2.

=end html

=back



=over 2

=item * I<node-count>  =>   B<integer, optional>

=begin html

<br>Use this parameter to specify the number of nodes in the cluster you are creating. It is only supported on non-shared architecture platforms.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_create_join_progress_get

[B<Family:> cluster]


=begin html

Once the cluster create or cluster join operation has been started on this node, use this ZAPI to get the current status of the operation. During cluster join, there is a 1 to 5 second window where the network connection will be unavailable while web services restart. The caller will have to periodically retry until this ZAPI becomes available.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-create-join-progress-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-create-join-progress-info">>

=begin html

<br>The attributes of the cluster.

=end html

=back



=head2 cluster_identity_get

[B<Family:> cluster]


=begin html

Returns the cluster identity information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-identity-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-identity-info">>

=begin html

<br>The attributes of the cluster.

=end html

=back



=head2 cluster_identity_modify

[B<Family:> cluster]


=begin html

Modifies the cluster identity information.

=end html



B<Inputs>

=over 2

=item * I<cluster-contact>  =>   B<string, optional>

=begin html

<br>The contact information for the cluster

=end html

=back



=over 2

=item * I<cluster-location>  =>   B<string, optional>

=begin html

<br>The location of the cluster

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<cluster-name-simple, optional>

=begin html

<br>The textual name of the cluster

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_join

[B<Family:> cluster]


=begin html

Start the process of joining this node to a cluster. Join can be done by Cluster IP Address. Only one join operation is supported at a time. Use cluster-create-join-progress-get to track the status of the operation. This API is deprecated as of Data ONTAP 9.2, and the cluster-add-node API should be used instead.

=end html



B<Inputs>

=over 2

=item * I<cluster-ip-address>  =>   B<ip-address, optional>

=begin html

<br>IP Address of a Cluster Interface from a Node in the Cluster

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>Cluster Name of the Cluster to Join

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_log_forward_create

[B<Family:> cluster]


=begin html

Create a log forwarding configuration

=end html



B<Inputs>

=over 2

=item * I<destination>  =>   B<remote-inet-address>

=begin html

<br>Destination address that the log messages will be forwarded to. Can be a hostname or IP address.

=end html

=back



=over 2

=item * I<facility>  =>   B<syslog-facility, optional>

=begin html

<br>Facility code used to indicate the type of software that generated the message. Possible values: <ul> <li> "kern" - kernel messages, <li> "user" - user-level messages, <li> "local0" - local use 0, <li> "local1" - local use 1, <li> "local2" - local use 2, <li> "local3" - local use 3, <li> "local4" - local use 4, <li> "local5" - local use 5, <li> "local6" - local use 6, <li> "local7" - local use 7 </ul>

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Skip the Connectivity Test

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>The destination port used to forward the message.

=end html

=back



=over 2

=item * I<protocol>  =>   B<log-fwd-proto, optional>

=begin html

<br>Log Forwarding Protocol Possible values: <ul> <li> "udp_unencrypted" - UDP unencrypted, <li> "tcp_unencrypted" - TCP unencrypted, <li> "tcp_encrypted" - TCP encrypted </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the log forwarding info on successful creation. Default: false

=end html

=back



=over 2

=item * I<verify-server>  =>   B<boolean, optional>

=begin html

<br>Verify Destination Server Identity

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"cluster-log-forward-info">, optional>

=begin html

<br>The log forwarding info created (keys or the entire object if requested)

=end html

=back



=head2 cluster_log_forward_destroy

[B<Family:> cluster]


=begin html

Delete a log forwarding configuration

=end html



B<Inputs>

=over 2

=item * I<destination>  =>   B<remote-inet-address>

=begin html

<br>Destination address that the log messages will be forwarded to. Can be a hostname or IP address.

=end html

=back



=over 2

=item * I<port>  =>   B<integer>

=begin html

<br>The destination port used to forward the message.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_log_forward_get

[B<Family:> cluster]


=begin html

Get information about log forwarding

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-log-forward-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination>  =>   B<remote-inet-address>

=begin html

<br>Destination address that the log messages will be forwarded to. Can be a hostname or IP address.

=end html

=back



=over 2

=item * I<port>  =>   B<integer>

=begin html

<br>The destination port used to forward the message.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-log-forward-info">>

=begin html

<br>The attributes of the log forwarding info.

=end html

=back



=head2 cluster_log_forward_get_iter

[B<Family:> cluster]


=begin html

Get information about log forwarding

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-log-forward-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-log-forward-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the log forwarding info object. All log forwarding info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-log-forward-info">[], optional>

=begin html

<br>The list of attributes of log forwarding info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more log forwarding info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_log_forward_modify

[B<Family:> cluster]


=begin html

Modify the log forwarding configuration

=end html



B<Inputs>

=over 2

=item * I<destination>  =>   B<remote-inet-address>

=begin html

<br>Destination address that the log messages will be forwarded to. Can be a hostname or IP address.

=end html

=back



=over 2

=item * I<facility>  =>   B<syslog-facility, optional>

=begin html

<br>Facility code used to indicate the type of software that generated the message. Possible values: <ul> <li> "kern" - kernel messages, <li> "user" - user-level messages, <li> "local0" - local use 0, <li> "local1" - local use 1, <li> "local2" - local use 2, <li> "local3" - local use 3, <li> "local4" - local use 4, <li> "local5" - local use 5, <li> "local6" - local use 6, <li> "local7" - local use 7 </ul>

=end html

=back



=over 2

=item * I<port>  =>   B<integer>

=begin html

<br>The destination port used to forward the message.

=end html

=back



=over 2

=item * I<verify-server>  =>   B<boolean, optional>

=begin html

<br>Verify Destination Server Identity

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_log_forward_statistics_get

[B<Family:> cluster]


=begin html

Get information about log forwarding statistics

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-log-forward-statistics">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination>  =>   B<remote-inet-address>

=begin html

<br>Destination Host

=end html

=back



=over 2

=item * I<index>  =>   B<integer>

=begin html

<br>Destination Index

=end html

=back



=over 2

=item * I<log>  =>   B<string>

=begin html

<br>Log Name

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<integer>

=begin html

<br>Destination Port

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-log-forward-statistics">>

=begin html

<br>The attributes of the log forwarding statistics.

=end html

=back



=head2 cluster_log_forward_statistics_get_iter

[B<Family:> cluster]


=begin html

Get information about log forwarding statistics

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-log-forward-statistics">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-log-forward-statistics">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the log forwarding statistics object. All log forwarding statistics objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-log-forward-statistics">[], optional>

=begin html

<br>The list of attributes of log forwarding statistics objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more log forwarding statistics objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_node_get

[B<Family:> cluster]


=begin html

Returns information about a node in a cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-node-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The textual name of a node.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-node-info">>

=begin html

<br>The attributes of the cluster.

=end html

=back



=head2 cluster_node_get_iter

[B<Family:> cluster]


=begin html

Returns information about nodes in a cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-node-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-node-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster object. All cluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-node-info">[], optional>

=begin html

<br>The list of attributes of cluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_node_modify

[B<Family:> cluster]


=begin html

Modifies state of a node in a cluster.

=end html



B<Inputs>

=over 2

=item * I<is-node-eligible>  =>   B<boolean, optional>

=begin html

<br>This parameter states nodes that are eligible to participate in the cluster. A boolean value of true means the node is eligible.

=end html

=back



=over 2

=item * I<is-node-epsilon>  =>   B<boolean, optional>

=begin html

<br>You can designate a node as epsilon to add weight to its voting in a cluster with an even number of nodes. In a cluster, only one node can be designated as epsilon at any given time. A boolean value of true means the node is epsilon.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The textual name of a node.

=end html

=back



=over 2

=item * I<skip-quorum-check-before-ineligible>  =>   B<boolean, optional>

=begin html

<br>Skip quorum checks when setting a node ineligible. When setting a node to ineligible, the operation will continue even if there is a possible data outage due to a quorum issue.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_zoneinfo_get

[B<Family:> cluster]


=begin html

Get zoneinfo information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"zoneinfo-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"zoneinfo-info">>

=begin html

<br>The attributes of the Zoneinfo info.

=end html

=back



=head2 cluster_zoneinfo_load_from_uri

[B<Family:> cluster]


=begin html

This commands loads a new set of timezone zoneinfo data to replace the version installed in the cluster. <p>Releases of Data ONTAP software contain the timezone data that is current at the time of release. If a change is made to the timezone between Data ONTAP releases, then an update can be made to the installed data. <p>For instance, if a change is made to when daylight saving time is observed for a country then an update to cluster zoneinfo data may be required.</p> <p>Only zoneinfo files provided for use in Data ONTAP should be used with this command.</p> To update the zoneinfo database do the following: <ul> <li>Download the required zoneinfo file from the support website.</li> <li>Place the file on a local web server accessible without password from the cluster.</li> <li>Execute this command, passing the Universal Resource Identifier (URI) of the file as parameter.</li> </ul> The command need only be executed once for the cluster. The data will be distributed to each node of the cluster.

=end html



B<Inputs>

=over 2

=item * I<uri>  =>   B<uri>

=begin html

<br>Universal Resource Identifier (URI) of the zoneinfo data to load. HTTP and FTP schemes are supported.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_image_get

[B<Family:> cluster]


=begin html

Get the attributes of the cluster-image.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-image-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-id>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-image-info">>

=begin html

<br>The attributes of the cluster-image.

=end html

=back



=head2 cluster_image_get_download_progress

[B<Family:> cluster]


=begin html

Check the progress of current image download started by the cluster-image-package-download ZAPI.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<failure-reason>  =>   B<string, optional>

=begin html

<br>Reason for download failure. This field is deprecated in Data ONTAP 9.0.0 and may be removed in a future release.

=end html

=back



=over 2

=item * I<progress-details>  =>   B<string, optional>

=begin html

<br>Download progress details

=end html

=back



=over 2

=item * I<progress-status>  =>   B<cluster-image-download-status>

=begin html

<br>Download Progress Status

=end html

=back



=head2 cluster_image_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of cluster-image objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-image-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-image-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-image object. All cluster-image objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-image-info">[], optional>

=begin html

<br>The list of attributes of cluster-image objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-image objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_image_get_upgrade_plan

[B<Family:> cluster]


=begin html

The cluster-image-get-upgrade-plan API generates an Upgrade Plan and Backout Plan for the specified target image. The target package-version must be provided.

=end html



B<Inputs>

=over 2

=item * I<package-version>  =>   B<string>

=begin html

<br>Specifies the target package version.

=end html

=back



B<Outputs>

=over 2

=item * I<backout-phase-info-list>  =>   B<L<"phase-info">[], optional>

=begin html

<br>List of revert or downgrade plan phases.

=end html

=back



=over 2

=item * I<backout-plan-head>  =>   B<string, optional>

=begin html

<br>Backout plan heading.

=end html

=back



=over 2

=item * I<upgrade-phase-info-list>  =>   B<L<"phase-info">[], optional>

=begin html

<br>List of upgrade plan phases.

=end html

=back



=over 2

=item * I<upgrade-plan-head>  =>   B<string, optional>

=begin html

<br>Upgrade plan heading.

=end html

=back



=head2 cluster_image_node_update_progress_info

[B<Family:> cluster]


=begin html

Get information on a node's image update progress

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"node-update-progress-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node name.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"node-update-progress-info">>

=begin html

<br>The attributes of the cluster-image.

=end html

=back



=head2 cluster_image_package_delete

[B<Family:> cluster]


=begin html

The cluster-image-package-delete API removes the given package from the cluster image package repository.

=end html



B<Inputs>

=over 2

=item * I<package-version>  =>   B<string>

=begin html

<br>The package version to be deleted. Example of package versions - 8.3

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_image_package_download

[B<Family:> cluster]


=begin html

The cluster-image-package-download API downloads the specified package. This API is asynchronous and returns immediately after the download is started. The download progress can be monitored by calling cluster-image-get-download-progress ZAPI. The package-url string must be provided.

=end html



B<Inputs>

=over 2

=item * I<package-url>  =>   B<string>

=begin html

<br>Specifies the package URL.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_image_package_download_abort

[B<Family:> cluster]


=begin html

Abort an ongoing package download operation.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_image_package_local_get

[B<Family:> cluster]


=begin html

The cluster-image-package-local-get API retrieves detailed information about a package located in the cluster image package repository.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-image-package-local-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<package-version>  =>   B<string>

=begin html

<br>Package version.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-image-package-local-info">>

=begin html

<br>The attributes of the cluster-image.

=end html

=back



=head2 cluster_image_package_local_get_iter

[B<Family:> cluster]


=begin html

Get multiple locally available package records

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-image-package-local-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-image-package-local-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-image object. All cluster-image objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-image-package-local-info">[], optional>

=begin html

<br>The list of attributes of cluster-image objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-image objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_image_update

[B<Family:> cluster]


=begin html

The cluster-image update API validates, installs prerequisite component updates, and installs Data ONTAP to all specified nodes within a cluster in a nondisruptive manner. Since validation, which is run as part of update, requires a minimum of 30 seconds, the API should be called with sufficient timeout value.

=end html



B<Inputs>

=over 2

=item * I<estimate-only>  =>   B<boolean, optional>

=begin html

<br>Generates an estimate of the time required for the overall update operation for the specified package. No update is performed when this option is used. Default: false.

=end html

=back



=over 2

=item * I<force-rolling>  =>   B<boolean, optional>

=begin html

<br>Force a rolling upgrade on the cluster. Default: false.

=end html

=back



=over 2

=item * I<ignore-validation-warning>  =>   B<boolean, optional>

=begin html

<br>Allows the update to continue if warnings are encountered during the validation phase. Default: false.

=end html

=back



=over 2

=item * I<nodes>  =>   B<node-name[], optional>

=begin html

<br>List of nodes to be updated, the nodes have to be a part of a HA Pair.

=end html

=back



=over 2

=item * I<package-version>  =>   B<string>

=begin html

<br>Specifies the package version.

=end html

=back



=over 2

=item * I<pause-after>  =>   B<non-disruptive-update-pause-after, optional>

=begin html

<br>One or more pause options can be specified. Possible values: none, all.

=end html

=back



=over 2

=item * I<stabilize-minutes>  =>   B<integer, optional>

=begin html

<br>Number of minutes needed to stabilize node before update. Default: 8.

=end html

=back



B<Outputs>

=over 2

=item * I<estimated-post-update-duration>  =>   B<integer, optional>

=begin html

<br>Estimated post-update checks duration, in seconds. Available only if estimate-only is true.

=end html

=back



=over 2

=item * I<estimated-pre-update-duration>  =>   B<integer, optional>

=begin html

<br>Estimated pre-update checks duration, in seconds. Available only if estimate-only is true.

=end html

=back



=over 2

=item * I<estimated-update-duration>  =>   B<integer, optional>

=begin html

<br>Estimated ontap updates duration, in seconds. Available only if estimate-only is true.

=end html

=back



=head2 cluster_image_update_cancel

[B<Family:> cluster]


=begin html

The cluster-image-update-cancel API cancels a package update that is currently in progress. The update will stop and be canceled at the end of the current logical operation. Logical operations are: - After the cluster validation, or prerequisite update phase - After the update of each HA pair - Immediately, if the update is currently paused After the successful completion of this command the update will be removed from the package update queue. The cancellation will be logged in the update history.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_image_update_history_get_iter

[B<Family:> cluster]


=begin html

Get multiple update history records.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-update-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-update-history-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-image object. All cluster-image objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-update-history-info">[], optional>

=begin html

<br>The list of attributes of cluster-image objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-image objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_image_update_log_get_iter

[B<Family:> cluster]


=begin html

Get multiple update logs

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-update-transaction-log-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-update-transaction-log-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-image object. All cluster-image objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-update-transaction-log-info">[], optional>

=begin html

<br>The list of attributes of cluster-image objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-image objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_image_update_pause

[B<Family:> cluster]


=begin html

The cluster-image-update-pause API pauses an update that is in progress. The update will pause at the end of the current logical operation. Logical operations include: - After the cluster validation, or prerequisite update phase - After the update of each node After the successful completion of this command the currently running update will be paused at the end of the current logical operation.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_image_update_progress_get_iter

[B<Family:> cluster]


=begin html

This API provides the status of all phases of update that is in progress.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-image-ndu-phase-list-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-image-ndu-phase-list-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-image object. All cluster-image objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-image-ndu-phase-list-info">[], optional>

=begin html

<br>The list of attributes of cluster-image objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-image objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_image_update_progress_info

[B<Family:> cluster]


=begin html

Get information on cluster image update progress

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ndu-progress-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ndu-progress-info">>

=begin html

<br>The attributes of the cluster-image.

=end html

=back



=head2 cluster_image_update_resume

[B<Family:> cluster]


=begin html

The cluster-image-update-resume API resumes a package update that is currently paused. If the update is not in the paused state the API call will fail. After the successful completion of this command the current paused update will resume from the last successful operation completed.

=end html



B<Inputs>

=over 2

=item * I<ignore-post-update-checks-failures>  =>   B<boolean, optional>

=begin html

<br>Ignore post-update-check phase failures, if any. Default: false.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_image_validate

[B<Family:> cluster]


=begin html

The cluster-image-validate API validates the various logical and physical components of a cluster to ensure that a nondisruptive update can occur. Since validation requires a minimum of 30 seconds, the API should be called with sufficient timeout value.

=end html



B<Inputs>

=over 2

=item * I<nodes>  =>   B<node-name[], optional>

=begin html

<br>Nodes

=end html

=back



=over 2

=item * I<package-version>  =>   B<string>

=begin html

<br>Specifies the package version.

=end html

=back



B<Outputs>

=over 2

=item * I<cluster-image-validation-report-list>  =>   B<L<"cluster-image-validation-report-list-info">[], optional>

=begin html

<br>Lists the status and required actions for each NDU check involved in the update process.

=end html

=back



=head2 cluster_peer_authn_offer_cancel

[B<Family:> cluster]


=begin html

Cancel the outstanding offer to authenticate with a peer cluster

=end html



B<Inputs>

=over 2

=item * I<peer-cluster-name>  =>   B<string>

=begin html

<br>Peer Cluster Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_peer_authn_offer_get

[B<Family:> cluster]


=begin html

Return the specified peer cluster relationship authentication offer information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-authn-offer">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<peer-cluster-name>  =>   B<string>

=begin html

<br>Peer Cluster Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-peer-authn-offer">>

=begin html

<br>The attributes of the cluster-peer-authn-offer.

=end html

=back



=head2 cluster_peer_authn_offer_get_iter

[B<Family:> cluster]


=begin html

Returns a list of cluster peer relationship authentication offers

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-authn-offer">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-peer-authn-offer">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-peer-authn-offer object. All cluster-peer-authn-offer objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-peer-authn-offer">[], optional>

=begin html

<br>The list of attributes of cluster-peer-authn-offer objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-peer-authn-offer objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_peer_authn_offer_modify

[B<Family:> cluster]


=begin html

Modifies the cluster peer relationship authentication offer, as created by the cluster-peer-create or cluster-peer-modify APIs.

=end html



B<Inputs>

=over 2

=item * I<initial-allowed-vserver-peers>  =>   B<vserver-name[], optional>

=begin html

<br>Vservers Initially Allowed for Peering

=end html

=back



=over 2

=item * I<offer-expiration>  =>   B<expiration, optional>

=begin html

<br>The expiration time of the authentication offer.

=end html

=back



=over 2

=item * I<peer-cluster-name>  =>   B<string>

=begin html

<br>The name of the peer cluster to modify.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_peer_connection_destroy

[B<Family:> cluster]


=begin html

Terminate a current peering connection

=end html



B<Inputs>

=over 2

=item * I<connection-type>  =>   B<cluster-peer-connection-type>

=begin html

<br>The type of connection for cluster peering.

=end html

=back



=over 2

=item * I<file-descriptor>  =>   B<integer>

=begin html

<br>The index value for the connection.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The name of the node that has the connections involved.

=end html

=back



=over 2

=item * I<peer-cluster-name>  =>   B<string>

=begin html

<br>The name of the peer cluster.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_peer_connections_get

[B<Family:> cluster]


=begin html

Return information about the specified connection to the specified cluster peer

=end html



B<Inputs>

=over 2

=item * I<connection-type>  =>   B<cluster-peer-connection-type>

=begin html

<br>The type of connection for cluster peering.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-connections">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<file-descriptor>  =>   B<integer>

=begin html

<br>The index value for the connection.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The name of the node that has the connections involved.

=end html

=back



=over 2

=item * I<peer-cluster-name>  =>   B<string>

=begin html

<br>The name of the peer cluster.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-peer-connections">>

=begin html

<br>The attributes of the cluster-peer-connections.

=end html

=back



=head2 cluster_peer_connections_get_iter

[B<Family:> cluster]


=begin html

Returns a list of connections to cluster peers

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-connections">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-peer-connections">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-peer-connections object. All cluster-peer-connections objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-peer-connections">[], optional>

=begin html

<br>The list of attributes of cluster-peer-connections objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-peer-connections objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_peer_create

[B<Family:> cluster]


=begin html

Create a cluster peer relationship and, optionally, an offer to authenticate with a peer. Initiate an authenticated relationship, and an offer to authenticate with a peer, by including the passphrase parameter. Initiate an unauthenticated relationship by omitting the passphrase and, optionally, including a user-name and password.

=end html



B<Inputs>

=over 2

=item * I<address-family>  =>   B<cluster-peer-address-family, optional>

=begin html

<br>The address family (IPv4/IPv6) of the peer cluster connection. If not provided and ambiguity between IPv4 and IPv6 exists, the peer connection address family will default to IPv4. Default: ipv4

=end html

=back



=over 2

=item * I<encrypt>  =>   B<csm-encr-flags, optional>

=begin html

<br>Guidance for use of encryption. Default: Never: never encrypt

=end html

=back



=over 2

=item * I<generate-passphrase>  =>   B<boolean, optional>

=begin html

<br>Use System-Generated passphrase

=end html

=back



=over 2

=item * I<initial-allowed-vserver-peers>  =>   B<vserver-name[], optional>

=begin html

<br>Vservers allowed for auto peering

=end html

=back



=over 2

=item * I<ipspace-name>  =>   B<string, optional>

=begin html

<br>IPspace in which the LIFs for this relationship are to be found. Default: the Default IPspace

=end html

=back



=over 2

=item * I<local-name>  =>   B<cluster-name-simple, optional>

=begin html

<br>Local name for remote cluster. Default: Remote cluster name

=end html

=back



=over 2

=item * I<offer-expiration>  =>   B<expiration, optional>

=begin html

<br>If a passphrase is provided, the expiration time of the authentication offer. Should not be provided otherwise. Default: one hour into the future

=end html

=back



=over 2

=item * I<passphrase>  =>   B<string, optional>

=begin html

<br>The arbitrary passphrase that matches the one given to the peer cluster.

=end html

=back



=over 2

=item * I<password>  =>   B<string, optional>

=begin html

<br>The password required to authenticate with the peer cluster. This value is only used at peer creation time and not stored.

=end html

=back



=over 2

=item * I<peer-addresses>  =>   B<remote-inet-address[], optional>

=begin html

<br>The remote intercluster addresses and hostnames of the peer cluster.

=end html

=back



=over 2

=item * I<rpc-connect-timeout>  =>   B<integer, optional>

=begin html

<br>The timeout for RPC Connect attempts to the peer cluster in seconds. Default: 10

=end html

=back



=over 2

=item * I<timeout>  =>   B<integer, optional>

=begin html

<br>The timeout for operations in the peer cluster in seconds. Default: 15

=end html

=back



=over 2

=item * I<update-ping-timeout>  =>   B<integer, optional>

=begin html

<br>The timeout used by ICMP pings while updating peer cluster information in seconds. Default: 5

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>The user name required to authenticate with the peer cluster. This value is only used at peer creation time and not stored.

=end html

=back



B<Outputs>

=over 2

=item * I<passphrase-info>  =>   B<L<"cluster-peer-passphrase-info">, optional>

=begin html

<br>Cluster Peer Create Passphrase Information

=end html

=back



=head2 cluster_peer_delete

[B<Family:> cluster]


=begin html

Delete a cluster peer relationship as well as any an offer to authenticate with the peer cluster.

=end html



B<Inputs>

=over 2

=item * I<cluster-name>  =>   B<string>

=begin html

<br>The name of the peer cluster.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_peer_get

[B<Family:> cluster]


=begin html

Return the specified peer cluster relationship information

=end html



B<Inputs>

=over 2

=item * I<cluster-name>  =>   B<string>

=begin html

<br>The name of the peer cluster. Available in the local cluster.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-peer-info">>

=begin html

<br>The attributes of the cluster-peer.

=end html

=back



=head2 cluster_peer_get_iter

[B<Family:> cluster]


=begin html

Returns a list of cluster peer relationships

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-peer-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-peer object. All cluster-peer objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-peer-info">[], optional>

=begin html

<br>The list of attributes of cluster-peer objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-peer objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_peer_health_info_get

[B<Family:> cluster]


=begin html

Get the health of the specified peer node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-health-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<cluster-name>

=begin html

<br>The name of the peer cluster.

=end html

=back



=over 2

=item * I<destination-node>  =>   B<peer-node-name>

=begin html

<br>The name of the node in the peer cluster.

=end html

=back



=over 2

=item * I<originating-node>  =>   B<node-name>

=begin html

<br>The name of the local node.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-peer-health-info">>

=begin html

<br>The attributes of the cluster-peer.

=end html

=back



=head2 cluster_peer_health_info_get_iter

[B<Family:> cluster]


=begin html

Get the health of all local and peer nodes sequentially

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-health-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-peer-health-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-peer object. All cluster-peer objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-peer-health-info">[], optional>

=begin html

<br>The list of attributes of cluster-peer objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-peer objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_peer_modify

[B<Family:> cluster]


=begin html

Modifies a cluster peer relationship, optionally also creating an offer to authenticate with a peer.

=end html



B<Inputs>

=over 2

=item * I<address-family>  =>   B<address-family, optional>

=begin html

<br>The address family of the peer-addresses of the relationship. If not specified, either the specified peer-address or the current peer-address is used to derive the address family.

=end html

=back



=over 2

=item * I<auth-status-admin>  =>   B<cluster-peer-auth-status-admin, optional>

=begin html

<br>The desired state of authentication for the relationship. If not specified, the desired state is not modified.

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string>

=begin html

<br>The name of the peer cluster to modify.

=end html

=back



=over 2

=item * I<encrypt>  =>   B<csm-encr-flags, optional>

=begin html

<br>Guidance for use of encryption. If not specified, the encryption guidance is not modified.

=end html

=back



=over 2

=item * I<generate-passphrase>  =>   B<boolean, optional>

=begin html

<br>Use system-generated passphrase

=end html

=back



=over 2

=item * I<ipspace-name>  =>   B<string, optional>

=begin html

<br>IPspace in which the LIFs for this relationship exist. If not specified, the IPspace for the relationship is not modified.

=end html

=back



=over 2

=item * I<offer-expiration>  =>   B<expiration, optional>

=begin html

<br>For auth-status-admin 'use-authentication', the expiration time of the authentication offer. Should not be provided otherwise.

=end html

=back



=over 2

=item * I<passphrase>  =>   B<string, optional>

=begin html

<br>For auth-status-admin 'use-authentication', this must be provided as the arbitrary passphrase that matches the one given to the peer cluster. Should not be provided otherwise.

=end html

=back



=over 2

=item * I<peer-addresses>  =>   B<remote-inet-address[], optional>

=begin html

<br>The Remote IP address or host name of the peer cluster. If not specified, the peer-addresses are not modified.

=end html

=back



=over 2

=item * I<rpc-connect-timeout>  =>   B<integer, optional>

=begin html

<br>The timeout for RPC Connect calls to the peer cluster in seconds. If not specified, the timeout is not modified.

=end html

=back



=over 2

=item * I<timeout>  =>   B<integer, optional>

=begin html

<br>The timeout for operations in the peer cluster in seconds. If not specified, the timeout is not modified.

=end html

=back



=over 2

=item * I<update-ping-timeout>  =>   B<integer, optional>

=begin html

<br>The timeout for pings to the peer cluster in seconds. If not specified, the timeout is not modified.

=end html

=back



B<Outputs>

=over 2

=item * I<passphrase-info>  =>   B<L<"cluster-peer-passphrase-info">, optional>

=begin html

<br>Cluster Peer Create Passphrase Information

=end html

=back



=head2 cluster_peer_modify_local_name

[B<Family:> cluster]


=begin html

Modify the local name for a cluster peer.

=end html



B<Inputs>

=over 2

=item * I<cluster-name>  =>   B<string>

=begin html

<br>The name of the peer cluster to modify.

=end html

=back



=over 2

=item * I<new-name>  =>   B<cluster-name-simple>

=begin html

<br>The new local name for the peer cluster.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cluster_peer_ping_iter

[B<Family:> cluster]


=begin html

Ping the specified peer nodes. Ping operations take place between a node in a cluster and a node in a remote cluster. The originating node is the node which initiates the ping operation and the destination cluster and node specify the remote node which is the target of the ping.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-ping-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cluster-peer-ping-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the cluster-peer-ping object. All cluster-peer-ping objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cluster-peer-ping-info">[], optional>

=begin html

<br>The list of attributes of cluster-peer-ping objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more cluster-peer-ping objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cluster_peer_policy_get

[B<Family:> cluster]


=begin html

Return the cluster peering policy configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cluster-peer-policy">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cluster-peer-policy">>

=begin html

<br>The attributes of the cluster-peer-policy.

=end html

=back



=head2 cluster_peer_policy_modify

[B<Family:> cluster]


=begin html

Modify the cluster peering policy configuration.

=end html



B<Inputs>

=over 2

=item * I<is-unauthenticated-access-permitted>  =>   B<boolean, optional>

=begin html

<br>Whether unauthenticated communication between cluster peers is permitted. If true, unauthenticated communication between cluster peers is permitted.

=end html

=back



=over 2

=item * I<passphrase-minlength>  =>   B<integer, optional>

=begin html

<br>Minimum length for a passphrase, integer in [0..1500].

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 config_backup_copy

[B<Family:> cluster]


=begin html

Copy a configuration backup. A job will be queued to copy the configuration backup. A job will be spawned to operate on the config-backup and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<backup-name>  =>   B<string>

=begin html

<br>The name of the configuration backup.

=end html

=back



=over 2

=item * I<from-node>  =>   B<string>

=begin html

<br>The source node to copy the configuration backup from. This is the node that has the backup file on its root volume.

=end html

=back



=over 2

=item * I<to-node>  =>   B<string>

=begin html

<br>The destination node to copy the configuration backup to.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 config_backup_create

[B<Family:> cluster]


=begin html

Create a configuration backup. A job will be queued to create the configuration backup in the background. Creation of configuration backup may take several minutes. This ZAPI creates an on demand backup. A job will be spawned to operate on the config-backup and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<backup-name>  =>   B<string, optional>

=begin html

<br>The name of the configuration backup. It must be a valid file name. An extension of .7z will be added if the given backup-name doesn't have that extension. If backup-name is not provided, software will generate the name for configuration backup.

=end html

=back



=over 2

=item * I<backup-type>  =>   B<backup-type, optional>

=begin html

<br>Indicates if the backup is a node or a cluster backup. A node backup contains only node-specific configuration of a particular node in the cluster. A cluster backup contains cluster-wide replicas in addition to node backup of each node in the cluster. Possible values: <ul> <li> "node" - Node Backup, <li> "cluster" - Cluster Backup </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node to own the configuration backup. This is the node that will have the backup file on its root volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 config_backup_delete

[B<Family:> cluster]


=begin html

Delete a configuration backup.

=end html



B<Inputs>

=over 2

=item * I<backup-name>  =>   B<string>

=begin html

<br>The name of the configuration backup.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node that owns the configuration backup. This is the node that has the backup file on its root volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 config_backup_download

[B<Family:> cluster]


=begin html

Download a configuration backup from a URL.

=end html



B<Inputs>

=over 2

=item * I<backup-name>  =>   B<string, optional>

=begin html

<br>The name of the configuration backup. It must be a valid file name. An extension of .7z will be added if the given backup-name doesn't have that extension. If backup-name is not provided, software will generate a name for configuration backup.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node to own the configuration backup. The backup file will be downloaded to the root volume of this node.

=end html

=back



=over 2

=item * I<source-url>  =>   B<string>

=begin html

<br>The source URL. URL is specified following the syntax described in RFC 3986. Only 'ftp', 'http' and 'https' protocols are supported.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 config_backup_info_get

[B<Family:> cluster]


=begin html

Return information about a specified configuration backup.

=end html



B<Inputs>

=over 2

=item * I<backup-name>  =>   B<string>

=begin html

<br>The name of the configuration backup.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"config-backup-info-type">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node that owns the configuration backup. This is the node that has the backup file on its root volume.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"config-backup-info-type">>

=begin html

<br>The attributes of the config-backup-info.

=end html

=back



=head2 config_backup_info_get_iter

[B<Family:> cluster]


=begin html

Return a list of configuration backups in the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"config-backup-info-type">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"config-backup-info-type">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the config-backup-info object. All config-backup-info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"config-backup-info-type">[], optional>

=begin html

<br>The list of attributes of config-backup-info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more config-backup-info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 config_backup_rename

[B<Family:> cluster]


=begin html

Rename a configuration backup. Renamed backup stays on the same node.

=end html



B<Inputs>

=over 2

=item * I<backup-name>  =>   B<string>

=begin html

<br>The name of the configuration backup.

=end html

=back



=over 2

=item * I<new-backup-name>  =>   B<string>

=begin html

<br>The new name for the configuration backup. It must be a valid file name. An extension of .7z will be added if the given new-name doesn't have that extension.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node that owns the configuration backup. This is the node that has the backup file on its root volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 config_backup_settings_get

[B<Family:> cluster]


=begin html

Return information about the configuration backup settings.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"config-backup-settings-type">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"config-backup-settings-type">>

=begin html

<br>The attributes of the config-backup-settings.

=end html

=back



=head2 config_backup_settings_modify

[B<Family:> cluster]


=begin html

Modify the settings for configuration backup operations.

=end html



B<Inputs>

=over 2

=item * I<backup-count1>  =>   B<integer, optional>

=begin html

<br>The number of configuration backups to keep in the cluster for schedule 1.

=end html

=back



=over 2

=item * I<backup-count2>  =>   B<integer, optional>

=begin html

<br>The number of configuration backups to keep in the cluster for schedule 2.

=end html

=back



=over 2

=item * I<backup-count3>  =>   B<integer, optional>

=begin html

<br>The number of configuration backups to keep in the cluster for schedule 3.

=end html

=back



=over 2

=item * I<destination-url>  =>   B<string, optional>

=begin html

<br>The destination URL for uploading the configuration backups. URL is specified following the syntax described in RFC 3986. Only 'ftp', 'http' and 'https' protocols are supported.

=end html

=back



=over 2

=item * I<username-for-destination-url>  =>   B<string, optional>

=begin html

<br>The username for the destination URL.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 config_backup_settings_password_set

[B<Family:> cluster]


=begin html

Modify the password for destination URL.

=end html



B<Inputs>

=over 2

=item * I<password-for-destination-url>  =>   B<string, optional>

=begin html

<br>Password for the destination URL.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 config_backup_upload

[B<Family:> cluster]


=begin html

Upload a configuration backup to a URL.

=end html



B<Inputs>

=over 2

=item * I<backup-name>  =>   B<string>

=begin html

<br>The name of the configuration backup.

=end html

=back



=over 2

=item * I<destination-url>  =>   B<string>

=begin html

<br>The destination URL. URL is specified following the syntax described in RFC 3986. Only 'ftp', 'http' and 'https' protocols are supported.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node that owns the configuration backup. This is the node that has the backup file on its root volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 coredump_trigger

[B<Family:> cluster]


=begin html

Trigger a coredump via the Service Processor

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node whose core dump is required

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 dashboard_alarm_get

[B<Family:> cluster]


=begin html

This command is removed starting from ONTAP 9.0.

=end html



B<Inputs>

=over 2

=item * I<dashboard-metric-type>  =>   B<dashboard-metric-type>

=begin html

<br>The type of metric being monitored. Possible values: <ul> <li> "cpu_busy" - CPU Utilization, <li> "port_util" - Port Utilization, <li> "op_latency" - Average Client Latency of NFS and CIFS operations, <li> "aggregate_used" - Storage Aggregate Utilization, <li> "port_problems" - Packet Error Ratio </ul>

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"dashboard-alarm-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Name of the node associated with the alarm metrics.

=end html

=back



=over 2

=item * I<object-name>  =>   B<string>

=begin html

<br>Name associated with the object being monitored. For example, the object-name is the name of the node if the dashboard-metric-type is cpu-busy.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"dashboard-alarm-info">>

=begin html

<br>The attributes of the dashboard-alarm.

=end html

=back



=head2 dashboard_alarm_get_iter

[B<Family:> cluster]


=begin html

This command is removed starting from ONTAP 9.0.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"dashboard-alarm-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"dashboard-alarm-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the dashboard-alarm object. All dashboard-alarm objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"dashboard-alarm-info">[], optional>

=begin html

<br>The list of attributes of dashboard-alarm objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more dashboard-alarm objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 dashboard_alarm_get_total_records

[B<Family:> cluster]


=begin html

This command is removed starting from ONTAP 9.0.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of dashboard-alarm objects.

=end html

=back



=head2 dashboard_alarm_threshold_get

[B<Family:> cluster]


=begin html

This command is removed starting from ONTAP 9.0.

=end html



B<Inputs>

=over 2

=item * I<dashboard-metric-type>  =>   B<dashboard-metric-type>

=begin html

<br>The type of metric being monitored. Possible values: <ul> <li> "cpu_busy" - CPU Utilization, <li> "port_util" - Port Utilization, <li> "op_latency" - Average Client Latency of NFS and CIFS operations, <li> "aggregate_used" - Storage Aggregate Utilization, <li> "port_problems" - Packet Error Ratio </ul>

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"dashboard-alarm-threshold-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"dashboard-alarm-threshold-info">>

=begin html

<br>The attributes of the dashboard-alarm-threshold.

=end html

=back



=head2 dashboard_alarm_threshold_get_iter

[B<Family:> cluster]


=begin html

This command is removed starting from ONTAP 9.0.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"dashboard-alarm-threshold-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"dashboard-alarm-threshold-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the dashboard-alarm-threshold object. All dashboard-alarm-threshold objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"dashboard-alarm-threshold-info">[], optional>

=begin html

<br>The list of attributes of dashboard-alarm-threshold objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more dashboard-alarm-threshold objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 dashboard_alarm_threshold_get_total_records

[B<Family:> cluster]


=begin html

This command is removed starting from ONTAP 9.0.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of dashboard-alarm-threshold objects.

=end html

=back



=head2 dashboard_alarm_threshold_modify

[B<Family:> cluster]


=begin html

This command is removed starting from ONTAP 9.0.

=end html



B<Inputs>

=over 2

=item * I<critical-threshold>  =>   B<string, optional>

=begin html

<br>The threshold value that must be reached to generate a critical alarm for this type of metric. Get request is returned with % sign for percent values and ms for milliseconds value. Example : 95%, 500ms

=end html

=back



=over 2

=item * I<dashboard-metric-type>  =>   B<dashboard-metric-type>

=begin html

<br>The type of metric being monitored. Possible values: <ul> <li> "cpu_busy" - CPU Utilization, <li> "port_util" - Port Utilization, <li> "op_latency" - Average Client Latency of NFS and CIFS operations, <li> "aggregate_used" - Storage Aggregate Utilization, <li> "port_problems" - Packet Error Ratio </ul>

=end html

=back



=over 2

=item * I<is-user-notification-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether user notifications are enabled.

=end html

=back



=over 2

=item * I<polling-interval>  =>   B<integer, optional>

=begin html

<br>The refresh interval for the alarm dashboard metrics (in seconds).

=end html

=back



=over 2

=item * I<threshold-units>  =>   B<threshold-unit, optional>

=begin html

<br>Threshold Units Possible values: <ul> <li> "none" - none, <li> "ms" - milliseconds, <li> "percent" - percent </ul>

=end html

=back



=over 2

=item * I<warning-threshold>  =>   B<string, optional>

=begin html

<br>The threshold value that must be reached to generate a warning alarm for this type of metric. Get request is returned with % sign for percent values and ms for milliseconds value. Example : 85%, 200ms

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 diagnosis_alert_definition_get

[B<Family:> cluster]


=begin html

Return alert definition

=end html



B<Inputs>

=over 2

=item * I<alert-id>  =>   B<string>

=begin html

<br>Alert identification.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-alert-definition-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"diagnosis-alert-definition-info">>

=begin html

<br>The attributes of the Alert Definition.

=end html

=back



=head2 diagnosis_alert_definition_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Alert Definition objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-alert-definition-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"diagnosis-alert-definition-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Alert Definition object. All Alert Definition objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"diagnosis-alert-definition-info">[], optional>

=begin html

<br>The list of attributes of Alert Definition objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Alert Definition objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 diagnosis_alert_get

[B<Family:> cluster]


=begin html

Return a subsystem alert

=end html



B<Inputs>

=over 2

=item * I<alert-id>  =>   B<string>

=begin html

<br>Alert identification.

=end html

=back



=over 2

=item * I<alerting-resource>  =>   B<string>

=begin html

<br>Unique name of resource that generated the alert.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-alert-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"diagnosis-alert-info">>

=begin html

<br>The attributes of the Alert Information.

=end html

=back



=head2 diagnosis_alert_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Alert Information objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-alert-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"diagnosis-alert-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Alert Information object. All Alert Information objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"diagnosis-alert-info">[], optional>

=begin html

<br>The list of attributes of Alert Information objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Alert Information objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 diagnosis_alert_modify

[B<Family:> cluster]


=begin html

Acknowledge/suppress an alert

=end html



B<Inputs>

=over 2

=item * I<acknowledge>  =>   B<boolean, optional>

=begin html

<br>Acknowledge the alert condition.

=end html

=back



=over 2

=item * I<acknowledger>  =>   B<string, optional>

=begin html

<br>Person who acknowledged this alert

=end html

=back



=over 2

=item * I<alert-id>  =>   B<string>

=begin html

<br>Alert identification.

=end html

=back



=over 2

=item * I<alerting-resource>  =>   B<string>

=begin html

<br>Unique name of resource that generated the alert.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor.

=end html

=back



=over 2

=item * I<suppress>  =>   B<boolean, optional>

=begin html

<br>Suppress this alert.

=end html

=back



=over 2

=item * I<suppressor>  =>   B<string, optional>

=begin html

<br>Person who suppressed this alert

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 diagnosis_config_get

[B<Family:> cluster]


=begin html

Return the system health framework configuration

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"diagnosis-config-info">>

=begin html

<br>The attributes of the Health Monitor Configuration.

=end html

=back



=head2 diagnosis_config_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Health Monitor Configuration objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"diagnosis-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Health Monitor Configuration object. All Health Monitor Configuration objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"diagnosis-config-info">[], optional>

=begin html

<br>The list of attributes of Health Monitor Configuration objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Health Monitor Configuration objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 diagnosis_delete_alert

[B<Family:> cluster]


=begin html

Delete subsystem alert

=end html



B<Inputs>

=over 2

=item * I<alert-id>  =>   B<string>

=begin html

<br>Alert identification.

=end html

=back



=over 2

=item * I<alerting-resource>  =>   B<string>

=begin html

<br>Unique name of resource that generated the alert.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 diagnosis_policy_definition_get

[B<Family:> cluster]


=begin html

Return policy definition

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-policy-definition-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor.

=end html

=back



=over 2

=item * I<policy-id>  =>   B<string>

=begin html

<br>Policy identifier.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"diagnosis-policy-definition-info">>

=begin html

<br>The attributes of the Policy Definition.

=end html

=back



=head2 diagnosis_policy_definition_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Policy Definition objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-policy-definition-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"diagnosis-policy-definition-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Policy Definition object. All Policy Definition objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"diagnosis-policy-definition-info">[], optional>

=begin html

<br>The list of attributes of Policy Definition objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Policy Definition objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 diagnosis_policy_modify

[B<Family:> cluster]


=begin html

Enable/disable policy

=end html



B<Inputs>

=over 2

=item * I<enable>  =>   B<boolean, optional>

=begin html

<br>Enable/disable this policy.

=end html

=back



=over 2

=item * I<is-autosupport-enabled>  =>   B<boolean, optional>

=begin html

<br>Enable AutoSupport for this alert.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor.

=end html

=back



=over 2

=item * I<policy-id>  =>   B<string>

=begin html

<br>Policy identifier.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 diagnosis_status_get

[B<Family:> cluster]


=begin html

Return the overall system health

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-status">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"diagnosis-status">>

=begin html

<br>The attributes of the System Health Status.

=end html

=back



=head2 diagnosis_subscriptions_create

[B<Family:> cluster]


=begin html

Create a new Subscriptions for Notifications.

=end html



B<Inputs>

=over 2

=item * I<class-name>  =>   B<string>

=begin html

<br>Class name of changed resource.

=end html

=back



=over 2

=item * I<event-type>  =>   B<hm-event-type>

=begin html

<br>Type of event (rm-add, rm-del, rm-mod) for which notification is to be generated.

=end html

=back



=over 2

=item * I<fail-thresh>  =>   B<integer, optional>

=begin html

<br>Failure threshold for notification.

=end html

=back



=over 2

=item * I<instance-name>  =>   B<string, optional>

=begin html

<br>Instance name of changed resource.

=end html

=back



=over 2

=item * I<max-notify-period>  =>   B<integer, optional>

=begin html

<br>Maximum expected time for Notification to complete.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of source health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor and sends out notifications

=end html

=back



=over 2

=item * I<notify-dest-hm>  =>   B<hm-type>

=begin html

<br>Health monitor subsribing for notification.

=end html

=back



=over 2

=item * I<notify-dest-node>  =>   B<node-name>

=begin html

<br>Node hosting the health monitor that is subscribing for notification.

=end html

=back



=over 2

=item * I<notify-table>  =>   B<string, optional>

=begin html

<br>Table name for DSMF notification.

=end html

=back



=over 2

=item * I<psc-option>  =>   B<boolean, optional>

=begin html

<br>Enable/Disable periodic status confirmation.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the Subscriptions for Notifications on successful creation. Default: false

=end html

=back



=over 2

=item * I<subscription-id>  =>   B<string>

=begin html

<br>Subscription identifier.

=end html

=back



=over 2

=item * I<time-gap-notify>  =>   B<integer, optional>

=begin html

<br>Time Period between two notifications.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"diagnosis-subscriptions-info">, optional>

=begin html

<br>The Subscriptions for Notifications created (keys or the entire object if requested)

=end html

=back



=head2 diagnosis_subscriptions_get

[B<Family:> cluster]


=begin html

Return system health subscription

=end html



B<Inputs>

=over 2

=item * I<class-name>  =>   B<string>

=begin html

<br>Class name of changed resource.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-subscriptions-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<event-type>  =>   B<hm-event-type>

=begin html

<br>Type of event (rm-add, rm-del, rm-mod) for which notification is to be generated.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of source health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor and sends out notifications

=end html

=back



=over 2

=item * I<notify-dest-hm>  =>   B<hm-type>

=begin html

<br>Health monitor subsribing for notification.

=end html

=back



=over 2

=item * I<notify-dest-node>  =>   B<node-name>

=begin html

<br>Node hosting the health monitor that is subscribing for notification.

=end html

=back



=over 2

=item * I<subscription-id>  =>   B<string>

=begin html

<br>Subscription identifier.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"diagnosis-subscriptions-info">>

=begin html

<br>The attributes of the Subscriptions for Notifications.

=end html

=back



=head2 diagnosis_subscriptions_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Subscriptions for Notifications objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-subscriptions-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"diagnosis-subscriptions-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Subscriptions for Notifications object. All Subscriptions for Notifications objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"diagnosis-subscriptions-info">[], optional>

=begin html

<br>The list of attributes of Subscriptions for Notifications objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Subscriptions for Notifications objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 diagnosis_subscriptions_modify

[B<Family:> cluster]


=begin html

Modify system health subscription

=end html



B<Inputs>

=over 2

=item * I<class-name>  =>   B<string>

=begin html

<br>Class name of changed resource.

=end html

=back



=over 2

=item * I<event-type>  =>   B<hm-event-type>

=begin html

<br>Type of event (rm-add, rm-del, rm-mod) for which notification is to be generated.

=end html

=back



=over 2

=item * I<fail-thresh>  =>   B<integer, optional>

=begin html

<br>Failure threshold for notification.

=end html

=back



=over 2

=item * I<instance-name>  =>   B<string, optional>

=begin html

<br>Instance name of changed resource.

=end html

=back



=over 2

=item * I<max-notify-period>  =>   B<integer, optional>

=begin html

<br>Maximum expected time for Notification to complete.

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type>

=begin html

<br>Type of source health monitor (e.g. node_connect, system_connect, system).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node hosting this health monitor and sends out notifications

=end html

=back



=over 2

=item * I<notify-dest-hm>  =>   B<hm-type>

=begin html

<br>Health monitor subsribing for notification.

=end html

=back



=over 2

=item * I<notify-dest-node>  =>   B<node-name>

=begin html

<br>Node hosting the health monitor that is subscribing for notification.

=end html

=back



=over 2

=item * I<notify-table>  =>   B<string, optional>

=begin html

<br>Table name for DSMF notification.

=end html

=back



=over 2

=item * I<psc-option>  =>   B<boolean, optional>

=begin html

<br>Enable/Disable periodic status confirmation.

=end html

=back



=over 2

=item * I<subscription-id>  =>   B<string>

=begin html

<br>Subscription identifier.

=end html

=back



=over 2

=item * I<time-gap-notify>  =>   B<integer, optional>

=begin html

<br>Time Period between two notifications.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 diagnosis_subsystem_config_get

[B<Family:> cluster]


=begin html

Get the attributes of the Health Monitor Subsystem Status.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-subsystem-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<subsystem>  =>   B<hm-subsystem>

=begin html

<br>Type of subsystem being monitored <p> Possible values: <ul> <li> 'sas_connect', <li> 'ha_health', </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"diagnosis-subsystem-config-info">>

=begin html

<br>The attributes of the Health Monitor Subsystem Status.

=end html

=back



=head2 diagnosis_subsystem_config_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Health Monitor Subsystem Status objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"diagnosis-subsystem-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"diagnosis-subsystem-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Health Monitor Subsystem Status object. All Health Monitor Subsystem Status objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"diagnosis-subsystem-config-info">[], optional>

=begin html

<br>The list of attributes of Health Monitor Subsystem Status objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Health Monitor Subsystem Status objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 diagnosis_subsystem_config_modify

[B<Family:> cluster]


=begin html

Modify system health subsystem

=end html



B<Inputs>

=over 2

=item * I<refresh-interval>  =>   B<integer, optional>

=begin html

<br>Subsystem Refresh Interval in Minutes.

=end html

=back



=over 2

=item * I<subsystem>  =>   B<hm-subsystem>

=begin html

<br>Type of subsystem being monitored <p> Possible values: <ul> <li> 'sas_connect', <li> 'ha_health', </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_fail

[B<Family:> cluster]


=begin html

Fail a file system disk. Removes the specified file system disk from the RAID configuration, spinning the disk down when removal is complete. disk fail is used to remove a file system disk that may be logging excessive errors and requires replacement. Note that if optional input parameter 'is-immediate' is true, the specified disk will be immediately failed out, and the RAID group to which the disk belongs will enter degraded mode (meaning a disk is missing from the RAID group). If a spare disk at least as large as the disk being removed is available, the contents of the disk being removed will be reconstructed onto that spare disk. If 'is-immediate' options is false or not specified, system will prefail the disk and its content will be copied to a replacement disk if a suitable spare disk is available, and afterwards the prefailed disk will be failed out. This process can be observed by polling disk-list-info for this disk and tracking values of elements copy-destination and copy-percent. Same can be done using 'storage-disk-get-iter' when requested from Admin Vserver LIF. The disk being failed is marked as ``broken'', so that if it remains in the disk shelf, it will not be used by the filer as a spare disk. If the disk is moved to another filer, that filer will use it as a spare. This is not a recommended course of action, as the reason that the disk was failed may have been because it needed to be replaced. NOTE: Data ONTAP 7.0 and earlier releases don't indicate failure code properly.

=end html



B<Inputs>

=over 2

=item * I<disk>  =>   B<string>

=begin html

<br>Name of the disk. e.g. "1.1.3" or "NET-1.1" for a virtual disk.

=end html

=back



=over 2

=item * I<is-immediate>  =>   B<boolean, optional>

=begin html

<br>Specify 'true' if disk is to be failed out immediately. If disk is to be prefailed, specify 'false'. Default value is 'false'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_remove

[B<Family:> cluster]


=begin html

Remove a spare disk. Removes the specified spare disk from the RAID configuration, spinning the disk down when removal is complete. You can use disk remove to remove a spare disk so that it can be used by another filer (as a replacement for a failed disk or to expand file system space). NOTE: Data ONTAP 7.0 and earlier releases don't indicate failure code properly.

=end html



B<Inputs>

=over 2

=item * I<disk>  =>   B<string>

=begin html

<br>Name of the disk to remove. e.g. "1.1.3" or "NET-1.1" for a virtual disk.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_replace_start

[B<Family:> cluster]


=begin html

Initiate replacing a file system disk with an appropriate spare disk. Uses Rapid RAID Recovery to copy data from the source file system disk to the destination spare disk. Roles of disks are reversed at the end of that process. The spare disk will replace the file system disk in the RAID group and the file system disk will become a spare. This interface returns as soon as possible while disk replace starts in the background. This process can be observed by polling disk-list-info for this disk and tracking values of elements copy-destination and copy-percent. Note: The operation performs limited error checking. Disk replace starts asynchronously in the background, and it can fail even if ZAPI reports success.

=end html



B<Inputs>

=over 2

=item * I<allow-same-carrier>  =>   B<boolean, optional>

=begin html

<br>Using two disks from one carrier that houses multiple disks in one RAID group is not desirable. If that happens, Data ONTAP initiates a series of disk copy operations to correct that situation. Sometimes, selection of available spare disks makes it impossible to avoid placing two disks from one carrier in one RAID group. Setting this option to true allows placing two disks from one carrier in one RAID group.

=end html

=back



=over 2

=item * I<disk>  =>   B<string>

=begin html

<br>Name of the file system disk to replace.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Allow replacement-disk to come from the opposite spare pool. Also allow replacement-disk not matching rotational speed of majority of disks in the aggregate.

=end html

=back



=over 2

=item * I<replacement-disk>  =>   B<string>

=begin html

<br>Name of the spare disk to use as a replacement.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_replace_stop

[B<Family:> cluster]


=begin html

Abort disk replace.

=end html



B<Inputs>

=over 2

=item * I<disk>  =>   B<string>

=begin html

<br>Name of the file system disk being replaced.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_sanown_assign

[B<Family:> cluster]


=begin html

Assigns ownership of a disk. The normal usage is when the disk is unowned, or to assign a disk to a pool.

=end html



B<Inputs>

=over 2

=item * I<all>  =>   B<boolean, optional>

=begin html

<br>Assign all unowned visible disks to the specified node-name. The node-name parameter is mandatory. Other than node-name and copy-owner-from is not allowed with this option. If copy-owner-from parameter is specified with parameter node-name node assign disk ownership based on copy-owner-from else it assign ownership of disks based on node-name.

=end html

=back



=over 2

=item * I<auto>  =>   B<boolean, optional>

=begin html

<br>Auto-assign unowned disks which are on loops where only 1 filer owns the disks and the pool information is the same, to the specified node. The node parameter is mandatory. No other parameter is allowed with this option.

=end html

=back



=over 2

=item * I<checksum>  =>   B<string, optional>

=begin html

<br>Assign checksum type to disk. Option may only be specified on a RAID array LUNs. Possible values are: <ul> <li>"block"</li> <li>"zoned"</li> <li>"advanced_zoned"</li> </ul>

=end html

=back



=over 2

=item * I<copy-owner-from>  =>   B<string, optional>

=begin html

<br>Assign ownership of this disk to be the same as the owner of the disk specified

=end html

=back



=over 2

=item * I<disk>  =>   B<string, optional>

=begin html

<br>Name of disk to assign. Wildcarding for disk string is supported. Either of owner, owner-id or copy-owner-from is mandatory. The node parameter is not allowed with this option.

=end html

=back



=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>Assign specified count of disks. Either of owner, owner-id or copy-owner-from is mandatory. The node parameter is not allowed with this option.

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Assign specified type of disk(or set of disks). The disk-count parameter is mandatory. Type of disk: ATA, BSAS, FCAL, FSAS, LUN, MSATA, SAS, SSD, BSSD, VMDISK, or unknown.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force flag need to be set to 'true' if assigning disks which are already owned a Filer. However, if that Filer is up and has put a reservation on the disk, even the force option won't work.

=end html

=back



=over 2

=item * I<is-data-partition>  =>   B<boolean, optional>

=begin html

<br>Used only with disk parameter. It specifies if the assign command must be executed on the data partition of a root-data partitioned disk. This field is mutually exclusive with 'is-root-partition', 'is-data1-partition' and 'is-data2-partition' fields. When none of 'is-root-partition', 'is-data-partition', 'is-data1-partition', or 'is-data2-partition' are specified or are all false, and disk is partitioned, then ownership of container disk is changed. The default value is false.

=end html

=back



=over 2

=item * I<is-data1-partition>  =>   B<boolean, optional>

=begin html

<br>Used only with disk parameter. It specifies if the assign command must be executed on the data1 partition of a root-data1-data2 partitioned disk. This field is mutually exclusive with 'is-root-partition', 'is-data-partition' and 'is-data2-partition' fields. When none of 'is-root-partition', 'is-data-partition', 'is-data1-partition', or 'is-data2-partition' are specified or are all false, and disk is partitioned, then ownership of container disk is changed. The default value is false.

=end html

=back



=over 2

=item * I<is-data2-partition>  =>   B<boolean, optional>

=begin html

<br>Used only with disk parameter. It specifies if the assign command must be executed on the data2 partition of a root-data1-data2 partitioned disk. This field is mutually exclusive with 'is-root-partition', 'is-data-partition' and 'is-data1-partition' fields. When none of 'is-root-partition', 'is-data-partition', 'is-data1-partition', or 'is-data2-partition' are specified or are all false, and disk is partitioned, then ownership of container disk is changed. The default value is false.

=end html

=back



=over 2

=item * I<is-root-partition>  =>   B<boolean, optional>

=begin html

<br>Used only with disk parameter. It specifies if the assign command must be executed on the root partition of the disk. This field is mutually exclusive with 'is-data-partition', 'is-data1-partition' and 'is-data2-partition' fields. When none of 'is-root-partition', 'is-data-partition', 'is-data1-partition', or 'is-data2-partition' are specified or are all false, and disk is partitioned, then ownership of container disk is changed. The default value is false.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Used only with auto or all parameter. It specifies the node to which autoassignment or assignment of all unowned disks must be done. When this is specified with copy-owner-from option assignment of selected disk will happen based on disk ownership present for disk specified for copy-owner-from parameter.

=end html

=back



=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Assign disk to specific owner (node name). Either of owner,owner-id or copy-owner-from is mandatory.

=end html

=back



=over 2

=item * I<owner-id>  =>   B<integer, optional>

=begin html

<br>Assign disk to specific owner ID (NVRAM ID or serial number). Either of owner,owner-id or copy-owner-from is mandatory Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<pool>  =>   B<integer, optional>

=begin html

<br>Assign disk to specific pool, e.g. '0' or '1'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_sanown_filer_list_info

[B<Family:> cluster]


=begin html

Get sanown filer information.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node name for which info is requested

=end html

=back



B<Outputs>

=over 2

=item * I<disk-sanown-filer-details>  =>   B<L<"disk-sanown-filer-detail-info">[]>

=begin html

<br>List of filers and their information.

=end html

=back



=head2 disk_sanown_list_info

[B<Family:> cluster]


=begin html

Get sanown disk information. This API is not supported as of Data ONTAP 8.2. Use storage-disk-get-iter instead.

=end html



B<Inputs>

=over 2

=item * I<disk>  =>   B<string, optional>

=begin html

<br>Get ownership status for given disk, if not supplied, get ownership for all disks or if onership-type is supplied, get ownership info for disks of specific type. '6a*' wildcarding is supported.

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node name for which info is requested

=end html

=back



=over 2

=item * I<ownership-type>  =>   B<string, optional>

=begin html

<br>Possible values are 'all' which will list all disks. 'unowned' which will list all disks without owners. 'owned' which will list all disks with owners. 'visible' which will list all disks belonging to the local and partner filer. Default is 'all'. If specific disk is specified, ownership-type will be ignored.

=end html

=back



B<Outputs>

=over 2

=item * I<disk-sanown-details>  =>   B<L<"disk-sanown-detail-info">[]>

=begin html

<br>List of disks and their sanown information.

=end html

=back



=head2 disk_sanown_reassign

[B<Family:> cluster]


=begin html

Changes ownership on disks already belonging to an owner.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force flag need to be set to 'true' if reassigning disks which are owned by another Filer. However, if that Filer is up and has put a reservation on the disk, even the force option won't work. In this case reassign will need to be run on the Filer which owns the disks.

=end html

=back



=over 2

=item * I<new-owner>  =>   B<string, optional>

=begin html

<br>Name of new owner. This form will assign all the disks belonging to the old owner to the specific owner.

=end html

=back



=over 2

=item * I<new-owner-id>  =>   B<integer>

=begin html

<br>ID of new owner. This form will assign all the disks belonging to the old owner to the specific owner ID. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<old-owner>  =>   B<string, optional>

=begin html

<br>Name of old owner. This form takes all disks currently belonging to the specific old owner, and reassigns them to a new owner.

=end html

=back



=over 2

=item * I<old-owner-id>  =>   B<integer>

=begin html

<br>ID of old owner. This form takes all disks currently belonging to the specific old owner ID, and reassign them to a new owner. Range : [0..2^32-1].

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_sanown_remove_ownership

[B<Family:> cluster]


=begin html

Removes ownership information on a disks provided by disk-list.

=end html



B<Inputs>

=over 2

=item * I<all>  =>   B<boolean, optional>

=begin html

<br>If 'true' remove ownership information from all disks. (maintenance mode only)

=end html

=back



=over 2

=item * I<disk-list>  =>   B<disk-name[], optional>

=begin html

<br>List of disks to remove ownership information from. e.g. "1.1.1 1.1.2" or "NET-1.1 NET-1.2" for virtual disks.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If 'true' override the RAID checks. Eg: Disk is part of aggregate. Otherwise defaults to false.

=end html

=back



=over 2

=item * I<is-data-partition>  =>   B<boolean, optional>

=begin html

<br>Used only with disk parameter. It specifies if the remove-ownership command must be executed on the data partition of a root-data partitioned disk. This field is mutually exclusive with 'is-root-partition', 'is-data1-partition', 'is-data2-partition' fields. When none of 'is-root-partition', 'is-data-partition', 'is-data1-partition', 'is-data2-partition' are specified or are all false and disk is partitioned, then ownership of container disk is removed. The default value is false.

=end html

=back



=over 2

=item * I<is-data1-partition>  =>   B<boolean, optional>

=begin html

<br>Used only with disk parameter. It specifies if the remove-ownership command must be executed on the data1 partition of a root-data1-data2 partitioned disk. This field is mutually exclusive with 'is-root-partition', 'is-data-partition', 'is-data2-partition' fields. When none of 'is-root-partition', 'is-data-partition', 'is-data1-partition', 'is-data2-partition' are specified or are all false and disk is partitioned, then ownership of container disk is removed. The default value is false.

=end html

=back



=over 2

=item * I<is-data2-partition>  =>   B<boolean, optional>

=begin html

<br>Used only with disk parameter. It specifies if the remove-ownership command must be executed on the data2 partition of a root-data1-data2 partitioned disk. This field is mutually exclusive with 'is-root-partition', 'is-data-partition', 'is-data1-partition' fields. When none of 'is-root-partition', 'is-data-partition', 'is-data1-partition', 'is-data2-partition' are specified or are all false and disk is partitioned, then ownership of container disk is removed. The default value is false.

=end html

=back



=over 2

=item * I<is-root-partition>  =>   B<boolean, optional>

=begin html

<br>Used only with disk parameter. It specifies if the remove-ownership command must be executed on the root partition of a root-data or root-data1-data2 partitioned disk. This field is mutually exclusive with 'is-data-partition', 'is-data1-partition', 'is-data2-partition' fields. When none of 'is-root-partition', 'is-data-partition', 'is-data1-partition', 'is-data2-partition' are specified or are all false and disk is partitioned, then ownership of container disk is removed. The default value is false.

=end html

=back



=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Remove ownership of all disks owned by owner. Either owner or owner-id is mandatory

=end html

=back



=over 2

=item * I<owner-id>  =>   B<integer, optional>

=begin html

<br>Remove ownership of all disks owned by this owner-id (maintenance mode only). Range [0..2^32-1]

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_unfail

[B<Family:> cluster]


=begin html

Unfail a disk in the broken pool, by clearing its FDR (Failed Disk Registry) entry and unfailing it at the Storage Layer, as necessary. If the "make-spare" option is set to B_TRUE, the disk is returned to the spare pool. Otherwise, label assimilation will bring the disk back according to its on-disk labels, with one of four possible outcomes. 1. Disk becomes a spare. This is the common case. The disk becomes a spare upon unfail, because its parent volume is complete and online. 2. Disk is assimilated into former volume. This is a recovery scenario. The disk is brought back into an existing volume, which may result in this volume coming back online. 3. Disk is assimilated into a new partial volume. This may occur in the rare case that the disk's former volume was destroyed or moved. 4. Disk returned to broken pool. This is the case if a fatal error occurs in process of unfailing the disk.

=end html



B<Inputs>

=over 2

=item * I<disk>  =>   B<string>

=begin html

<br>Name of the disk. e.g. "1.1.3" or "NET-1.1" for a virtual disk.

=end html

=back



=over 2

=item * I<make-spare>  =>   B<boolean, optional>

=begin html

<br>Specify 'true' to force the disk to become a spare upon unfail. Default value is 'false'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_update_disk_fw

[B<Family:> cluster]


=begin html

Start disk firmware download process to update firmware on disks. This operation is asynchronous, and therefore returns no errors that might occur during the download process. This operation will only update firmware on disks that do not have the latest firmware revision. The firmware revision on the disk can be monitored via the disk-list-info API.

=end html



B<Inputs>

=over 2

=item * I<disk-list>  =>   B<disk-name[], optional>

=begin html

<br>List of disks to be updated. If not specified, all disks are updated. e.g. "1.1.1 1.1.2 1.1.3" or "NET-1.1 NET-1.2" for virtual disks.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_zero_spares

[B<Family:> cluster]


=begin html

Set up all non-zeroed spares owned by the filer to start zeroing. This operation is asynchronous, and therefore returns no errors that might occur when the zeroing operation actually starts, which could be several seconds after this API operation completes. Zeroing progress can be monitored via the disk-list-info API. Same can be done using 'storage-disk-get-iter' when requested from Admin Vserver LIF. The "zeroing-percent" element of disk-detail-info is returned if disk zeroing has started, and "is-zeroed" returns TRUE once the zeroing has completed (or, if zeroing wasn't necessary in the first place).

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node on which spare disks to be zeroed When requested from Admin Vserver LIF and node name is not specified, spare disks from all nodes in the cluster will be zeroed.

=end html

=back



=over 2

=item * I<use-physical-zeroing>  =>   B<boolean, optional>

=begin html

<br>If set to true, the ZAPI will not use fast zeroing, even if the nodes(s) owning the disks have the feature enabled. This will usually lead to much longer completion times.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_encrypt_get

[B<Family:> cluster]


=begin html

Return data key ID, FIPS key ID and protection mode of a self-encrypting disk (SED).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"disk-encrypt-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<disk-name>  =>   B<string>

=begin html

<br>Name of the self-encrypting disk (SED).

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"disk-encrypt-info">>

=begin html

<br>The attributes of the disk-encrypt.

=end html

=back



=head2 disk_encrypt_get_iter

[B<Family:> cluster]


=begin html

Return data key ID, FIPS key ID and protection mode of one or more self-encrypting disks (SEDs).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"disk-encrypt-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 2000

=end html

=back



=over 2

=item * I<query>  =>   B<L<"disk-encrypt-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the disk-encrypt object. All disk-encrypt objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"disk-encrypt-info">[], optional>

=begin html

<br>The list of attributes of disk-encrypt objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more disk-encrypt objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 disk_encrypt_modify

[B<Family:> cluster]


=begin html

The disk-encrypt-modify API alters encryption parameters on a self-encrypting disk (SED). <p> The API output &lt;results status=&quot;passed&quot;&gt; indicates only that the operation has started. Monitor operation progress using the disk-encrypt-status-get or disk-encrypt-status-get-iter API.</p>

=end html



B<Inputs>

=over 2

=item * I<data-key-id>  =>   B<string, optional>

=begin html

<br>Modify the data authentication key to the key that corresponds to this key ID

=end html

=back



=over 2

=item * I<disk-name>  =>   B<disk-name>

=begin html

<br>The name specifier of the self-encrypting disks (SEDs).

=end html

=back



=over 2

=item * I<fips-key-id>  =>   B<string, optional>

=begin html

<br>Modify the FIPS-compliance authentication key to the key that corresponds to this key ID

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_encrypt_modify_iter

[B<Family:> cluster]


=begin html

The disk-encrypt-modify-iter API alters encryption parameters on one or more self-encrypting disks (SEDs). <p> The API output &lt;results status=&quot;passed&quot;&gt; indicates only that the operation has started. Monitor operation progress using the disk-encrypt-status-get or disk-encrypt-status-get-iter API.</p>

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple disk-encrypt objects match a given query. If set to true, the API will continue with the next matching disk-encrypt even when the operation fails for the disk-encrypt. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<data-key-id>  =>   B<string, optional>

=begin html

<br>Key ID of the New Data Authentication Key

=end html

=back



=over 2

=item * I<fips-key-id>  =>   B<string, optional>

=begin html

<br>Key ID of the New Authentication Key for FIPS Compliance

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching disk-encrypt even when the operation on a previous matching disk-encrypt fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of disk-encrypt objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"disk-encrypt-info">>

=begin html

<br>If operating on a specific disk-encrypt, this input element must specify all keys. If operating on disk-encrypt objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of disk-encrypt objects (just keys) that were not operated on due to some error. If set to false, the list of disk-encrypt objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of disk-encrypt objects (just keys) that were successfully operated on. If set to false, the list of disk-encrypt objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"disk-encrypt-modify-iter-info">[], optional>

=begin html

<br>Information about disk-encrypt objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching disk-encrypt objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of disk-encrypt objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of disk-encrypt objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"disk-encrypt-modify-iter-info">[], optional>

=begin html

<br>The disk-encrypt objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 disk_encrypt_sanitize

[B<Family:> cluster]


=begin html

The disk-encrypt-sanitize API cryptographically erases a self-encrypting disk (SED) that is in the spare or broken state. <p> The API output &lt;results status=&quot;passed&quot;&gt; indicates only that the operation has started. Monitor operation progress using the disk-encrypt-status-get or disk-encrypt-status-get-iter API.</p>

=end html



B<Inputs>

=over 2

=item * I<disk-name>  =>   B<string>

=begin html

<br>The name specifier of the self-encrypting disks (SEDs).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 disk_encrypt_sanitize_iter

[B<Family:> cluster]


=begin html

The disk-encrypt-sanitize-iter API cryptographically erases one or more self-encrypting disks (SEDs) that are in the spare or broken state. <p> The API output &lt;results status=&quot;passed&quot;&gt; indicates only that the operation has started. Monitor operation progress using the disk-encrypt-status-get or disk-encrypt-status-get-iter API.</p>

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple disk-encrypt objects match a given query. If set to true, the API will continue with the next matching disk-encrypt even when the operation fails for the disk-encrypt. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching disk-encrypt even when the operation on a previous matching disk-encrypt fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of disk-encrypt objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"disk-encrypt-info">>

=begin html

<br>If operating on a specific disk-encrypt, this input element must specify all keys. If operating on disk-encrypt objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of disk-encrypt objects (just keys) that were not operated on due to some error. If set to false, the list of disk-encrypt objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of disk-encrypt objects (just keys) that were successfully operated on. If set to false, the list of disk-encrypt objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"disk-encrypt-sanitize-iter-info">[], optional>

=begin html

<br>Information about disk-encrypt objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching disk-encrypt objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of disk-encrypt objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of disk-encrypt objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"disk-encrypt-sanitize-iter-info">[], optional>

=begin html

<br>The disk-encrypt objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 disk_encrypt_status_get

[B<Family:> cluster]


=begin html

Return information about the latest storage encryption disk command for a node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"disk-encrypt-show-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The node reporting this status.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"disk-encrypt-show-status-info">>

=begin html

<br>The attributes of the disk-encrypt.

=end html

=back



=head2 disk_encrypt_status_get_iter

[B<Family:> cluster]


=begin html

Return information about the latest storage encryption disk command for one or more nodes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"disk-encrypt-show-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"disk-encrypt-show-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the disk-encrypt object. All disk-encrypt objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"disk-encrypt-show-status-info">[], optional>

=begin html

<br>The list of attributes of disk-encrypt objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more disk-encrypt objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_autosupport_log

[B<Family:> vserver]


=begin html

This API is used by SnapDrive to log SnapDrive specific events occurring on a host system to the the appliance and optionally use the appliance to generate an autosupport message. This event information will be encapsulated in an app.log.x EMS event based on error level. If auto-support is true, an autosupport message will be sent from the filer.

=end html



B<Inputs>

=over 2

=item * I<app-version>  =>   B<string>

=begin html

<br>Version of application invoking the API.

=end html

=back



=over 2

=item * I<auto-support>  =>   B<boolean>

=begin html

<br>If 'true', an AutoSupport message will be generated.

=end html

=back



=over 2

=item * I<category>  =>   B<string>

=begin html

<br>Application defined category of the event.

=end html

=back



=over 2

=item * I<computer-name>  =>   B<string>

=begin html

<br>Host name invoking the API.

=end html

=back



=over 2

=item * I<event-description>  =>   B<string>

=begin html

<br>Description of event to log. An application defined message to log.

=end html

=back



=over 2

=item * I<event-id>  =>   B<integer>

=begin html

<br>ID of event. A user defined event-id, range [0..2^32-2].

=end html

=back



=over 2

=item * I<event-source>  =>   B<string>

=begin html

<br>Name of the application invoking the API.

=end html

=back



=over 2

=item * I<log-level>  =>   B<integer>

=begin html

<br>Log level. Accepted values are 0 for 'emergency', 1 for 'alert', 2 for 'critical', 3 for 'error', 4 for 'warning', 5 for 'notice', 6 for 'info', and 7 for 'debug'. As of Data ONTAP 9.0, log-level's 2 and 4 are no longer supported. Specifying 2 or 4 would be equivalent to specifying 3 or 5, respectively.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_config_get

[B<Family:> cluster]


=begin html

Return the EMS Configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-config-info">>

=begin html

<br>The attributes of the ems-config.

=end html

=back



=head2 ems_config_modify

[B<Family:> cluster]


=begin html

Modify the EMS Configuration.

=end html



B<Inputs>

=over 2

=item * I<auto-suppress-exempt-filter>  =>   B<string, optional>

=begin html

<br>Name of event filter exempt from auto-suppression

=end html

=back



=over 2

=item * I<console>  =>   B<boolean, optional>

=begin html

<br>Whether console logging should be used.

=end html

=back



=over 2

=item * I<console-log-level>  =>   B<emsseverity, optional>

=begin html

<br>Console logging level. Possible values: <ul> <li> "node_fault" - A data corruption has been detected or the node is unable to provide client service, <li> "svc_fault" - A temporary loss of service has been detected, typically a transient software fault, <li> "node_error" - A hardware error has been detected which is not immediately fatal, <li> "svc_error" - A software error has been detected which is not immediately fatal, <li> "warning" - A high-priority message, does not indicate a fault, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "info" - A low-priority message, does not indicate a fault, <li> "debug" - A debugging message, typically suppressed from customer, <li> "var" - Message has variable severity, selected at runtime </ul>

=end html

=back



=over 2

=item * I<duplicate-suppression-duration>  =>   B<integer, optional>

=begin html

<br>Duration in seconds for suppression of identical messages

=end html

=back



=over 2

=item * I<log-rotation-size>  =>   B<size, optional>

=begin html

<br>Log file size (in bytes) needed to trigger rotation

=end html

=back



=over 2

=item * I<mail-from>  =>   B<mail-address, optional>

=begin html

<br>The from address of ems mail.

=end html

=back



=over 2

=item * I<mail-server>  =>   B<string, optional>

=begin html

<br>The mail server to use when sending mail.

=end html

=back



=over 2

=item * I<max-destination-count>  =>   B<integer, optional>

=begin html

<br>Maximum number of event notification destinations in system.

=end html

=back



=over 2

=item * I<max-filter-count>  =>   B<integer, optional>

=begin html

<br>Maximum number of event filters in system.

=end html

=back



=over 2

=item * I<max-filter-rule-count>  =>   B<integer, optional>

=begin html

<br>Maximum number of event filter rules in system.

=end html

=back



=over 2

=item * I<max-log-show-size>  =>   B<integer, optional>

=begin html

<br>Maximum number of events to show.

=end html

=back



=over 2

=item * I<max-notification-count>  =>   B<integer, optional>

=begin html

<br>Maximum number of event notifications in system.

=end html

=back



=over 2

=item * I<max-target-event-bytes>  =>   B<integer, optional>

=begin html

<br>Maximum bytes per event per week. Used by autosuppression to control growth of log file size.

=end html

=back



=over 2

=item * I<max-target-log-size>  =>   B<integer, optional>

=begin html

<br>The target upper limit of the event log file size in bytes. Used by autosuppression to control growth of log file size.

=end html

=back



=over 2

=item * I<proxy-url>  =>   B<string, optional>

=begin html

<br>HTTP/HTTPS proxy URL to use when sending to REST API destinations.

=end html

=back



=over 2

=item * I<proxy-user>  =>   B<string, optional>

=begin html

<br>User name to use for the HTTP/HTTPS proxy when sending to REST API destinations.

=end html

=back



=over 2

=item * I<rest-delivery-timeout>  =>   B<integer, optional>

=begin html

<br>REST API URL delivery timeout in seconds.

=end html

=back



=over 2

=item * I<suppression>  =>   B<boolean, optional>

=begin html

<br>Whether suppression should be used.

=end html

=back



=over 2

=item * I<trace-log-size>  =>   B<integer, optional>

=begin html

<br>Maximum number of traces kept.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_config_set_proxy_password

[B<Family:> cluster]


=begin html

Modify the password for proxy server

=end html



B<Inputs>

=over 2

=item * I<password-for-proxy-server>  =>   B<string, optional>

=begin html

<br>Password for proxy server

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_destination_create

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Creates an EMS destination.

=end html



B<Inputs>

=over 2

=item * I<hide-parameters>  =>   B<boolean, optional>

=begin html

<br>Hide parameter values?

=end html

=back



=over 2

=item * I<mail>  =>   B<mail-address[], optional>

=begin html

<br>The e-mail address to which events are sent.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>The name of the EMS destination.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the ems-destination on successful creation. Default: false

=end html

=back



=over 2

=item * I<snmp>  =>   B<remote-ip[], optional>

=begin html

<br>The SNMP addresses to which traps are sent.

=end html

=back



=over 2

=item * I<snmp-community>  =>   B<string, optional>

=begin html

<br>The SNMP community name.

=end html

=back



=over 2

=item * I<syslog>  =>   B<remote-ip[], optional>

=begin html

<br>The remote syslog servers to which messages are sent.

=end html

=back



=over 2

=item * I<syslog-facility>  =>   B<syslog-facility, optional>

=begin html

<br>The syslog logging facility.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"ems-destination-info">, optional>

=begin html

<br>The ems-destination created (keys or the entire object if requested)

=end html

=back



=head2 ems_destination_destroy

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Deletes the specified EMS destination.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>The name of the EMS destination.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_destination_destroy_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Deletes several EMS destinations.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-destination objects match a given query. If set to true, the API will continue deleting the next matching ems-destination even when the deletion of a previous ems-destination fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching ems-destination even when the deletion of a previous matching ems-destination fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of ems-destination objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-destination-info">>

=begin html

<br>If deleting a specific ems-destination, this input element must specify all keys. If deleting multiple ems-destination objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-destination objects (just keys) that were not deleted due to some error. If set to false, the list of ems-destination objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-destination objects (just keys) that were successfully deleted. If set to false, the list of ems-destination objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-destination-destroy-iter-info">[], optional>

=begin html

<br>Information about ems-destination objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-destination objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of ems-destination objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-destination objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-destination-destroy-iter-info">[], optional>

=begin html

<br>The ems-destination objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 ems_destination_get

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Return the specified EMS destination information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-destination-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>The name of the EMS destination.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-destination-info">>

=begin html

<br>The attributes of the ems-destination.

=end html

=back



=head2 ems_destination_get_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Return information on EMS destinations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-destination-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-destination-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-destination object. All ems-destination objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ems-destination-info">[], optional>

=begin html

<br>The list of attributes of ems-destination objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-destination objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_destination_modify

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Modifies the specified EMS destination.

=end html



B<Inputs>

=over 2

=item * I<hide-parameters>  =>   B<boolean, optional>

=begin html

<br>Hide parameter values?

=end html

=back



=over 2

=item * I<mail>  =>   B<mail-address[], optional>

=begin html

<br>The e-mail address to which events are sent.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>The name of the EMS destination.

=end html

=back



=over 2

=item * I<snmp>  =>   B<remote-ip[], optional>

=begin html

<br>The SNMP addresses to which traps are sent.

=end html

=back



=over 2

=item * I<snmp-community>  =>   B<string, optional>

=begin html

<br>The SNMP community name.

=end html

=back



=over 2

=item * I<syslog>  =>   B<remote-ip[], optional>

=begin html

<br>The remote syslog servers to which messages are sent.

=end html

=back



=over 2

=item * I<syslog-facility>  =>   B<syslog-facility, optional>

=begin html

<br>The syslog logging facility.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_destination_modify_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Modifies several EMS destinations.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-destination-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-destination objects match a given query. If set to true, the API will continue modifying the next matching ems-destination even when modification of a previous ems-destination fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching ems-destination even when the modification of a previous matching ems-destination fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-destination-info">>

=begin html

<br>If modifying a specific ems-destination, this input element must specify all keys. If modifying ems-destination objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-destination objects (just keys) that were not modified due to some error. If set to false, the list of ems-destination objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-destination objects (just keys) that were successfully updated. If set to false, the list of ems-destination objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-destination-modify-iter-info">[], optional>

=begin html

<br>Information about ems-destination objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-destination objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of ems-destination objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-destination objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-destination-modify-iter-info">[], optional>

=begin html

<br>The ems-destination objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 ems_event_catalog_get_iter

[B<Family:> cluster]


=begin html

Return information on several EMS messages.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"event-catalog-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-catalog-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-event-catalog object. All ems-event-catalog objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"event-catalog-info">[], optional>

=begin html

<br>The list of attributes of ems-event-catalog objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-event-catalog objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_event_filter_copy

[B<Family:> cluster]


=begin html

Copy an Event filter including all its rules

=end html



B<Inputs>

=over 2

=item * I<filter-name>  =>   B<string>

=begin html

<br>Event Filter Name.

=end html

=back



=over 2

=item * I<new-filter-name>  =>   B<string>

=begin html

<br>New Event Filter Name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_event_filter_create

[B<Family:> cluster]


=begin html

Create a new event filter.

=end html



B<Inputs>

=over 2

=item * I<filter-name>  =>   B<string>

=begin html

<br>Filter Name. The name must start and end with an alphanumeric and must be in the length of 2 to 64 characters. The allowed special characters are _(underscore) and -(hyphen).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_event_filter_destroy_iter

[B<Family:> cluster]


=begin html

Delete one or more existing event filters. To delete the event notifications associated with the filter as well, set the force flag.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-event-filter objects match a given query. If set to true, the API will continue with the next matching ems-event-filter even when the operation fails for the ems-event-filter. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<force-delete-notification>  =>   B<boolean, optional>

=begin html

<br>If true, delete the event notifications that have the specified filter. The default is false.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching ems-event-filter even when the operation on a previous matching ems-event-filter fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of ems-event-filter objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-filter">>

=begin html

<br>If operating on a specific ems-event-filter, this input element must specify all keys. If operating on ems-event-filter objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-filter objects (just keys) that were not operated on due to some error. If set to false, the list of ems-event-filter objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-filter objects (just keys) that were successfully operated on. If set to false, the list of ems-event-filter objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-event-filter-destroy-iter-info">[], optional>

=begin html

<br>Information about ems-event-filter objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-event-filter objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of ems-event-filter objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-event-filter objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-event-filter-destroy-iter-info">[], optional>

=begin html

<br>The ems-event-filter objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 ems_event_filter_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of event filters.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"event-filter">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-filter">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-event-filter object. All ems-event-filter objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"event-filter">[], optional>

=begin html

<br>The list of attributes of ems-event-filter objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-event-filter objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_event_filter_rename

[B<Family:> cluster]


=begin html

Rename an Event filter

=end html



B<Inputs>

=over 2

=item * I<filter-name>  =>   B<string>

=begin html

<br>Event Filter Name.

=end html

=back



=over 2

=item * I<new-filter-name>  =>   B<string>

=begin html

<br>New Event Filter Name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_event_filter_rule_add

[B<Family:> cluster]


=begin html

Add a rule to an event filter

=end html



B<Inputs>

=over 2

=item * I<filter-name>  =>   B<string>

=begin html

<br>Filter Name

=end html

=back



=over 2

=item * I<message-name>  =>   B<string, optional>

=begin html

<br>Message Name. Default: *

=end html

=back



=over 2

=item * I<position>  =>   B<integer, optional>

=begin html

<br>An optional field to specify the position at which the rule needs to be added. Default: Added one below the last position which is the default rule.

=end html

=back



=over 2

=item * I<severity>  =>   B<string[], optional>

=begin html

<br>Severity <p> Possible values: <ul> <li> 'emergency' - Disruption, <li> 'alert' - Single point of failure, <li> 'error' - Degradation, <li> 'notice' - Information, <li> 'informational' - Information, <li> 'debug' - Debug information, <li> '*' - All of the above </ul> <p> Default: *

=end html

=back



=over 2

=item * I<snmp-trap-type>  =>   B<string[], optional>

=begin html

<br>SNMP Trap Type <p> Possible values: <ul> <li> 'standard' - Standard SNMP traps, <li> 'built-in' - Built-in SNMP traps, <li> 'severity-based' - Severity based SNMP traps <li> '*' - All of the above </ul> <p> Default: *

=end html

=back



=over 2

=item * I<type>  =>   B<event-rule-type>

=begin html

<br>Rule Type

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_event_filter_rule_delete

[B<Family:> cluster]


=begin html

Delete a rule for an event filter

=end html



B<Inputs>

=over 2

=item * I<filter-name>  =>   B<string>

=begin html

<br>Filter Name

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Rule Position

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_event_filter_rule_reorder

[B<Family:> cluster]


=begin html

Reorder the rules based on the new position for a given rule

=end html



B<Inputs>

=over 2

=item * I<filter-name>  =>   B<string>

=begin html

<br>Filter Name

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Rule Positon

=end html

=back



=over 2

=item * I<to-position>  =>   B<integer>

=begin html

<br>New Rule Position

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_event_filter_test

[B<Family:> cluster]


=begin html

Test an event filter

=end html



B<Inputs>

=over 2

=item * I<filter-name>  =>   B<string>

=begin html

<br>Filter Name

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id, optional>

=begin html

<br>Message Name

=end html

=back



B<Outputs>

=over 2

=item * I<output>  =>   B<string>

=begin html

<br>Gives the total number of events that are included in the filter. The format is: '<n> events will be included in the given filter.' If messagename is provided, it specifies if the messagename is included or excluded in the filter. The format is: 'The messagename <messagename> is included/excluded from the given filter.'

=end html

=back



=head2 ems_event_notification_create

[B<Family:> cluster]


=begin html

Create an event notification

=end html



B<Inputs>

=over 2

=item * I<destinations>  =>   B<string[]>

=begin html

<br>List of Event Notification Destinations

=end html

=back



=over 2

=item * I<filter-name>  =>   B<string>

=begin html

<br>Filter Name

=end html

=back



B<Outputs>

=over 2

=item * I<id>  =>   B<integer, optional>

=begin html

<br>A non persistent ID assigned to the newly created notification. This can be used to update/delete the notification. Note: This ID is non-persistent and will be changed every time a previously created notification is deleted.

=end html

=back



=head2 ems_event_notification_destination_check

[B<Family:> cluster]


=begin html

Check connectivity to an event notification destination

=end html



B<Inputs>

=over 2

=item * I<destination-name>  =>   B<string>

=begin html

<br>Event Notification Destination Name

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<check-passed>  =>   B<boolean>

=begin html

<br>Connectivity Check Passed?

=end html

=back



=over 2

=item * I<result-log>  =>   B<string>

=begin html

<br>Provides the result information after trying to connect to the given destination.

=end html

=back



=head2 ems_event_notification_destination_create

[B<Family:> cluster]


=begin html

Create an event notification destination

=end html



B<Inputs>

=over 2

=item * I<certificate-authority>  =>   B<string, optional>

=begin html

<br>Use this field and certificate-serial to specify the client certificate to use when being authenticated by the REST API server.

=end html

=back



=over 2

=item * I<certificate-serial>  =>   B<string, optional>

=begin html

<br>Use this field and certificate-authority to specify the client certificate to use when being authenticated by the REST API server.

=end html

=back



=over 2

=item * I<email>  =>   B<string, optional>

=begin html

<br>Use this field to specify an email destination. Note: Each destination name can only be associated with either an email destination or a syslog destination. SNMP destinations can be created/updated only through the 'system snmp traphost' command and they are associated with the default destination name 'snmp-traphost'. The format of the email destination is as per RFC standard.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Destination Name.The name must start and end with an alphanumeric and must be in the length of 2 to 64 characters. The allowed special characters are _(underscore) and -(hyphen).

=end html

=back



=over 2

=item * I<rest-api-url>  =>   B<string, optional>

=begin html

<br>Use this field to specify REST API server URL to which event notifications will be sent. Enter the full URL, which must start either with an http:// or https:// prefix.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the ems-event-notification-destination on successful creation. Default: false

=end html

=back



=over 2

=item * I<syslog>  =>   B<string, optional>

=begin html

<br>Use this field to specify a syslog destination. Note: Each destination name can only be associated with either an email destination or a syslog destination. SNMP destinations can be created/updated only through the 'system snmp traphost' command and they are associated with the default destination name 'snmp-traphost'.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"event-notification-destination">, optional>

=begin html

<br>The ems-event-notification-destination created (keys or the entire object if requested)

=end html

=back



=head2 ems_event_notification_destination_destroy_iter

[B<Family:> cluster]


=begin html

Delete one or more existing event destinations

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-event-notification-destination objects match a given query. If set to true, the API will continue with the next matching ems-event-notification-destination even when the operation fails for the ems-event-notification-destination. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<force-delete-notification>  =>   B<boolean, optional>

=begin html

<br>If true, delete the event notifications that have the specified destination as the only destination as well. The default is false.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching ems-event-notification-destination even when the operation on a previous matching ems-event-notification-destination fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of ems-event-notification-destination objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-notification-destination">>

=begin html

<br>If operating on a specific ems-event-notification-destination, this input element must specify all keys. If operating on ems-event-notification-destination objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-notification-destination objects (just keys) that were not operated on due to some error. If set to false, the list of ems-event-notification-destination objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-notification-destination objects (just keys) that were successfully operated on. If set to false, the list of ems-event-notification-destination objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-event-notification-destination-destroy-iter-info">[], optional>

=begin html

<br>Information about ems-event-notification-destination objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-event-notification-destination objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of ems-event-notification-destination objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-event-notification-destination objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-event-notification-destination-destroy-iter-info">[], optional>

=begin html

<br>The ems-event-notification-destination objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 ems_event_notification_destination_get_iter

[B<Family:> cluster]


=begin html

Returns information about one or more event notification destinations. The fields is-server-ca-present, certificate-authority, certificate-serial and is-certificate-valid are only applicable for a destination of type 'rest-api' and the destination being an HTTPS destination.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"event-notification-destination-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-notification-destination-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-event-notification-destination object. All ems-event-notification-destination objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"event-notification-destination-info">[], optional>

=begin html

<br>The list of attributes of ems-event-notification-destination objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-event-notification-destination objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_event_notification_destination_modify_iter

[B<Family:> cluster]


=begin html

Modify one or more event notification destinations

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"event-notification-destination">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-event-notification-destination objects match a given query. If set to true, the API will continue modifying the next matching ems-event-notification-destination even when modification of a previous ems-event-notification-destination fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching ems-event-notification-destination even when the modification of a previous matching ems-event-notification-destination fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-notification-destination">>

=begin html

<br>If modifying a specific ems-event-notification-destination, this input element must specify all keys. If modifying ems-event-notification-destination objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-notification-destination objects (just keys) that were not modified due to some error. If set to false, the list of ems-event-notification-destination objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-notification-destination objects (just keys) that were successfully updated. If set to false, the list of ems-event-notification-destination objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-event-notification-destination-modify-iter-info">[], optional>

=begin html

<br>Information about ems-event-notification-destination objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-event-notification-destination objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of ems-event-notification-destination objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-event-notification-destination objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-event-notification-destination-modify-iter-info">[], optional>

=begin html

<br>The ems-event-notification-destination objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 ems_event_notification_destroy_iter

[B<Family:> cluster]


=begin html

Delete one or more event notifications

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-event-notification objects match a given query. If set to true, the API will continue deleting the next matching ems-event-notification even when the deletion of a previous ems-event-notification fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching ems-event-notification even when the deletion of a previous matching ems-event-notification fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of ems-event-notification objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-notification">>

=begin html

<br>If deleting a specific ems-event-notification, this input element must specify all keys. If deleting multiple ems-event-notification objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-notification objects (just keys) that were not deleted due to some error. If set to false, the list of ems-event-notification objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-notification objects (just keys) that were successfully deleted. If set to false, the list of ems-event-notification objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-event-notification-destroy-iter-info">[], optional>

=begin html

<br>Information about ems-event-notification objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-event-notification objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of ems-event-notification objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-event-notification objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-event-notification-destroy-iter-info">[], optional>

=begin html

<br>The ems-event-notification objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 ems_event_notification_get_iter

[B<Family:> cluster]


=begin html

Returns information about one or more event notifications

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"event-notification">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-notification">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-event-notification object. All ems-event-notification objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"event-notification">[], optional>

=begin html

<br>The list of attributes of ems-event-notification objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-event-notification objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_event_notification_history_get_iter

[B<Family:> cluster]


=begin html

Return EMS messages sent to a destination.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"event-notification-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination>  =>   B<string>

=begin html

<br>The destination name.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-notification-history-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-event-notification-history object. All ems-event-notification-history objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"event-notification-history-info">[], optional>

=begin html

<br>The list of attributes of ems-event-notification-history objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-event-notification-history objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_event_notification_modify_iter

[B<Family:> cluster]


=begin html

Modify one or more event notifications

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"event-notification">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-event-notification objects match a given query. If set to true, the API will continue modifying the next matching ems-event-notification even when modification of a previous ems-event-notification fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching ems-event-notification even when the modification of a previous matching ems-event-notification fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"event-notification">>

=begin html

<br>If modifying a specific ems-event-notification, this input element must specify all keys. If modifying ems-event-notification objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-notification objects (just keys) that were not modified due to some error. If set to false, the list of ems-event-notification objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-event-notification objects (just keys) that were successfully updated. If set to false, the list of ems-event-notification objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-event-notification-modify-iter-info">[], optional>

=begin html

<br>Information about ems-event-notification objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-event-notification objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of ems-event-notification objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-event-notification objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-event-notification-modify-iter-info">[], optional>

=begin html

<br>The ems-event-notification objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 ems_mail_history_destroy

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Delete an individual mail history entry.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node emitting the EMS message.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum>

=begin html

<br>The message sequence number.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_mail_history_destroy_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Delete mail history entries.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-mail-history objects match a given query. If set to true, the API will continue deleting the next matching ems-mail-history even when the deletion of a previous ems-mail-history fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching ems-mail-history even when the deletion of a previous matching ems-mail-history fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of ems-mail-history objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-mail-history-info">>

=begin html

<br>If deleting a specific ems-mail-history, this input element must specify all keys. If deleting multiple ems-mail-history objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-mail-history objects (just keys) that were not deleted due to some error. If set to false, the list of ems-mail-history objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-mail-history objects (just keys) that were successfully deleted. If set to false, the list of ems-mail-history objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-mail-history-destroy-iter-info">[], optional>

=begin html

<br>Information about ems-mail-history objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-mail-history objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of ems-mail-history objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-mail-history objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-mail-history-destroy-iter-info">[], optional>

=begin html

<br>The ems-mail-history objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 ems_mail_history_get

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Return an individual mail history entry.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-mail-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node emitting the EMS message.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum>

=begin html

<br>The message sequence number.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-mail-history-info">>

=begin html

<br>The attributes of the ems-mail-history.

=end html

=back



=head2 ems_mail_history_get_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Return information mail history.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-mail-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-mail-history-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-mail-history object. All ems-mail-history objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ems-mail-history-info">[], optional>

=begin html

<br>The list of attributes of ems-mail-history objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-mail-history objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_message_get

[B<Family:> cluster]


=begin html

Return an EMS message.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-message-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node emitting the EMS message.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum>

=begin html

<br>The message sequence number.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-message-info">>

=begin html

<br>The attributes of the ems-message.

=end html

=back



=head2 ems_message_get_iter

[B<Family:> cluster]


=begin html

Return EMS messages.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-message-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-message-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-message object. All ems-message objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ems-message-info">[], optional>

=begin html

<br>The list of attributes of ems-message objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-message objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_routing_add_destination

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Add EMS Destinations.

=end html



B<Inputs>

=over 2

=item * I<destinations>  =>   B<ems-destination[]>

=begin html

<br>Destinations

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id>

=begin html

<br>The name of the EMS message.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_routing_get

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Return the specified EMS route information. In general, specifying the severity input parameter is not needed. If specified, it must match that of the event identified by the message-name input parameter.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-routing-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id>

=begin html

<br>The name of the EMS message.

=end html

=back



=over 2

=item * I<severity>  =>   B<eventseverity, optional>

=begin html

<br>The event severity. As of Data ONTAP 9.0, 'critical' and 'warning' severities are no longer supported. Possible values: <ul> <li> "emergency" - Disruption, <li> "alert" - Single point of failure, <li> "critical" - Critical condition, <li> "error" - Degradation, <li> "warning" - Warning condition, <li> "notice" - Information, <li> "informational" - Information, <li> "debug" - Debug information </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-routing-info">>

=begin html

<br>The attributes of the ems-routing.

=end html

=back



=head2 ems_routing_get_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Return information on several EMS routes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-routing-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-routing-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-routing object. All ems-routing objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ems-routing-info">[], optional>

=begin html

<br>The list of attributes of ems-routing objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-routing objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_routing_modify

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Modifies the specified EMS route.

=end html



B<Inputs>

=over 2

=item * I<destinations>  =>   B<ems-destination[], optional>

=begin html

<br>The event destinations.

=end html

=back



=over 2

=item * I<frequency-threshold>  =>   B<integer, optional>

=begin html

<br>Number of times an event occurs before a repeat notification of the event is sent.

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id>

=begin html

<br>The name of the EMS message.

=end html

=back



=over 2

=item * I<time-threshold>  =>   B<integer, optional>

=begin html

<br>Minimum number of seconds between repeat notifications of an event.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_routing_modify_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Modifies several EMS route.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-routing-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-routing objects match a given query. If set to true, the API will continue modifying the next matching ems-routing even when modification of a previous ems-routing fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching ems-routing even when the modification of a previous matching ems-routing fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-routing-info">>

=begin html

<br>If modifying a specific ems-routing, this input element must specify all keys. If modifying ems-routing objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-routing objects (just keys) that were not modified due to some error. If set to false, the list of ems-routing objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-routing objects (just keys) that were successfully updated. If set to false, the list of ems-routing objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-routing-modify-iter-info">[], optional>

=begin html

<br>Information about ems-routing objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-routing objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of ems-routing objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-routing objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-routing-modify-iter-info">[], optional>

=begin html

<br>The ems-routing objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 ems_routing_remove_destination

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Remote EMS Destinations.

=end html



B<Inputs>

=over 2

=item * I<destinations>  =>   B<ems-destination[]>

=begin html

<br>Destinations

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id>

=begin html

<br>The name of the EMS message.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_snmp_history_destroy

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Delete an individual SNMP history entry.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node emitting the EMS message.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum>

=begin html

<br>The message sequence number.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ems_snmp_history_destroy_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Delete SNMP history entries.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple ems-snmp-history objects match a given query. If set to true, the API will continue deleting the next matching ems-snmp-history even when the deletion of a previous ems-snmp-history fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching ems-snmp-history even when the deletion of a previous matching ems-snmp-history fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of ems-snmp-history objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-snmp-history-info">>

=begin html

<br>If deleting a specific ems-snmp-history, this input element must specify all keys. If deleting multiple ems-snmp-history objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-snmp-history objects (just keys) that were not deleted due to some error. If set to false, the list of ems-snmp-history objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of ems-snmp-history objects (just keys) that were successfully deleted. If set to false, the list of ems-snmp-history objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"ems-snmp-history-destroy-iter-info">[], optional>

=begin html

<br>Information about ems-snmp-history objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching ems-snmp-history objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of ems-snmp-history objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of ems-snmp-history objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"ems-snmp-history-destroy-iter-info">[], optional>

=begin html

<br>The ems-snmp-history objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 ems_snmp_history_get

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Return an individual SNMP history entry.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-snmp-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node emitting the EMS message.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum>

=begin html

<br>The message sequence number.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-snmp-history-info">>

=begin html

<br>The attributes of the ems-snmp-history.

=end html

=back



=head2 ems_snmp_history_get_iter

[B<Family:> cluster]


=begin html

(This interface has been deprecated. It may be removed from a future release of Data ONTAP)-Return information SNMP history.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-snmp-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-snmp-history-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-snmp-history object. All ems-snmp-history objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ems-snmp-history-info">[], optional>

=begin html

<br>The list of attributes of ems-snmp-history objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-snmp-history objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ems_status_get

[B<Family:> cluster]


=begin html

Return information on an EMS message.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id>

=begin html

<br>The message name.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node emitting the EMS message.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ems-status-info">>

=begin html

<br>The attributes of the ems-status.

=end html

=back



=head2 ems_status_get_iter

[B<Family:> cluster]


=begin html

Return information on EMS messages.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ems-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ems-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ems-status object. All ems-status objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ems-status-info">[], optional>

=begin html

<br>The list of attributes of ems-status objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ems-status objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 environment_sensors_get_iter

[B<Family:> cluster]


=begin html

Returns the sensors information from the environmental subsystem.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"environment-sensors-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<discrete-sensor-state>  =>   B<sensor-state-enum, optional>

=begin html

<br>Discrete-valued sensor state

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 300

=end html

=back



=over 2

=item * I<query>  =>   B<L<"environment-sensors-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the environment object. All environment objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<sensor-name>  =>   B<string, optional>

=begin html

<br>Name of the sensor in the environmental subsystem. The maximum length of the sensor name is 32

=end html

=back



=over 2

=item * I<sensor-type>  =>   B<sensor-type-enum, optional>

=begin html

<br>Type of the sensor. See sensor-type-enum for possible values

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



=over 2

=item * I<threshold-sensor-state>  =>   B<sensor-state-enum, optional>

=begin html

<br>Threshold-based sensor state

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"environment-sensors-info">[], optional>

=begin html

<br>The list of attributes of environment objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more environment objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 export_check_access_get_iter

[B<Family:> cluster, vserver]


=begin html

Shows the access information for supplied client

=end html



B<Inputs>

=over 2

=item * I<access-type>  =>   B<export-access-rights>

=begin html

<br>Access Rights to Check for

=end html

=back



=over 2

=item * I<authentication-method>  =>   B<security-flavor>

=begin html

<br>Authentication Method

=end html

=back



=over 2

=item * I<client-ip>  =>   B<ip-address>

=begin html

<br>Client IP Address

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"export-check-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<protocol>  =>   B<access-protocol>

=begin html

<br>Protocol

=end html

=back



=over 2

=item * I<query>  =>   B<L<"export-check-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Client access check information object. All Client access check information objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"export-check-info">[], optional>

=begin html

<br>The list of attributes of Client access check information objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Client access check information objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 export_policy_create

[B<Family:> vserver]


=begin html

Create an Export policy configuration.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the Export policy configuration. on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"export-policy-info">, optional>

=begin html

<br>The Export policy configuration. created (keys or the entire object if requested)

=end html

=back



=head2 export_policy_destroy

[B<Family:> vserver]


=begin html

Delete an Export policy configuration.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 export_policy_get

[B<Family:> vserver]


=begin html

Get an Export policy configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"export-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"export-policy-info">>

=begin html

<br>The attributes of the Export policy configuration..

=end html

=back



=head2 export_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Get a group of Export policy configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"export-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"export-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Export policy configuration. object. All Export policy configuration. objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"export-policy-info">[], optional>

=begin html

<br>The list of attributes of Export policy configuration. objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Export policy configuration. objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 export_policy_rename

[B<Family:> vserver]


=begin html

Rename an Export policy

=end html



B<Inputs>

=over 2

=item * I<new-policy-name>  =>   B<export-policy-name>

=begin html

<br>New Export policy name.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 export_rule_add_clientmatches

[B<Family:> vserver]


=begin html

Add list of clientmatch strings to an existing export-policy rule

=end html



B<Inputs>

=over 2

=item * I<clientmatches>  =>   B<string>

=begin html

<br>List of Clientmatch Strings to Add

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer>

=begin html

<br>Export policy rule index.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 export_rule_create

[B<Family:> vserver]


=begin html

Create an Export rule configuration.

=end html



B<Inputs>

=over 2

=item * I<anonymous-user-id>  =>   B<string, optional>

=begin html

<br>User name or ID to which anonymous users are mapped. Default value is '65534'.

=end html

=back



=over 2

=item * I<client-match>  =>   B<string>

=begin html

<br>List of client match specifications for Export rule. The clients specified are enforced with this Export rule. The rule with the higher rule index value takes precedence.

=end html

=back



=over 2

=item * I<export-chown-mode>  =>   B<exportchownmode, optional>

=begin html

<br>Change ownership mode. Possible values are 'restricted', 'unrestricted'. Default value is 'restricted'.

=end html

=back



=over 2

=item * I<export-ntfs-unix-security-ops>  =>   B<exportntfsunixsecops, optional>

=begin html

<br>Ignore/Fail unix security operations on NTFS volumes. Possible values are 'ignore', 'fail'. Default value is 'fail'.

=end html

=back



=over 2

=item * I<is-allow-dev-is-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the NFS server will allow creation of devices. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-allow-set-uid-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFS server will honor SetUID bits in SETATTR operation. Default value is 'true'.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



=over 2

=item * I<protocol>  =>   B<access-protocol[], optional>

=begin html

<br>Client access protocol. Default value is 'any'.

=end html

=back



=over 2

=item * I<ro-rule>  =>   B<security-flavor[]>

=begin html

<br>Rule for read-only access.

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer, optional>

=begin html

<br>Export rule index. A next available value is assigned if no value is provided during create else the rule is inserted at the given rule index position in the export-rule table.

=end html

=back



=over 2

=item * I<rw-rule>  =>   B<security-flavor[]>

=begin html

<br>Rule for read-write access.

=end html

=back



=over 2

=item * I<super-user-security>  =>   B<security-flavor[], optional>

=begin html

<br>Security flavors for the superuser. Default value is 'none'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 export_rule_destroy

[B<Family:> vserver]


=begin html

Delete an Export rule configuration.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer>

=begin html

<br>Export rule index.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 export_rule_get

[B<Family:> vserver]


=begin html

Get an Export rule configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"export-rule-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer>

=begin html

<br>Export rule index.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"export-rule-info">>

=begin html

<br>The attributes of the Export rule configuration..

=end html

=back



=head2 export_rule_get_create_defaults

[B<Family:> cluster, vserver]


=begin html

Obtain the default values for Export rule configuration

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"export-rule-info">, optional>

=begin html

<br>Optionally specify the value for attributes if available. The default values for some attributes may depend on the values specified for some other attribute.

=end html

=back



B<Outputs>

=over 2

=item * I<defaults>  =>   B<L<"export-rule-info">>

=begin html

<br>The default attributes for the Export rule configuration..

=end html

=back



=head2 export_rule_get_iter

[B<Family:> cluster, vserver]


=begin html

Get a group of Export rule configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"export-rule-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"export-rule-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Export rule configuration. object. All Export rule configuration. objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"export-rule-info">[], optional>

=begin html

<br>The list of attributes of Export rule configuration. objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Export rule configuration. objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 export_rule_modify

[B<Family:> vserver]


=begin html

Modify an Export rule configuration.

=end html



B<Inputs>

=over 2

=item * I<anonymous-user-id>  =>   B<string, optional>

=begin html

<br>User name or ID to which anonymous users are mapped. Default value is '65534'.

=end html

=back



=over 2

=item * I<client-match>  =>   B<string, optional>

=begin html

<br>List of client match specifications for Export rule. The clients specified are enforced with this Export rule. The rule with the higher rule index value takes precedence.

=end html

=back



=over 2

=item * I<export-chown-mode>  =>   B<exportchownmode, optional>

=begin html

<br>Change ownership mode. Possible values are 'restricted', 'unrestricted'. Default value is 'restricted'.

=end html

=back



=over 2

=item * I<export-ntfs-unix-security-ops>  =>   B<exportntfsunixsecops, optional>

=begin html

<br>Ignore/Fail unix security operations on NTFS volumes. Possible values are 'ignore', 'fail'. Default value is 'fail'.

=end html

=back



=over 2

=item * I<is-allow-dev-is-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the NFS server will allow creation of devices. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-allow-set-uid-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFS server will honor SetUID bits in SETATTR operation. Default value is 'true'.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



=over 2

=item * I<protocol>  =>   B<access-protocol[], optional>

=begin html

<br>Client access protocol. Default value is 'any'.

=end html

=back



=over 2

=item * I<ro-rule>  =>   B<security-flavor[], optional>

=begin html

<br>Rule for read-only access.

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer>

=begin html

<br>Export rule index.

=end html

=back



=over 2

=item * I<rw-rule>  =>   B<security-flavor[], optional>

=begin html

<br>Rule for read-write access.

=end html

=back



=over 2

=item * I<super-user-security>  =>   B<security-flavor[], optional>

=begin html

<br>Security flavors for the superuser. Default value is 'none'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 export_rule_remove_clientmatches

[B<Family:> vserver]


=begin html

Remove clientmatch strings from an existing export-policy rule

=end html



B<Inputs>

=over 2

=item * I<clientmatches>  =>   B<string>

=begin html

<br>List of Clientmatch Strings to Remove

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer>

=begin html

<br>Export policy rule index.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 export_rule_set_index

[B<Family:> vserver]


=begin html

Move a rule to the specified index

=end html



B<Inputs>

=over 2

=item * I<new-rule-index>  =>   B<integer>

=begin html

<br>New ruleindex value for the Export rule. The rule will be inserted into the rule-index position in the export-rule table.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name>

=begin html

<br>Export policy name.

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer>

=begin html

<br>Export policy rule index.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 exports_access_cache_all_vservers_get

[B<Family:> cluster]


=begin html

Get the NFS Exports Access Cache Refresh Periods.This API is deprecated in Data ONTAP 9.0.0 and later.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"access-cache-attributes-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"access-cache-attributes-info">>

=begin html

<br>The attributes of the NFS Exports Access Cache.

=end html

=back



=head2 exports_access_cache_all_vservers_modify

[B<Family:> cluster]


=begin html

Modify the NFS Exports Access Cache Refresh Periods. This API is deprecated in Data ONTAP 9.0.0 and later.

=end html



B<Inputs>

=over 2

=item * I<harvest-timeout>  =>   B<integer, optional>

=begin html

<br>Harvest Timeout (Secs)

=end html

=back



=over 2

=item * I<refresh-period-negative>  =>   B<integer, optional>

=begin html

<br>TTL For Negative Entries (Secs)

=end html

=back



=over 2

=item * I<refresh-period-positive>  =>   B<integer, optional>

=begin html

<br>TTL For Positive Entries (Secs)

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 exports_access_cache_config_get

[B<Family:> vserver]


=begin html

Get the exports access cache configuration for the given Vserver.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"exports-access-cache-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"exports-access-cache-config-info">>

=begin html

<br>The attributes of the Exports Access Cache Configuration.

=end html

=back



=head2 exports_access_cache_config_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of Vservers for exports access cache configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"exports-access-cache-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"exports-access-cache-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Exports Access Cache Configuration object. All Exports Access Cache Configuration objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"exports-access-cache-config-info">[], optional>

=begin html

<br>The list of attributes of Exports Access Cache Configuration objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Exports Access Cache Configuration objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 exports_access_cache_config_modify

[B<Family:> vserver]


=begin html

Modify the exports access cache configuration for the given Vserver.

=end html



B<Inputs>

=over 2

=item * I<harvest-timeout>  =>   B<integer, optional>

=begin html

<br>The timeout in seconds after which unused access cache entries will be deleted. Default value is 36000 seconds

=end html

=back



=over 2

=item * I<ttl-failure>  =>   B<integer, optional>

=begin html

<br>TTL in seconds for access cache entries that failed to fetch export rules from management gateway. Default value is 5 seconds

=end html

=back



=over 2

=item * I<ttl-negative>  =>   B<integer, optional>

=begin html

<br>TTL in seconds for access cache entries that deny access. Default value is 3600 seconds

=end html

=back



=over 2

=item * I<ttl-positive>  =>   B<integer, optional>

=begin html

<br>TTL in seconds for access cache entries that allow access. Default value is 3600 seconds

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fc_config_adapter_disable

[B<Family:> cluster]


=begin html

Call the corresponding adapter driver disable function to bring the adapter offline. Under some circumstances an adapter can not be put offline. (e.g. when the adapter is being used by the RAID sub-system to provide disks in a volume). In some cases, manual intervention is required. When this happens, an appropriate error messages is returned.

=end html



B<Inputs>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>FC adapter name (e.g. 0a)

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fc_config_adapter_enable

[B<Family:> cluster]


=begin html

Call the corresponding adapter driver enable function to bring the adapter online. Under some circumstances an adapter can not be brought online. (e.g. when that adapter is in the UNCONFIGURED state, or when there is no cable attached to the adapter port). When this happens, an appropriate error messages is returned.

=end html



B<Inputs>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>FC adapter name (e.g 0a)

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fc_config_list_info

[B<Family:> cluster]


=begin html

Iterate over a list of fc objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fc-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fc-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fc object. All fc objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fc-config">[], optional>

=begin html

<br>The list of attributes of fc objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fc objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fc_config_set_adapter_fc_type

[B<Family:> cluster]


=begin html

fc-config-set-adapter-fc-type changes the adapter driver and/or configuration state. Each configurable adapter has an adapter-type and adapter-state. The adapter-type indicates which driver is attached to the adapter, the adapter-state indicates what the configuration state of the adapter is. The fc-type is used to modify both the adapter-type and the adapter-state. After setting the adapter fc-type a filer reboot is sometimes needed to make the change effective. Use fc-config-list-info to determine if a filer reboot is needed.

=end html



B<Inputs>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>FC adapter name (e.g 0a)

=end html

=back



=over 2

=item * I<fc-type>  =>   B<string>

=begin html

<br>Sets the type and state of the adapter. Possible inputs:<br> &nbsp; "unconfigured" - set adapter-type to "initiator" and adapter-state to UNCONFIGURED<br> &nbsp; "initiator" - set adapter-type to "initiator" and adapter-state to CONFIGURED<br> &nbsp; "target" - set adapter-type to "target" and adapter-state to CONFIGURED<br> &nbsp; "vi" - set adapter-type to "vi" and adapter-state to CONFIGURED<br>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_adapter_config_down

[B<Family:> cluster]


=begin html

Bring a Fibre Channel target adapter offline. The adapter may not be offline immediately after the call returns, it may take up to a few seconds for the adapter to change state. In Data ONTAP 7-Mode, if the FCP service is not running then all adapters are automatically offlined. They cannot be brought online again until FCP service is started. adapter to change state. In Data ONTAP Cluster-Mode, offlining an adapter will operationally disable all FCP logical interfaces (LIFs) hosted by the adapter.

=end html



B<Inputs>

=over 2

=item * I<fcp-adapter>  =>   B<string>

=begin html

<br>FC adapter to bring offline.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The name of the storage system node where the adapter is installed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_adapter_config_up

[B<Family:> cluster]


=begin html

Bring a Fibre Channel target adapter online. The adapter may not be online immediately after the call returns, it may take up to a few seconds for the adapter to initialize. In Data ONTAP 7-Mode, if the FCP service is not running then all adapters are automatically offlined. They cannot be brought online again until FCP service is started. In Data ONTAP Cluster-Mode, offlining an adapter will operationally disable all FCP logical interfaces (LIFs) hosted by the adapter.

=end html



B<Inputs>

=over 2

=item * I<fcp-adapter>  =>   B<string>

=begin html

<br>FC adapter to bring online.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The name of the storage system node where the adapter is installed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_adapter_get_iter

[B<Family:> cluster]


=begin html

Iterate over the list of physical FC adapters.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-config-adapter-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-config-adapter-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the FC Adapter object. All FC Adapter objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-config-adapter-info">[], optional>

=begin html

<br>The list of attributes of FC Adapter objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more FC Adapter objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_adapter_set_speed

[B<Family:> cluster]


=begin html

Sets the speed on the Fibre Channel target adapter. It can be configured to run at 1Gb, 2Gb, 4Gb, 8Gb, 10Gb, 16Gb or to auto negotiate. The 10Gb adapter only supports the 10Gb speed. The 16Gb adapter only supports speeds of 16Gb, 8Gb, and 4Gb. The 8Gb adapter only supports speeds of 8Gb, 4Gb, and 2Gb. The 4Gb adapter only supports speeds of 4Gb, 2Gb, and 1Gb. If the adapter is online it must be brought offline before setting the speed, and then online in order for a new speed to take effect. This may temporarily disrupt fcp service on the target adapter.

=end html



B<Inputs>

=over 2

=item * I<fcp-adapter>  =>   B<string>

=begin html

<br>FC Target adapter

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The name of the storage system node where the adapter is installed.

=end html

=back



=over 2

=item * I<speed>  =>   B<string>

=begin html

<br>Link speed (in Gb). Possible values: "1", "2", "4", "8", "10", "16" or "auto" (auto negotiate speed).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_adapter_stats_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of fcp objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-adapter-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-adapter-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fcp object. All fcp objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-adapter-stats-info">[], optional>

=begin html

<br>The list of attributes of fcp objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fcp objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_initiator_get_iter

[B<Family:> cluster, vserver]


=begin html

List all initiators connected to FCP target LIFs.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-adapter-initiators-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-adapter-initiators-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the connected FCP initiator object. All connected FCP initiator objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-adapter-initiators-info">[], optional>

=begin html

<br>The list of attributes of connected FCP initiator objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more connected FCP initiator objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_interface_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of FCP Target Logical Interfaces (LIF).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-interface-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-interface-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the FCP data LIF object. All FCP data LIF objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-interface-info">[], optional>

=begin html

<br>The list of attributes of FCP data LIF objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more FCP data LIF objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_nameserver_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterates over the list of entries in the fabric name server database.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-nameserver-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-nameserver-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Shows entries in the fabric name server database. object. All Shows entries in the fabric name server database. objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-nameserver-info">[], optional>

=begin html

<br>The list of attributes of Shows entries in the fabric name server database. objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Shows entries in the fabric name server database. objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_node_get_name

[B<Family:> vserver]


=begin html

Get the current FCP World Wide Node Name (WWNN). This WWNN name is in the form XX:XX:XX:XX:XX:XX:XX:XX where X is a hexadecimal digit. In Data ONTAP 7-Mode, this is the WWNN of the individual storage system. In "single_image" cfmode, the WWNN of the system and its high availability partner will be the same. In Data ONTAP Cluster-Mode, this is the WWNN of the Vserver FCP Service.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Current FCP World Wide Node Name (WWNN).

=end html

=back



=head2 fcp_node_set_name

[B<Family:> vserver]


=begin html

Set the current FCP World Wide Node Name (WWNN). This WWNN is in the form XX:XX:XX:XX:XX:XX:XX:XX where X is a hexadecimal digit. The supplied WWNN must also match the vendor's registered namespace unless the force argument is also supplied. In Data ONTAP 7-Mode, the registered namespace is "50:0a:80:8X:XX:XX:XX" and all Fibre Channel adapters must be offline. Changes will take place when the adapters are brought online. In Data ONTAP Cluster-Mode, the registered namespace is "2X:XX:00:a0:98:XX:XX:XX" and the FCP service must be offline. Changes will take place when the service is brought online.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If true, allow setting the WWNN to a value outside the vendor's registered namespace for the current mode. If false or not present, the request will fail unless the supplied WWNN is inside the correct namespace.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>FCP World Wide Node Name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_ping_igroup_view_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of FCP ping igroup results objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-ping-igroup-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-ping-igroup-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the FCP ping igroup results object. All FCP ping igroup results objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-ping-igroup-status-info">[], optional>

=begin html

<br>The list of attributes of FCP ping igroup results objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more FCP ping igroup results objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_ping_initiator_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of FCP ping by FCP initiator objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-ping-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-ping-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the FCP ping by FCP initiator object. All FCP ping by FCP initiator objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-ping-status-info">[], optional>

=begin html

<br>The list of attributes of FCP ping by FCP initiator objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more FCP ping by FCP initiator objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_port_name_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of valid Fibre Channel target port names on a Vserver's FCP LIFs.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-port-name-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-port-name-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Fibre Channel target port name object. All Fibre Channel target port name objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-port-name-info">[], optional>

=begin html

<br>The list of attributes of Fibre Channel target port name objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Fibre Channel target port name objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_port_name_set

[B<Family:> vserver]


=begin html

Set a valid but unused port name on a Fibre Channel target interface.

=end html



B<Inputs>

=over 2

=item * I<fcp-adapter>  =>   B<string>

=begin html

<br>FCP target interface to set the WWPN on. In Data ONTAP 7-Mode, the name of a local adapter in standby single_image cfmode. In Data ONTAP Cluster-Mode, the name of an FCP data LIF in the vserver.

=end html

=back



=over 2

=item * I<port-name>  =>   B<string>

=begin html

<br>WWPN to be set on the interface. It has to be a valid and unused one.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_service_create

[B<Family:> vserver]


=begin html

Create an FCP Service in a Vserver. Each Vserver requires an online FCP Service in order to serve data via the Fibre Channel protocol.

=end html



B<Inputs>

=over 2

=item * I<force-node-name>  =>   B<boolean, optional>

=begin html

<br>If true, allow setting the WWNN to a value outside the vendor's registered namespace. If false, the node-name must match the namespace 2X:XX:00:a0:98:XX:XX:XX. The default is false.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The FCP World Wide Node Name (WWNN) for the FCP service. If not provided, one will be auto-generated.

=end html

=back



=over 2

=item * I<start>  =>   B<boolean, optional>

=begin html

<br>Determine the initial state of the FCP Service. If true, the service will be automatically started after creation completes. If false, the service will be left in the stopped state and the caller must subsequently call fcp-service-start to start the service. The default is true.

=end html

=back



B<Outputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The world-wide node name (WWNN) of the FCP target in the Vserver.

=end html

=back



=head2 fcp_service_destroy

[B<Family:> vserver]


=begin html

Destroy the FCP Service in a Vserver.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_service_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of FCP Services.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-service-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-service-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the FCP Service object. All FCP Service objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-service-info">[], optional>

=begin html

<br>The list of attributes of FCP Service objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more FCP Service objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_service_start

[B<Family:> vserver]


=begin html

Starts FCP service. When FCP service is started, the adapters are brought online. The service will be available once the call returns with success. The adapters however, may not be available immediately after the call, it may take up to a few seconds for the adapters to initialize.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_service_status

[B<Family:> vserver]


=begin html

Get status of the FCP service, whether or not it is running.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<is-available>  =>   B<boolean>

=begin html

<br>"true" if FCP service is running, "false" otherwise.

=end html

=back



=head2 fcp_service_stop

[B<Family:> vserver]


=begin html

Stops FCP service. When FCP service is stopped, the adapters are brought offline. The service will be unavailable once the call returns with success.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_topology_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterates over the list of FCP topology interconnect elements.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-topology-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-topology-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Show FCP topology interconnect elements. object. All Show FCP topology interconnect elements. objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-topology-info">[], optional>

=begin html

<br>The list of attributes of Show FCP topology interconnect elements. objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Show FCP topology interconnect elements. objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_topology_port_get_iter

[B<Family:> cluster]


=begin html

Iterates over the list of entries in the fabric name server database.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-topology-port-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-topology-port-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Shows FCP topology interconnect elements per adapter. object. All Shows FCP topology interconnect elements per adapter. objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-topology-port-info">[], optional>

=begin html

<br>The list of attributes of Shows FCP topology interconnect elements per adapter. objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Shows FCP topology interconnect elements per adapter. objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_wwpnalias_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of assigned World Wide Port Name (WWPN) aliases.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"aliases-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"aliases-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the WWPN aliases object. All WWPN aliases objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"aliases-info">[], optional>

=begin html

<br>The list of attributes of WWPN aliases objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more WWPN aliases objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcp_wwpnalias_remove

[B<Family:> vserver]


=begin html

Remove an alias for a World Wide Port Name of an initiator. Either the alias or the wwpn argument must be provided.

=end html



B<Inputs>

=over 2

=item * I<alias>  =>   B<string, optional>

=begin html

<br>WWPN Alias to be removed. Either the alias or the wwpn argument must be provided.

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>WWPN for which all aliases are to be removed. Either the wwpn or the alias argument must be provided.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_wwpnalias_set

[B<Family:> vserver]


=begin html

Set an alias for a World Wide Port Name of an initiator that might login to the target.

=end html



B<Inputs>

=over 2

=item * I<alias>  =>   B<string>

=begin html

<br>Alias to be set for the given WWPN ("wwpn"); The alias can be 32-characters long and may contain: A-Z, a-z, 0-9, _,-,.,{,} and no spaces

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>When set to true, the WWPN associated with the alias will be over-written. Default value is false.

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string>

=begin html

<br>WWPN for which alias is being set

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fcp_zone_get_iter

[B<Family:> cluster]


=begin html

Iterates over the list of entries in the fabric name server database.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fcp-zone-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fcp-zone-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Shows the active zone set information. object. All Shows the active zone set information. objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fcp-zone-info">[], optional>

=begin html

<br>The list of attributes of Shows the active zone set information. objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Shows the active zone set information. objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fcport_get_link_state

[B<Family:> cluster]


=begin html

Get the link state of a specific adapter on this system.

=end html



B<Inputs>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>The adapter name is either a slot number, or, if a port letter is also presented, a slot number and port letter concatenated into a single name -- for example, "8a" or "11b". If adapter-name is not supplied, the command will return EAPIMISSINGARGUMENT.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



B<Outputs>

=over 2

=item * I<adapter-link-state>  =>   B<L<"link-state-info">[]>

=begin html

<br>adapter link state info

=end html

=back



=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>The adapter name is either a slot number, or, if a port letter is also presented, a slot number and port letter concatenated into a single name.

=end html

=back



=head2 feature_status_list_info

[B<Family:> cluster, vserver]


=begin html

Returns status information for managed features.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<managed-feature-status-list>  =>   B<L<"managed-feature-status-info">[]>

=begin html

<br>An array, one entry per each managed feature.

=end html

=back



=head2 feature_usage_get_iter

[B<Family:> cluster]


=begin html

Returns feature usage information for DATA ONTAP features. The feature usage information is reported on a per controller node basis.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"usage-state-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"usage-state-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the feature object. All feature objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"usage-state-info">[], optional>

=begin html

<br>The list of attributes of feature objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more feature objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 feature_usage_summary_get_iter

[B<Family:> cluster]


=begin html

Returns feature usage summary information for DATA ONTAP features. The feature usage information is reported on a per controller node basis.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"usage-summary-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"usage-summary-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the feature object. All feature objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"usage-summary-info">[], optional>

=begin html

<br>The list of attributes of feature objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more feature objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_assign_qos

[B<Family:> cluster]


=begin html

Manage the association of QoS policy group to a specified file. QoS Policy groups define measurable Service Level Objectives (SLOs) that apply to the storage object with which the policy group is associated. In Data ONTAP 8.2 hierarchical QoS is not supported i.e. QoS policy groups cannot be assigned to multiple objects in the file's storage hierarchy - such as the parent LUN, volume or Vserver.

=end html



B<Inputs>

=over 2

=item * I<caching-policy>  =>   B<string, optional>

=begin html

<br>The caching policy that is associated with this file. This policy is used to make caching decisions for this file. If a caching policy is not assigned to this file, the system uses the caching policy that is assigned to the containing volume. If a caching policy is not assigned to the containing volume, the system uses the caching policy that is assigned to the containing Vserver. If a caching policy is not assigned to the containing Vserver, the system uses the default cluster-wide policy. The possible options for this value are: <ul> <li>none - Does not cache any user data or metadata blocks.</li> <li>auto - Read caches all metadata blocks and randomly read user data blocks, and write caches all randomly overwritten user data blocks.</li> <li>meta - Read caches only metadata blocks.</li> <li>random_read - Read caches all metadata and randomly read user data blocks.</li> <li>random_read_write - Read caches all metadata, randomly read and randomly written user data blocks.</li> <li>all_read - Read caches all metadata, randomly read and sequentially read user data blocks.</li> <li>all_read_random_write - Read caches all metadata, randomly read, sequentially read and randomly written user data.</li> <li>all - Read caches all data blocks read and written. It does not do any write caching.</li> </ul> Default caching-policy is auto.

=end html

=back



=over 2

=item * I<file>  =>   B<string>

=begin html

<br>Complete file path of the file without a trailing slash.

=end html

=back



=over 2

=item * I<qos-policy-group-name>  =>   B<string, optional>

=begin html

<br>The QoS Policy Group Name that is to be associated with this file in order to enforce Service Level Objectives (SLO). NOTE: none is a reserved keyword for deleting the association of the file with a QoS policy group.

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Name of the Volume in which the file resides.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Name of the Vserver in which the volume that hosts the file resides.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_compact_data

[B<Family:> cluster]


=begin html

compact data

=end html



B<Inputs>

=over 2

=item * I<file>  =>   B<string>

=begin html

<br>File Path

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<snapshot>  =>   B<snapshot-id>

=begin html

<br>Snapshot Copy Name

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_create_directory

[B<Family:> vserver]


=begin html

Create a directory.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the directory to be created. The value is expected to begin with /vol/<volumename>.

=end html

=back



=over 2

=item * I<perm>  =>   B<string>

=begin html

<br>Permission of the directory to be created. It's similar to Unix style permission bits: 0755 gives read/write/execute permissions to owner and read/execute to group and other users. It consists of 4 octal digits derived by adding up bits 4, 2 and 1. Omitted digits are assumed to be zeros. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. The second digit selects permission for the owner of the file: read (4), write (2) and execute (1); the third selects permissions for other users in the same group; the fourth for other users not in the group. Note: Prior to Data ONTAP 7.3.1 this value was treated as a base-10 number.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_create_symlink

[B<Family:> vserver]


=begin html

Create a symlink.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the symlink file to create. The value is expected to begin with /vol/<volumename>.

=end html

=back



=over 2

=item * I<symlink>  =>   B<string>

=begin html

<br>Value of the symlink, which is the destination path contained in the symlink. This ZAPI does not check whether the destination path is accessible. This parameter may contain any arbitrary absolute or relative path.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_delete_directory

[B<Family:> vserver]


=begin html

Delete a directory.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the directory to delete. The value is expected to begin with /vol/<volumename>. The directory must be empty in order for this API to succeed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_delete_file

[B<Family:> vserver]


=begin html

Delete a file.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>path of the file or symlink to delete. the value is expected to begin with /vol/<volumename>.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_fingerprint_abort

[B<Family:> cluster, vserver]


=begin html

The file-fingerprint-abort API can be used to abort an ongoing fingerprint operation. This api only aborts the fingerprint operations that have been started and have not finished. You identify the session-id with this API, and it aborts the fingerprint operation that is associated with that particular session-id. You must specify session-id when using file-fingerprint-abort.

=end html



B<Inputs>

=over 2

=item * I<session-id>  =>   B<integer>

=begin html

<br>session-id of the fingerprint operation that needs to be stopped.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_fingerprint_dump

[B<Family:> cluster, vserver]


=begin html

The file-fingerprint-dump API returns the fingerprint information for a file. The session-id must be specified when using the file-fingerprint-dump API.This is the session-id of the fingerprint operation that is returned when a fingerprint operation is started using the file-fingerprint-start API. If the fingerprint operation is complete, it will also show the complete fingerprint information for the file.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fingerprint-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer>

=begin html

<br>An unique identifier for the fingerprint operation. This session-id is returned when the fingerprint operation is started on a file. The session-id of the fingerprint operation can be used to get the progress of an ongoing fingerprint operation as well as the complete fingerprint output for the file once the operation is completed.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"fingerprint-info">>

=begin html

<br>The attributes of the file.

=end html

=back



=head2 file_fingerprint_get_iter

[B<Family:> cluster, vserver]


=begin html

The file-fingerprint-get-iter API returns information for one or several fingerprint operations. We need to specify either session-id or vserver-name and volume-name with the file-fingerprint-get-iter API. When queried with session-id, the file-fingerprint-get-iter API returns the progress of the fingerprint operation with the specified session-id. When queried with vserver-name and volume-name, the file-fingerprint-get-iter API returns the progress of all the fingerprint operations running on that particular volume.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fingerprint-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fingerprint-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the file object. All file objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fingerprint-status-info">[], optional>

=begin html

<br>The list of attributes of file objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more file objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_fingerprint_start

[B<Family:> vserver]


=begin html

The file-fingerprint-start API is used to start the fingerprint computation a file. The fingerprint computation is started on the file, and a session-id is returned. This session-id is an unique identifier for the fingerprint operation. To start the fingerprint computation on a file, the following parameters should be compulsarily specified: <ul> <li> vserver : Name of the vserver which owns the volume. <li> file : Complete file path of the file on which the fingerprint needs to be computed. This file path is of the form vol/<vol_name>/<complete_file_path> </ul>

=end html



B<Inputs>

=over 2

=item * I<algorithm>  =>   B<string, optional>

=begin html

<br>The digest algorithm which will be used for the fingerprint computation. Fingerprint can be computed using one of the following digest algorithms : <ul> <li> md5 <li> sha-256 </ul> If no algorithm is specified during file fingerprint start, then by default, we compute fingerprint of the file using the sha-256 digest alogorithm.

=end html

=back



=over 2

=item * I<file>  =>   B<string>

=begin html

<br>Full path of the file on which fingerprint needs to be calculated. The value begins with /vol/<volumename>.

=end html

=back



=over 2

=item * I<scope>  =>   B<string, optional>

=begin html

<br>The file scope which will be used for the fingerprint computation. FIngerprint can be computed over one of the following : <ul> <li> data <li> metadata <li> both data and metadata </ul> If no scope is specified during file fingerprint start, then by default, we compute fingerprint of the file over both data and metadata.

=end html

=back



B<Outputs>

=over 2

=item * I<result-session-id>  =>   B<integer, optional>

=begin html

<br>An unique identifier for the fingerprint operation. The result-session-id of the fingerprint operation can be used to get the progress of an ongoing fingerprint operation as well as the complete fingerprint output for the file once the operation is completed.

=end html

=back



=head2 file_get_file_info

[B<Family:> vserver]


=begin html

Obtains the file information or properties.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Pathname of the directory to list. The value is expected to begin with /vol/<volumename>.

=end html

=back



B<Outputs>

=over 2

=item * I<file-info>  =>   B<L<"file-info">>

=begin html

<br>File information from the stat() function.

=end html

=back



=head2 file_get_space_reservation_info

[B<Family:> vserver]


=begin html

Queries the space reservation settings for the named file. <p> This API is not supported for Infinite Volumes. </p>

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>File to be queried.

=end html

=back



B<Outputs>

=over 2

=item * I<is-fill-enabled>  =>   B<boolean>

=begin html

<br>Whether or not the file is set with fill.

=end html

=back



=over 2

=item * I<is-overwrite-enabled>  =>   B<boolean>

=begin html

<br>Whether or not the file is set with overwrite.

=end html

=back



=head2 file_hole_range_query_iter

[B<Family:> vserver]


=begin html

Return ranges of holes in a file

=end html



B<Inputs>

=over 2

=item * I<length>  =>   B<integer>

=begin html

<br>The number of bytes to scan. If this is zero scan until end of file. If the length is not an integral multiple of the block size it will be rounded up to the end of the block. Range : [0..2^63-1]

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 64

=end html

=back



=over 2

=item * I<offset>  =>   B<integer>

=begin html

<br>The starting offset of the file from where the scan for holes should begin. If the offset is not an integral multiple of the block size it will be rounded down to the start of the block. Range : [0..2^63-1]

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The full path of the file for which hole information is to be queried. Format must be of the following: /vol/my_vol/my_file

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"hole-range-info">[], optional>

=begin html

<br>The list of attributes of file objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more file objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_inode_info_get_iter

[B<Family:> vserver]


=begin html

Get information about all the files associated with an inode in a volume.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"inode-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"inode-info">>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the file object. All file objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"inode-info">[], optional>

=begin html

<br>The list of attributes of file objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more file objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_list_directory_iter

[B<Family:> vserver]


=begin html

list of files in a given directory.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"file-info">[], optional>

=begin html

<br>Specify which attributes to return. If not set return all of them.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>Maximum number of directory entries to retrieve.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Pathname of the directory to list. The value is expected to begin with /vol/<volumename>.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"file-info">[], optional>

=begin html

<br>A query that specifies which objects to return. The query can specify any attributes in the file object. All file objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Should be empty for first call. For subsequent calls should be the value returned by next-tag below.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"file-info">[], optional>

=begin html

<br>Array with information for each file in the named directory.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag to be used in the next call to continue iteration. Will not be returned if there are no more entries.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>This tells you how many records are being returned from this particular call to file-list-directory-iter-next. When this value is 0, you have retrieved everything.

=end html

=back



=head2 file_punch_hole_iter

[B<Family:> vserver]


=begin html

Punch hole in the file. Hole punching involves reclaiming of blocks in a file by unallocating them and then direct or indirect blocks can be made to point to 0.

=end html



B<Inputs>

=over 2

=item * I<attributes-list>  =>   B<L<"hole-range-info">[]>

=begin html

<br>This is the array containing the ranges that need to be hole punched.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the file. Format must be of the following: /vol/my_vol/path-to-file

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Do not set on first iteration. Use value of next-tag on subseguent iterations.

=end html

=back



B<Outputs>

=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Returned if not all ranges have been punched

=end html

=back



=head2 file_read_file

[B<Family:> vserver]


=begin html

Read data from a named file. API will fail if length exceeds 1 MB. This API should only be used on normal files or streams associated with files. The results for other file types such as LUNs is undefined.

=end html



B<Inputs>

=over 2

=item * I<length>  =>   B<integer>

=begin html

<br>Number of bytes to read from the file.

=end html

=back



=over 2

=item * I<offset>  =>   B<integer>

=begin html

<br>Offset into file to start reading from. If the value of offset is beyond the eof, the API will fail with EAPIERROR.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Name of the file to read. For example: "/vol/&lt;volume&gt;/&lt;file&gt;".

=end html

=back



=over 2

=item * I<stream-name>  =>   B<string, optional>

=begin html

<br>A stream is an on disk structure which contains a sequence of bytes, analogous to a file. A stream is always associated with exactly one file. Characters that are valid for a file name are also valid for the stream-name. e.g., "meta", "resource1". Use this option if the data should be read from the named stream associated with file specified by &lt;path&gt; Default is empty stream name, in which case the data is read from file specified by &lt;path&gt; This field is available in Data ONTAP 8.2 or later.

=end html

=back



B<Outputs>

=over 2

=item * I<data>  =>   B<string>

=begin html

<br>Data read from the file. The format of the data is ASCII hex characters, two characters representing one byte from the file. (This format allows the representation of 0-valued bytes.)

=end html

=back



=over 2

=item * I<length>  =>   B<integer>

=begin html

<br>Number of bytes actually read from the file. If this value is 0, then you have attempted to read at or past the end of the file.

=end html

=back



=head2 file_read_symlink

[B<Family:> vserver]


=begin html

Read the contents of a symlink.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the symlink file to read. The value is expected to begin with /vol/<volumename>.

=end html

=back



B<Outputs>

=over 2

=item * I<symlink>  =>   B<string>

=begin html

<br>Value of the symlink, which is the destination path contained in the symlink.

=end html

=back



=head2 file_rename_file

[B<Family:> vserver]


=begin html

Rename a file or directory. Note that this API cannot be used to rename to a different volume.

=end html



B<Inputs>

=over 2

=item * I<from-path>  =>   B<string>

=begin html

<br>Original path of the file. The value must begin with /vol/<volumename>.

=end html

=back



=over 2

=item * I<to-path>  =>   B<string>

=begin html

<br>Final path of the file. The value must begin with /vol/<volumename>. All path components except the final file name must already exist.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_set_space_reservation_info

[B<Family:> vserver]


=begin html

Sets the space reservation settings for the named file. is-overwrite-enabled and is-fill-enabled both must be the same value. <p> This API is not supported for Infinite Volumes. </p>

=end html



B<Inputs>

=over 2

=item * I<is-fill-enabled>  =>   B<boolean, optional>

=begin html

<br>Whether or not to set the file with fill.

=end html

=back



=over 2

=item * I<is-overwrite-enabled>  =>   B<boolean, optional>

=begin html

<br>Whether or not to set the file with overwrite.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>File to be queried.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_truncate_file

[B<Family:> vserver]


=begin html

Truncate a file. Any data past the truncation point will be lost, of course.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the file to truncate. The value is expected to begin with /vol/<volumename>.

=end html

=back



=over 2

=item * I<size>  =>   B<integer, optional>

=begin html

<br>If provided, the file size in bytes is set to this value. The default value is 0.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_usage_get

[B<Family:> vserver]


=begin html

Reports unique bytes held in a file.

=end html



B<Inputs>

=over 2

=item * I<length>  =>   B<integer, optional>

=begin html

<br>Length of the range in bytes. If it is not specified, the range that is reported is from start-offset to end-of-file. Range : [0..2^63-1].

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>File name to generate report: E.g., /vol/vol1/file1

=end html

=back



=over 2

=item * I<start-offset>  =>   B<integer, optional>

=begin html

<br>Start range of file in bytes. If this is not specified, it is assumed to be beginning of file (offset 0). Range : [0..2^63-1].

=end html

=back



B<Outputs>

=over 2

=item * I<total-bytes>  =>   B<integer>

=begin html

<br>Number of bytes held by this file. Range : [0..2^63-1].

=end html

=back



=over 2

=item * I<unique-bytes>  =>   B<integer>

=begin html

<br>Number of bytes 'uniquely' held by this file. Range : [0..2^63-1].

=end html

=back



=head2 file_usage_result_get

[B<Family:> vserver]


=begin html

Used to poll and retrieve results for a previous file-usage-start call. EINPROGRESS indicates that the background job has not finished yet.

=end html



B<Inputs>

=over 2

=item * I<cookie>  =>   B<string>

=begin html

<br>Cookie that was returned in an earlier file-usage-start call.

=end html

=back



B<Outputs>

=over 2

=item * I<total-bytes>  =>   B<integer>

=begin html

<br>Number of bytes held by this file. Range : [0..2^63-1].

=end html

=back



=over 2

=item * I<unique-bytes>  =>   B<integer>

=begin html

<br>Number of bytes 'uniquely' held by this file. Range : [0..2^63-1].

=end html

=back



=head2 file_usage_start

[B<Family:> vserver]


=begin html

Starts a background job to compute unique bytes held in a file. The result can be obtained by passing the cookie to file-usage-result-get call.

=end html



B<Inputs>

=over 2

=item * I<length>  =>   B<integer, optional>

=begin html

<br>Length of the range in bytes. If it is not specified, the range that is reported is from start-offset to end-of-file. Range : [0..2^63-1].

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>File name to generate report: E.g., /vol/vol1/file1

=end html

=back



=over 2

=item * I<start-offset>  =>   B<integer, optional>

=begin html

<br>Start range of file in bytes. If this is not specified, it is assumed to be beginning of file (offset 0). Range : [0..2^63-1].

=end html

=back



B<Outputs>

=over 2

=item * I<cookie>  =>   B<string>

=begin html

<br>Cookie to be used with subsequent file-usage-result-get call.

=end html

=back



=head2 file_write_file

[B<Family:> vserver]


=begin html

Write data into a named file. If the file/stream does not previously exist, it will be created - the owner of the file will be root and it will be readable but not writable by non-root users. API will fail if data exceeds 1 MB. This API should only be used on normal files or streams associated with files. The results for other file types such as LUNs is undefined.

=end html



B<Inputs>

=over 2

=item * I<data>  =>   B<string>

=begin html

<br>Data to be written. The format of the data is ASCII hex characters, two characters representing one byte. Whitespace characters, for convenience in formatting, can be present in the value and are ignored.

=end html

=back



=over 2

=item * I<offset>  =>   B<integer>

=begin html

<br>Offset into file at which to start writing. If the offset is -1, the data is appended to the file. The valid maximum value for (offset + data length) is the maximum total file size which is Data ONTAP version and file system dependent. If the value of the (offset + data length) is beyond the maximum total file size, the API will fail with EAPIERROR.

=end html

=back



=over 2

=item * I<overwrite>  =>   B<boolean, optional>

=begin html

<br>If false, and the file already exists, then the API will fail, with an errno of EEXIST. This allows the client to ensure that it was the exclusive creator of the file. The default value is true.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Pathname of the file to write. For example: "/vol/&lt;volume&gt;/&lt;file&gt;".

=end html

=back



=over 2

=item * I<stream-name>  =>   B<string, optional>

=begin html

<br>A stream is an on disk structure which contains a sequence of bytes, analogous to a file. A stream is always associated with exactly one file. Characters that are valid for a file name are also valid for the stream-name. e.g., "meta", "resource1". Use this option if the data should be written to the named stream associated with file specified by &lt;path&gt; Default is empty stream name, in which case the data is written to file specified by &lt;path&gt; This field is available in Data ONTAP 8.2 or later.

=end html

=back



B<Outputs>

=over 2

=item * I<length>  =>   B<integer>

=begin html

<br>Number of bytes actually written.

=end html

=back



=head2 file_directory_effective_permissions_get

[B<Family:> vserver]


=begin html

Gives information about the maximal access for the mentioned user on given path.

=end html



B<Inputs>

=over 2

=item * I<client-ip-address>  =>   B<ip-address, optional>

=begin html

<br>This optional parameter specifies the incoming CIFS or UNIX user client ip address.

=end html

=back



=over 2

=item * I<expand-mask>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to expand the bit mask of ACE.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Specifies UNIX style file or folder path for which the effective permission has to be found out.

=end html

=back



=over 2

=item * I<share-name>  =>   B<cifs-share-name, optional>

=begin html

<br>This optional parameter specifies that the given path name lookup starts from cifs share map path.

=end html

=back



=over 2

=item * I<unix-user-name>  =>   B<string, optional>

=begin html

<br>Specifies name of the UNIX user for which the effective permission has to be found out.

=end html

=back



=over 2

=item * I<win-user-name>  =>   B<string, optional>

=begin html

<br>Specifies name of the Windows user for which the effective permission has to be found out.

=end html

=back



B<Outputs>

=over 2

=item * I<permission>  =>   B<fsecurity-acl[]>

=begin html

<br>Specifies the resultant NT style effective permission.

=end html

=back



=over 2

=item * I<share-path>  =>   B<string, optional>

=begin html

<br>The CIFS share path.

=end html

=back



=head2 file_directory_security_get

[B<Family:> vserver]


=begin html

Returns security information of a file/folder

=end html



B<Inputs>

=over 2

=item * I<cifs-share-name>  =>   B<cifs-share-name, optional>

=begin html

<br>Specifies that the given path name lookup starts from cifs share map path. Mutually exclusive with volume-name field.

=end html

=back



=over 2

=item * I<expand-mask>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to expand the bit mask of DOS attributes, security descriptor's control flags and every ACE.

=end html

=back



=over 2

=item * I<inode>  =>   B<integer, optional>

=begin html

<br>File Inode Number

=end html

=back



=over 2

=item * I<lookup-names>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the SID needs to be converted to user/group name.

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Specifies the file or folder path whose security information needs to be read. If volume-name or cifs-share-name is not specified, path name lookup starts from the root path of the vserver

=end html

=back



=over 2

=item * I<volume-name>  =>   B<volume-name, optional>

=begin html

<br>Specifies that the given path name lookup starts from volume junction path. Mutually exclusive with cifs-share-name field.

=end html

=back



B<Outputs>

=over 2

=item * I<acls>  =>   B<fsecurity-acl[], optional>

=begin html

<br>NTFS or NFSV4 Security descriptor ACLs.

=end html

=back



=over 2

=item * I<dos-attributes>  =>   B<integer, optional>

=begin html

<br>DOS Attributes

=end html

=back



=over 2

=item * I<effective-style>  =>   B<security-style-enum>

=begin html

<br>Effective security style of the file/folder. The 'unified' security style, which applies only to Infinite Volumes, cannot be applied to file/folder security.

=end html

=back



=over 2

=item * I<expanded-dos-attr>  =>   B<string, optional>

=begin html

<br>Bitwise expanded DOS Attributes of the specified file/folder path. This field returns value if expand mask is true. Example follows,<br> DOS Attributes: <br>...0 .... .... .... = Offline <br>.... ..0. .... .... = Sparse <br>.... .... 0... .... = Normal <br>.... .... ..0. .... = Archive <br>.... .... ...1 .... = Directory <br>.... .... .... .0.. = System <br>.... .... .... ..0. = Hidden <br>.... .... .... ...0 = Read Only

=end html

=back



=over 2

=item * I<inode>  =>   B<integer, optional>

=begin html

<br>File Inode Number

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Specifies the file or folder path whose security information needs to be read. If volume-name or cifs-share-name is not specified, path name lookup starts from the root path of the vserver

=end html

=back



=over 2

=item * I<security-style>  =>   B<security-style-enum>

=begin html

<br>Security style of the file/folder. The 'unified' security style, which applies only to Infinite Volumes, cannot be applied to file/folder security.

=end html

=back



=over 2

=item * I<text-dos-attr>  =>   B<string, optional>

=begin html

<br>DOS Attributes in Text

=end html

=back



=over 2

=item * I<unix-group-id>  =>   B<integer, optional>

=begin html

<br>UNIX Group Id

=end html

=back



=over 2

=item * I<unix-mode-bits>  =>   B<integer, optional>

=begin html

<br>Unix mode permission bits in octal value.

=end html

=back



=over 2

=item * I<unix-user-id>  =>   B<integer, optional>

=begin html

<br>UNIX User Id

=end html

=back



=head2 file_directory_security_ntfs_create

[B<Family:> vserver]


=begin html

Creates a new NTFS security descriptor

=end html



B<Inputs>

=over 2

=item * I<control-flags-raw>  =>   B<integer, optional>

=begin html

<br>Specifies the security descriptor control flags in hexa decimal. The following are the bit fields of control flags. <br>1... .... .... .... = Self Relative <br>.0.. .... .... .... = RM Control Valid <br>..0. .... .... .... = SACL Protected <br>...0 .... .... .... = DACL Protected <br>.... 0... .... .... = SACL Inherited <br>.... .0.. .... .... = DACL Inherited <br>.... ..0. .... .... = SACL Inherit Required <br>.... ...0 .... .... = DACL Inherit Required <br>.... .... ..0. .... = SACL Defaulted <br>.... .... ...0 .... = SACL Present <br>.... .... .... 0... = DACL Defaulted <br>.... .... .... .1.. = DACL Present <br>.... .... .... ..0. = Group Defaulted <br>.... .... .... ...0 = Owner Defaulted <br> <br>At present only the following flags are honored. Others are ignored. <br>..0. .... .... .... = SACL Protected <br>...0 .... .... .... = DACL Protected <br>.... .... ..0. .... = SACL Defaulted <br>.... .... .... 0... = DACL Defaulted <br>.... .... .... ..0. = Group Defaulted <br>.... .... .... ...0 = Owner Defaulted

=end html

=back



=over 2

=item * I<group>  =>   B<name-or-sid, optional>

=begin html

<br>Specifies group's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



=over 2

=item * I<owner>  =>   B<name-or-sid, optional>

=begin html

<br>Specifies owner's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the file-directory-security-ntfs on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"file-directory-security-ntfs">, optional>

=begin html

<br>The file-directory-security-ntfs created (keys or the entire object if requested)

=end html

=back



=head2 file_directory_security_ntfs_dacl_add

[B<Family:> vserver]


=begin html

Add a discretionary access control entry to NTFS security descriptor.

=end html



B<Inputs>

=over 2

=item * I<access-type>  =>   B<access-type>

=begin html

<br>Specifies DACL ACE's access type. Possible values: <ul> <li> "deny" , <li> "allow" </ul>

=end html

=back



=over 2

=item * I<account>  =>   B<name-or-sid>

=begin html

<br>Specifies DACL ACE's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<advanced-rights>  =>   B<advanced-access-rights[], optional>

=begin html

<br>Specifies DACL ACE's Advanced access rights. Mutually exclusive with rights and rights-raw fields. Possible values: <ul> <li> "read_data" , <li> "write_data" , <li> "append_data" , <li> "read_ea" , <li> "write_ea" , <li> "execute_file" , <li> "delete_child" , <li> "read_attr" , <li> "write_attr" , <li> "delete" , <li> "read_perm" , <li> "write_perm" , <li> "write_owner" , <li> "full_control" </ul>

=end html

=back



=over 2

=item * I<apply-to>  =>   B<inheritance-level[], optional>

=begin html

<br>Specifies apply DACL entry. Possible values: <ul> <li> "this_folder" , <li> "sub_folders" , <li> "files" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



=over 2

=item * I<rights>  =>   B<access-rights, optional>

=begin html

<br>Specifies DACL ACE's access rights. Mutually exclusive with advanced-rights and rights-raw fields. Possible values: <ul> <li> "no_access" , <li> "full_control" , <li> "modify" , <li> "read_and_execute" , <li> "read" , <li> "write" </ul>

=end html

=back



=over 2

=item * I<rights-raw>  =>   B<integer, optional>

=begin html

<br>Specifies DACL ACE's access rights in raw. This field is similar to advanced-rights fields. 'advanced-rights' specifies the value in enum but rights-raw specifies the access rights in integer format. Mutually exclusive with rights and advanced-rights fields.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_ntfs_dacl_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns information about one or more discretionary access control entries

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"file-directory-security-ntfs-dacl">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"file-directory-security-ntfs-dacl">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the file-directory-security-ntfs-dacl object. All file-directory-security-ntfs-dacl objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"file-directory-security-ntfs-dacl">[], optional>

=begin html

<br>The list of attributes of file-directory-security-ntfs-dacl objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more file-directory-security-ntfs-dacl objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_directory_security_ntfs_dacl_modify

[B<Family:> vserver]


=begin html

Modify a discretionary access control entry of a file security descriptor

=end html



B<Inputs>

=over 2

=item * I<access-type>  =>   B<access-type>

=begin html

<br>Specifies DACL ACE's access type. Possible values: <ul> <li> "deny" , <li> "allow" </ul>

=end html

=back



=over 2

=item * I<account>  =>   B<name-or-sid>

=begin html

<br>Specifies DACL ACE's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<advanced-rights>  =>   B<advanced-access-rights[], optional>

=begin html

<br>Specifies DACL ACE's Advanced access rights. Mutually exclusive with rights and rights-raw fields. Possible values: <ul> <li> "read_data" , <li> "write_data" , <li> "append_data" , <li> "read_ea" , <li> "write_ea" , <li> "execute_file" , <li> "delete_child" , <li> "read_attr" , <li> "write_attr" , <li> "delete" , <li> "read_perm" , <li> "write_perm" , <li> "write_owner" , <li> "full_control" </ul>

=end html

=back



=over 2

=item * I<apply-to>  =>   B<inheritance-level[], optional>

=begin html

<br>Specifies this ACE has to be applied on. Possible values: <ul> <li> "this_folder" , <li> "sub_folders" , <li> "files" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



=over 2

=item * I<rights>  =>   B<access-rights, optional>

=begin html

<br>Specifies DACL ACE's access rights. Mutually exclusive with advanced-rights and rights-raw fields. Possible values: <ul> <li> "no_access" , <li> "full_control" , <li> "modify" , <li> "read_and_execute" , <li> "read" , <li> "write" </ul>

=end html

=back



=over 2

=item * I<rights-raw>  =>   B<integer, optional>

=begin html

<br>Specifies DACL ACE's access rights in raw. This field is similar to advanced-rights fields. 'advanced-rights' specifies the value in enum but rights-raw specifies the access rights in integer format. Mutually exclusive with rights and advanced-rights fields.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_ntfs_dacl_remove

[B<Family:> vserver]


=begin html

Remove a discretionary access control entry from NTFS security descriptor.

=end html



B<Inputs>

=over 2

=item * I<access-type>  =>   B<access-type>

=begin html

<br>Specifies DACL ACE's access type. Possible values: <ul> <li> "deny" , <li> "allow" </ul>

=end html

=back



=over 2

=item * I<account>  =>   B<name-or-sid>

=begin html

<br>Specifies DACL ACE's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_ntfs_delete

[B<Family:> vserver]


=begin html

Deletes an NTFS security descriptor information

=end html



B<Inputs>

=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_ntfs_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns information about one or more NTFS security descriptor

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"file-directory-security-ntfs">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"file-directory-security-ntfs">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the file-directory-security-ntfs object. All file-directory-security-ntfs objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"file-directory-security-ntfs">[], optional>

=begin html

<br>The list of attributes of file-directory-security-ntfs objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more file-directory-security-ntfs objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_directory_security_ntfs_modify

[B<Family:> vserver]


=begin html

Modifies an NTFS security descriptor

=end html



B<Inputs>

=over 2

=item * I<control-flags-raw>  =>   B<integer, optional>

=begin html

<br>Specifies the security descriptor control flags in hexa decimal. The following are the bit fields of control flags. <br>1... .... .... .... = Self Relative <br>.0.. .... .... .... = RM Control Valid <br>..0. .... .... .... = SACL Protected <br>...0 .... .... .... = DACL Protected <br>.... 0... .... .... = SACL Inherited <br>.... .0.. .... .... = DACL Inherited <br>.... ..0. .... .... = SACL Inherit Required <br>.... ...0 .... .... = DACL Inherit Required <br>.... .... ..0. .... = SACL Defaulted <br>.... .... ...0 .... = SACL Present <br>.... .... .... 0... = DACL Defaulted <br>.... .... .... .1.. = DACL Present <br>.... .... .... ..0. = Group Defaulted <br>.... .... .... ...0 = Owner Defaulted <br> <br>At present only the following flags are honored. Others are ignored. <br>..0. .... .... .... = SACL Protected <br>...0 .... .... .... = DACL Protected <br>.... .... ..0. .... = SACL Defaulted <br>.... .... .... 0... = DACL Defaulted <br>.... .... .... ..0. = Group Defaulted <br>.... .... .... ...0 = Owner Defaulted

=end html

=back



=over 2

=item * I<group>  =>   B<name-or-sid, optional>

=begin html

<br>Specifies group's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



=over 2

=item * I<owner>  =>   B<name-or-sid, optional>

=begin html

<br>Specifies owner's SID or domain account name of NTFS security descriptor.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_ntfs_sacl_add

[B<Family:> vserver]


=begin html

Add a system/audit access control entry to NTFS security descriptor.

=end html



B<Inputs>

=over 2

=item * I<account>  =>   B<name-or-sid>

=begin html

<br>Specifies SACL ACE's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<advanced-rights>  =>   B<advanced-access-rights[], optional>

=begin html

<br>Specifies SACL ACE's access rights. Mutually exclusive with rights-raw field. Possible values: <ul> <li> "read_data" , <li> "write_data" , <li> "append_data" , <li> "read_ea" , <li> "write_ea" , <li> "execute_file" , <li> "delete_child" , <li> "read_attr" , <li> "write_attr" , <li> "delete" , <li> "read_perm" , <li> "write_perm" , <li> "write_owner" , <li> "full_control" </ul>

=end html

=back



=over 2

=item * I<apply-to>  =>   B<inheritance-level[], optional>

=begin html

<br>Specifies how this ACE has to be applied on this folder and it's subfolders and files. This field is ignored if the security is mapped with a path which is not a folder. Possible values: <ul> <li> "this_folder" , <li> "sub_folders" , <li> "files" </ul>

=end html

=back



=over 2

=item * I<audit-access-type>  =>   B<audit-access-type>

=begin html

<br>Specifies SACL ACE's access type. Possible values: <ul> <li> "failure" , <li> "success" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



=over 2

=item * I<rights>  =>   B<access-rights, optional>

=begin html

<br>Specifies SACL ACE's access rights. Possible values: <ul> <li> "no_access" , <li> "full_control" , <li> "modify" , <li> "read_and_execute" , <li> "read" , <li> "write" </ul>

=end html

=back



=over 2

=item * I<rights-raw>  =>   B<integer, optional>

=begin html

<br>Specifies SACL ACE's access rights in raw. This field is similar to advanced-rights fields. 'advanced-rights' specifies the value in enum but rights-raw specifies the access rights in integer format. Mutually exclusive with rights and advanced-rights fields.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_ntfs_sacl_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns information about one or more system/audit access control entries

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"file-directory-security-ntfs-sacl">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"file-directory-security-ntfs-sacl">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the file-directory-security-ntfs-sacl object. All file-directory-security-ntfs-sacl objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"file-directory-security-ntfs-sacl">[], optional>

=begin html

<br>The list of attributes of file-directory-security-ntfs-sacl objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more file-directory-security-ntfs-sacl objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_directory_security_ntfs_sacl_modify

[B<Family:> vserver]


=begin html

Modify an system/audit access control entry of a file security descriptor

=end html



B<Inputs>

=over 2

=item * I<account>  =>   B<name-or-sid>

=begin html

<br>Specifies SACL ACE's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<advanced-rights>  =>   B<advanced-access-rights[], optional>

=begin html

<br>Specifies SACL ACE's access rights. Mutually exclusive with rights-raw field. Possible values: <ul> <li> "read_data" , <li> "write_data" , <li> "append_data" , <li> "read_ea" , <li> "write_ea" , <li> "execute_file" , <li> "delete_child" , <li> "read_attr" , <li> "write_attr" , <li> "delete" , <li> "read_perm" , <li> "write_perm" , <li> "write_owner" , <li> "full_control" </ul>

=end html

=back



=over 2

=item * I<apply-to>  =>   B<inheritance-level[], optional>

=begin html

<br>Specifies how this ACE has to be applied on this folder and it's subfolders and files. This field is ignored if the security is mapped with a path which is not a folder. Possible values: <ul> <li> "this_folder" , <li> "sub_folders" , <li> "files" </ul>

=end html

=back



=over 2

=item * I<audit-access-type>  =>   B<audit-access-type>

=begin html

<br>Specifies SACL ACE's access type. Possible values: <ul> <li> "failure" , <li> "success" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



=over 2

=item * I<rights>  =>   B<access-rights, optional>

=begin html

<br>Specifies SACL ACE's access rights. Possible values: <ul> <li> "no_access" , <li> "full_control" , <li> "modify" , <li> "read_and_execute" , <li> "read" , <li> "write" </ul>

=end html

=back



=over 2

=item * I<rights-raw>  =>   B<integer, optional>

=begin html

<br>Specifies SACL ACE's access rights in raw. This field is similar to advanced-rights fields. 'advanced-rights' specifies the value in enum but rights-raw specifies the access rights in integer format. Mutually exclusive with rights and advanced-rights fields.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_ntfs_sacl_remove

[B<Family:> vserver]


=begin html

Remove an system/audit access control entry from NTFS security descriptor.

=end html



B<Inputs>

=over 2

=item * I<account>  =>   B<name-or-sid>

=begin html

<br>Specifies SACL ACE's SID or domain account name of NTFS security descriptor.

=end html

=back



=over 2

=item * I<audit-access-type>  =>   B<audit-access-type>

=begin html

<br>Specifies SACL ACE's access type. Possible values: <ul> <li> "failure" , <li> "success" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_policy_create

[B<Family:> vserver]


=begin html

Creates a new file/folder security policy configuration. To preserve the security configuration of a file(or, folder) or set of files(or, folders) security policy has been defined. Policy is a container for tasks and a task associates a file/folder path name and the security descriptor that needs to be set on the file/folder. Every task in a policy is uniquely identified by the file/folder path. Policy can't have duplicate task entries and there is only one task per path.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<file-security-policy-name>

=begin html

<br>Specifies the name of the policy. To preserve the security configuration of a file(or, folder) or set of files(or, folders) security policy has been defined. Policy is a container for tasks and a task associates a file/folder path name and the security descriptor that needs to be set on the file/folder. Every task in a policy is uniquely identified by the file/folder path. Policy can't have duplicate task entries and there is only one task per path.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the file-directory-security-policy on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"file-directory-security-policy">, optional>

=begin html

<br>The file-directory-security-policy created (keys or the entire object if requested)

=end html

=back



=head2 file_directory_security_policy_delete

[B<Family:> vserver]


=begin html

Deletes a file/folder security policy. To preserve the security configuration of a file(or, folder) or set of files(or, folders) security policy has been defined. Policy is a container for tasks and a task associates a file/folder path name and the security descriptor that needs to be set on the file/folder. Every task in a policy is uniquely identified by the file/folder path. Policy can't have duplicate task entries and there is only one task per path.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<file-security-policy-name>

=begin html

<br>Specifies the name of the policy. To preserve the security configuration of a file(or, folder) or set of files(or, folders) security policy has been defined. Policy is a container for tasks and a task associates a file/folder path name and the security descriptor that needs to be set on the file/folder. Every task in a policy is uniquely identified by the file/folder path. Policy can't have duplicate task entries and there is only one task per path.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns information about one or more security policies. To preserve the security configuration of a file(or, folder) or set of files(or, folders) security policy has been defined. Policy is a container for tasks and a task associates a file/folder path name and the security descriptor that needs to be set on the file/folder. Every task in a policy is uniquely identified by the file/folder path. Policy can't have duplicate task entries and there is only one task per path.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"file-directory-security-policy">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"file-directory-security-policy">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the file-directory-security-policy object. All file-directory-security-policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"file-directory-security-policy">[], optional>

=begin html

<br>The list of attributes of file-directory-security-policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more file-directory-security-policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_directory_security_policy_task_add

[B<Family:> vserver]


=begin html

Add a file security policy task. A task maps security descriptor with a file or folder.

=end html



B<Inputs>

=over 2

=item * I<access-control>  =>   B<access-control, optional>

=begin html

<br>Specifies the access control of task to be applied. Its value can be file-directory or slag respectively. The slag value is not supported on FlexGroups. Default value will be file-directory. Possible values: <ul> <li> "file_directory" , <li> "slag" </ul>

=end html

=back



=over 2

=item * I<ntfs-mode>  =>   B<ntfs-propagation-mode, optional>

=begin html

<br>Specifies NTFS propagation mode. Possible values: <ul> <li> "propagate" , <li> "ignore" , <li> "replace" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd[], optional>

=begin html

<br>Specifies NTFS security descriptor identifier.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Specifies the file or folder path of the task. In case of SLAG this path specify the volume or qtree mounted path.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<file-security-policy-name>

=begin html

<br>Specifies the name of the policy to which the task needs to be added.

=end html

=back



=over 2

=item * I<security-type>  =>   B<security-type, optional>

=begin html

<br>Specifies the type of security. Possible values: <ul> <li> "ntfs" , <li> "nfsv4" </ul>

=end html

=back



=over 2

=item * I<task-index-number>  =>   B<integer, optional>

=begin html

<br>Specifies the target index/position of this task in the policy. If a policy has already 5 tasks and this is the 6th task you are adding and you want to add this task as 2nd task, you can specifiy the index 2. By default the task gets added as last task. If the index number exceeds the number of positions, it will go at the end.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_policy_task_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns information about one or more policy tasks. Policy is a container for tasks and a task associates a file/folder path name and the security descriptor that needs to be set on the file/folder. Every task in a policy is uniquely identified by the file/folder path. Policy can't have duplicate task entries and there is only one task per path.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"file-directory-security-policy-task">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"file-directory-security-policy-task">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the file-directory-security-policy-task object. All file-directory-security-policy-task objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"file-directory-security-policy-task">[], optional>

=begin html

<br>The list of attributes of file-directory-security-policy-task objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more file-directory-security-policy-task objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 file_directory_security_policy_task_modify

[B<Family:> vserver]


=begin html

Modify a file security policy task

=end html



B<Inputs>

=over 2

=item * I<ntfs-mode>  =>   B<ntfs-propagation-mode, optional>

=begin html

<br>NTFS Propagation Mode Possible values: <ul> <li> "propagate" , <li> "ignore" , <li> "replace" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd[], optional>

=begin html

<br>NTFS Security Descriptor Name

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path

=end html

=back



=over 2

=item * I<policy-name>  =>   B<file-security-policy-name>

=begin html

<br>Policy Name

=end html

=back



=over 2

=item * I<security-type>  =>   B<security-type, optional>

=begin html

<br>Security Type Possible values: <ul> <li> "ntfs" , <li> "nfsv4" </ul>

=end html

=back



=over 2

=item * I<task-index-number>  =>   B<integer, optional>

=begin html

<br>Position

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_policy_task_remove

[B<Family:> vserver]


=begin html

Remove a task from the policy of a vserver.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Specifies the file or folder path of the task.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<file-security-policy-name>

=begin html

<br>Specifies the name of the policy from which the task has been removed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_remove_slag

[B<Family:> vserver]


=begin html

Removes SLAG from the specified volume or qtree path.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Specifies the path of the volume or qtree from which slag to be removed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 file_directory_security_set

[B<Family:> vserver]


=begin html

Apply security descriptors on files and directories defined in a policy to a Vserver

=end html



B<Inputs>

=over 2

=item * I<ignore-broken-symlinks>  =>   B<boolean, optional>

=begin html

<br>Skip Broken Symlinks

=end html

=back



=over 2

=item * I<policy-name>  =>   B<file-security-policy-name>

=begin html

<br>Specifies the name of the policy whose security settings have to be applied.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fileservice_audit_config_create

[B<Family:> vserver]


=begin html

Create audit configuration for a Vserver

=end html



B<Inputs>

=over 2

=item * I<destination>  =>   B<string>

=begin html

<br>Audit log destination path. The path where consolidated audit logs are stored. If the path is not valid, the api returns error

=end html

=back



=over 2

=item * I<events>  =>   B<audit-events[], optional>

=begin html

<br>The Categories of events that will be audited. Default: file_ops,cifs_logon_logoff,audit-policy-change Possible values: <ul> <li> "file_ops" - File Operation Events, <li> "cifs_logon_logoff" - CIFS Logon and Logoff Events, <li> "cap_staging" - Central Access Policy Staging Events, <li> "file_share" - File Share Category Events, <li> "audit_policy_change" - Audit Policy Change Events, <li> "user_account" - Local User Account Management Events, <li> "authorization_policy_change" - Authorization Policy Change Events, <li> "security_group" - Local Security Group Management Events </ul>

=end html

=back



=over 2

=item * I<format>  =>   B<audit-format, optional>

=begin html

<br>The format in which the logs would be generated by consolidation process. Default: evtx Possible values: <ul> <li> "xml" - Data ONTAP-Specific XML Log Format, <li> "evtx" - Microsoft Windows EVTX Log Format </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the fileservice-audit-config on successful creation. Default: false

=end html

=back



=over 2

=item * I<rotate-limit>  =>   B<integer, optional>

=begin html

<br>Audit log files rotation Limit. A value of 0 indicates that all the files will be retained. Default: 0

=end html

=back



=over 2

=item * I<rotate-schedule-day>  =>   B<cron-day-of-month[], optional>

=begin html

<br>Audit log rotation schedule: Day. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-schedule-dayofweek>  =>   B<cron-day-of-week[], optional>

=begin html

<br>Audit log rotation schedule: Day of Week. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-schedule-hour>  =>   B<cron-hour[], optional>

=begin html

<br>Audit log rotation schedule: Hour. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-schedule-minute>  =>   B<cron-minute[], optional>

=begin html

<br>Audit Log rotation schedule: Minute. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-schedule-month>  =>   B<cron-month[], optional>

=begin html

<br>Audit log rotation schedule: Month. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-size>  =>   B<psize, optional>

=begin html

<br>Audit log file size limit. By default rotation is done based on size. This field is mutually exclusive with time related rotate fields. If time based rotation is needed use the time based rotation fields(rotate-schedule-month, rotate-schedule-dayofweek, rotate-schedule-day... etc). Default: 100MB

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"fileservice-audit-config">, optional>

=begin html

<br>The fileservice-audit-config created (keys or the entire object if requested)

=end html

=back



=head2 fileservice_audit_config_get

[B<Family:> vserver]


=begin html

Show Audit configuration details for a Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fileservice-audit-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"fileservice-audit-config">>

=begin html

<br>The attributes of the fileservice-audit-config.

=end html

=back



=head2 fileservice_audit_config_get_iter

[B<Family:> cluster, vserver]


=begin html

Show Audit configuration details for all Vservers

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fileservice-audit-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fileservice-audit-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fileservice-audit-config object. All fileservice-audit-config objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fileservice-audit-config">[], optional>

=begin html

<br>The list of attributes of fileservice-audit-config objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fileservice-audit-config objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fileservice_audit_config_get_total_records

[B<Family:> cluster]


=begin html

Return the total number of records

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of fileservice-audit-config objects.

=end html

=back



=head2 fileservice_audit_config_modify

[B<Family:> vserver]


=begin html

Modify audit configuration for a Vserver

=end html



B<Inputs>

=over 2

=item * I<audit-guarantee>  =>   B<boolean, optional>

=begin html

<br>Strict guarantee of auditing for a Vserver. If this is true, file access is denied if audit record can not be generated and if this is false, auditing is done on a best effort basis. Default: true

=end html

=back



=over 2

=item * I<destination>  =>   B<string, optional>

=begin html

<br>Audit log destination path. The path where consolidated audit logs are stored. If the path is not valid, the api returns error

=end html

=back



=over 2

=item * I<events>  =>   B<audit-events[], optional>

=begin html

<br>The Categories of events that will be audited. Default: file_ops,cifs_logon_logoff,audit-policy-change Possible values: <ul> <li> "file_ops" - File Operation Events, <li> "cifs_logon_logoff" - CIFS Logon and Logoff Events, <li> "cap_staging" - Central Access Policy Staging Events, <li> "file_share" - File Share Category Events, <li> "audit_policy_change" - Audit Policy Change Events, <li> "user_account" - Local User Account Management Events, <li> "authorization_policy_change" - Authorization Policy Change Events, <li> "security_group" - Local Security Group Management Events </ul>

=end html

=back



=over 2

=item * I<format>  =>   B<audit-format, optional>

=begin html

<br>The format in which the logs would be generated by consolidation process. Default: evtx Possible values: <ul> <li> "xml" - Data ONTAP-Specific XML Log Format, <li> "evtx" - Microsoft Windows EVTX Log Format </ul>

=end html

=back



=over 2

=item * I<rotate-limit>  =>   B<integer, optional>

=begin html

<br>Audit log files rotation Limit. A value of 0 indicates that all the files will be retained. Default: 0

=end html

=back



=over 2

=item * I<rotate-schedule-day>  =>   B<cron-day-of-month[], optional>

=begin html

<br>Audit log rotation schedule: Day. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-schedule-dayofweek>  =>   B<cron-day-of-week[], optional>

=begin html

<br>Audit log rotation schedule: Day of Week. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-schedule-hour>  =>   B<cron-hour[], optional>

=begin html

<br>Audit log rotation schedule: Hour. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-schedule-minute>  =>   B<cron-minute[], optional>

=begin html

<br>Audit Log rotation schedule: Minute. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-schedule-month>  =>   B<cron-month[], optional>

=begin html

<br>Audit log rotation schedule: Month. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field

=end html

=back



=over 2

=item * I<rotate-size>  =>   B<psize, optional>

=begin html

<br>Audit log file size limit. By default rotation is done based on size. This field is mutually exclusive with time related rotate fields. If time based rotation is needed use the time based rotation fields(rotate-schedule-month, rotate-schedule-dayofweek, rotate-schedule-day... etc). Default: 100MB

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fileservice_audit_disable

[B<Family:> vserver]


=begin html

Disable Auditing for specified Vserver

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fileservice_audit_enable

[B<Family:> vserver]


=begin html

Enable Auditing for specified Vserver. <p> Events on FlexGroup volumes will not be emitted to the audit log.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force Enable

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fileservice_audit_remove

[B<Family:> vserver]


=begin html

Disable Audit Configuration for specified vserver

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force Delete

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fileservice_audit_repair

[B<Family:> vserver]


=begin html

Repair the audit infrastructure

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fileservice_audit_rotate_log

[B<Family:> vserver]


=begin html

Rotate audit log for specified vserver

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 flash_get_thresholds

[B<Family:> cluster]


=begin html

Get threshold profiles available in Flash Management Module.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The name of the system to which the flash thresholds apply.

=end html

=back



=over 2

=item * I<profile>  =>   B<string, optional>

=begin html

<br>Name of the threshold profile. If not provided, all available profiles will be printed.

=end html

=back



B<Outputs>

=over 2

=item * I<flash-threshold-profile>  =>   B<L<"flash-threshold-profile">[], optional>

=begin html

<br>A collection of failure threshold entries.

=end html

=back



=head2 flash_thresholds_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Flash Cache threshold profiles objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"flash-threshold-profile">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"flash-threshold-profile">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Flash Cache threshold profiles object. All Flash Cache threshold profiles objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"flash-threshold-profile">[], optional>

=begin html

<br>The list of attributes of Flash Cache threshold profiles objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Flash Cache threshold profiles objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 flash_device_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Flash Cache device info objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"flash-device-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"flash-device-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Flash Cache device info object. All Flash Cache device info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"flash-device-info">[], optional>

=begin html

<br>The list of attributes of Flash Cache device info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Flash Cache device info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 flash_device_list_info

[B<Family:> cluster]


=begin html

Get a collection of Flash Cache device info objects.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<slot-number>  =>   B<integer, optional>

=begin html

<br>Slot

=end html

=back



=over 2

=item * I<subslot-number>  =>   B<integer, optional>

=begin html

<br>Subslot

=end html

=back



B<Outputs>

=over 2

=item * I<flash-device-info>  =>   B<L<"flash-device-info">[], optional>

=begin html

<br>Information about Flash Cache devices

=end html

=back



=head2 flexcache_cache_policy_create

[B<Family:> cluster]


=begin html

Create a new flexcache-cache-policy.

=end html



B<Inputs>

=over 2

=item * I<cache-policy-name>  =>   B<string>

=begin html

<br>The name of the FlexCache Cache Policy being created, modified or deleted. The maximum length is 255 characters.

=end html

=back



=over 2

=item * I<deleg-lru-timeout>  =>   B<integer, optional>

=begin html

<br>The Timeout for the Delegations LRU represents the time in seconds since the last use of the delegation, after which a Cache considers it unused and returns it to Origin.

=end html

=back



=over 2

=item * I<prefer-local-cache>  =>   B<boolean, optional>

=begin html

<br>If set to true, data is served from the local cache, otherwise from the local origin.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the flexcache-cache-policy on successful creation. Default: false

=end html

=back



=over 2

=item * I<time-to-live-directories>  =>   B<integer>

=begin html

<br>The Time To Live (TTL) for Directories represents the time, in seconds, that attributes and data of a Directory are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<time-to-live-files>  =>   B<integer>

=begin html

<br>The Time To Live (TTL) for files represents the time, in seconds, that attributes and data of a file are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<time-to-live-metafiles>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for ONTAP Metafiles represents the time, in seconds, that attributes and data of an ONTAP Metafile are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<time-to-live-other>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for any file that doesn't fall into the other TTL categories represents the time, in seconds, that attributes and data of that file are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<time-to-live-symbolic>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for Symbolic Links represents the time, in seconds, that attributes and data of a Symbolic Link are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The name of the managing Vserver. Maximum length is 255 characters.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"flexcache-cache-policy-info">, optional>

=begin html

<br>The flexcache-cache-policy created (keys or the entire object if requested)

=end html

=back



=head2 flexcache_cache_policy_destroy

[B<Family:> cluster]


=begin html

Delete an existing flexcache-cache-policy object.

=end html



B<Inputs>

=over 2

=item * I<cache-policy-name>  =>   B<string>

=begin html

<br>The name of the FlexCache Cache Policy being created, modified or deleted. The maximum length is 255 characters.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The name of the managing Vserver. Maximum length is 255 characters.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 flexcache_cache_policy_get

[B<Family:> cluster]


=begin html

Get the attributes of the flexcache-cache-policy.

=end html



B<Inputs>

=over 2

=item * I<cache-policy-name>  =>   B<string>

=begin html

<br>The name of the FlexCache Cache Policy being created, modified or deleted. The maximum length is 255 characters.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"flexcache-cache-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The name of the managing Vserver. Maximum length is 255 characters.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"flexcache-cache-policy-info">>

=begin html

<br>The attributes of the flexcache-cache-policy.

=end html

=back



=head2 flexcache_cache_policy_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of flexcache-cache-policy objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"flexcache-cache-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"flexcache-cache-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the flexcache-cache-policy object. All flexcache-cache-policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"flexcache-cache-policy-info">[], optional>

=begin html

<br>The list of attributes of flexcache-cache-policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more flexcache-cache-policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 flexcache_cache_policy_modify

[B<Family:> cluster]


=begin html

Modify the attributes of flexcache-cache-policy object.

=end html



B<Inputs>

=over 2

=item * I<cache-policy-name>  =>   B<string>

=begin html

<br>The name of the FlexCache Cache Policy being created, modified or deleted. The maximum length is 255 characters.

=end html

=back



=over 2

=item * I<deleg-lru-timeout>  =>   B<integer, optional>

=begin html

<br>The Timeout for the Delegations LRU represents the time in seconds since the last use of the delegation, after which a Cache considers it unused and returns it to Origin.

=end html

=back



=over 2

=item * I<prefer-local-cache>  =>   B<boolean, optional>

=begin html

<br>If set to true, data is served from the local cache, otherwise from the local origin.

=end html

=back



=over 2

=item * I<time-to-live-directories>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for Directories represents the time, in seconds, that attributes and data of a Directory are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<time-to-live-files>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for files represents the time, in seconds, that attributes and data of a file are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<time-to-live-metafiles>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for ONTAP Metafiles represents the time, in seconds, that attributes and data of an ONTAP Metafile are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<time-to-live-other>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for any file that doesn't fall into the other TTL categories represents the time, in seconds, that attributes and data of that file are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<time-to-live-symbolic>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for Symbolic Links represents the time, in seconds, that attributes and data of a Symbolic Link are served from the Cache volume before they are verified with the Origin volume.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The name of the managing Vserver. Maximum length is 255 characters.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 flexcache_create

[B<Family:> cluster]


=begin html

Create cluster-wide caching for a given volume.

=end html



B<Inputs>

=over 2

=item * I<origin-volume>  =>   B<string>

=begin html

<br>Origin Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 flexcache_delete

[B<Family:> cluster]


=begin html

Delete cluster-wide caching for a given volume.

=end html



B<Inputs>

=over 2

=item * I<origin-volume>  =>   B<string>

=begin html

<br>Origin Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 flexcache_get

[B<Family:> vserver]


=begin html

Get the attributes of the flexcache.

=end html



B<Inputs>

=over 2

=item * I<cache-volume>  =>   B<string>

=begin html

<br>Cache Volume Name

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"flexcache-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"flexcache-info">>

=begin html

<br>The attributes of the flexcache.

=end html

=back



=head2 flexcache_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of flexcache objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"flexcache-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"flexcache-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the flexcache object. All flexcache objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"flexcache-info">[], optional>

=begin html

<br>The list of attributes of flexcache objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more flexcache objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 flexcache_options_get

[B<Family:> cluster]


=begin html

Get the cluster-wide attributes of FlexCache.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"flexcache-options-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"flexcache-options-info">>

=begin html

<br>The attributes of the flexcache-options.

=end html

=back



=head2 flexcache_options_modify

[B<Family:> cluster]


=begin html

Modify the cluster-wide attributes of FlexCache.

=end html



B<Inputs>

=over 2

=item * I<delegations-high-watermark>  =>   B<integer, optional>

=begin html

<br>This is the maximum number of delegations that can be given out per node in the cluster. When this limit is reached, no further delegations can be given out to Cache clients.

=end html

=back



=over 2

=item * I<delegations-low-watermark>  =>   B<integer, optional>

=begin html

<br>This is the number of delegations per node, at which the node resumes giving out delegations to Cache clients.

=end html

=back



=over 2

=item * I<per-cache-statistics>  =>   B<boolean, optional>

=begin html

<br>Keep statistics per cache volume basis

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_disable_policy

[B<Family:> vserver]


=begin html

Disables a specific named policy.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>Name of the policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_enable_policy

[B<Family:> vserver]


=begin html

Enables a specific named policy. The operation will fail if the policy doesn't exist.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<sequence-number>  =>   B<integer>

=begin html

<br>Policy Sequence Number

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_passthrough_read_connection_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns passthrough-read connection status information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fpolicy-passthrough-read-connection-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fpolicy-passthrough-read-connection-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fpolicy-passthrough-read-connection object. All fpolicy-passthrough-read-connection objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fpolicy-passthrough-read-connection-info">[], optional>

=begin html

<br>The list of attributes of fpolicy-passthrough-read-connection objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fpolicy-passthrough-read-connection objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fpolicy_policy_create

[B<Family:> vserver]


=begin html

Create a policy.

=end html



B<Inputs>

=over 2

=item * I<allow-privileged-access>  =>   B<boolean, optional>

=begin html

<br>Indicator if privileged access should be given to FPolicy servers registered for the policy. Default Value is no.

=end html

=back



=over 2

=item * I<engine-name>  =>   B<engine-name>

=begin html

<br>Name of the Engine. Default Engine is 'native'.

=end html

=back



=over 2

=item * I<events>  =>   B<event-name[]>

=begin html

<br>Events for file access monitoring.

=end html

=back



=over 2

=item * I<is-mandatory>  =>   B<boolean, optional>

=begin html

<br>Indicator if the screening with this policy is required, i.e. it will fail if no servers are able process the notification registered as a part of external engine. If set to true, the request will fail if there is no server to evaluate it. If it's false, the request will succeed. Default value is true.

=end html

=back



=over 2

=item * I<is-passthrough-read-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicator if passthrough-read should be allowed to FPolicy servers registered for the policy. Default value is false.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<privileged-user-name>  =>   B<string, optional>

=begin html

<br>User name for privileged access. No default value is set for this attribute.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the fpolicy-policy on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"fpolicy-policy-info">, optional>

=begin html

<br>The fpolicy-policy created (keys or the entire object if requested)

=end html

=back



=head2 fpolicy_policy_delete

[B<Family:> vserver]


=begin html

Delete a policy.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_policy_event_create

[B<Family:> vserver]


=begin html

Create FPolicy Event.

=end html



B<Inputs>

=over 2

=item * I<event-name>  =>   B<event-name>

=begin html

<br>Name of the Event.

=end html

=back



=over 2

=item * I<file-operations>  =>   B<fpolicy-operation[], optional>

=begin html

<br>Name of file operations. By default no operations are monitored. Possible values: <ul> <li> "close" - File close operation, <li> "create" - File create operation, <li> "create_dir" - File create directory operation, <li> "delete" - File delete operation, <li> "delete_dir" - Directory delete operation, <li> "getattr" - Get attribute operation, <li> "link" - Link operation, <li> "lookup" - Lookup operation, <li> "open" - File open operation, <li> "read" - File read operation, <li> "write" - File write operation, <li> "rename" - File rename operation, <li> "rename_dir" - Directory rename operation, <li> "setattr" - Set attribute operation, <li> "symlink" - Symbolic link operation </ul>

=end html

=back



=over 2

=item * I<filter-string>  =>   B<fpolicy-filter[], optional>

=begin html

<br>Name of filters. It is notification filtering parameters. By default no filters are selected. Possible values: <ul> <li> "monitor_ads" - Monitor alternate data stream, <li> "close_with_modification" - Filter close with modification, <li> "close_without_modification" - Filter close without modification, <li> "first_read" - Filter first read, <li> "first_write" - Filter first write, <li> "offline_bit" - Filter offline bit set, <li> "open_with_delete_intent" - Filter open with delete intent, <li> "open_with_write_intent" - Filter open with write intent, <li> "write_with_size_change" - Filter write with size change, <li> "close_with_read" - Filter close with read, <li> "setattr_with_owner_change" - Filter file owner change, <li> "setattr_with_group_change" - Filter file group change, <li> "setattr_with_sacl_change" - Filter file sacl change, <li> "setattr_with_dacl_change" - Filter file dacl change, <li> "setattr_with_modify_time_change" - Filter file modify time change, <li> "setattr_with_access_time_change" - Filter file access time change, <li> "setattr_with_creation_time_change" - Filter file creation time change, <li> "setattr_with_mode_change" - Filter file mode change, <li> "setattr_with_size_change" - Filter file size change, <li> "setattr_with_allocation_size_change" - Filter allocation size change, <li> "exclude_directory" - Filter to exclude directory operations </ul>

=end html

=back



=over 2

=item * I<protocol>  =>   B<fpolicy-proto, optional>

=begin html

<br>Name of protocol for which event is created. By default no protocol is selected. Possible values: <ul> <li> "cifs" - CIFS protocol, <li> "nfsv3" - NFSv3 protocol, <li> "nfsv4" - NFSv4 protocol </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the fpolicy-policy-event on successful creation. Default: false

=end html

=back



=over 2

=item * I<volume-operation>  =>   B<boolean, optional>

=begin html

<br>Indicator if the volume operation required for the event.Default Value is false.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"fpolicy-event-options-config">, optional>

=begin html

<br>The fpolicy-policy-event created (keys or the entire object if requested)

=end html

=back



=head2 fpolicy_policy_event_delete

[B<Family:> vserver]


=begin html

Delete FPolicy event.

=end html



B<Inputs>

=over 2

=item * I<event-name>  =>   B<event-name>

=begin html

<br>Name of the Event.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_policy_event_get_iter

[B<Family:> cluster, vserver]


=begin html

Get a list of rows for FPolicy event options. FPolicy event is consist of protocol, file operations, vo lume operation and filters.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fpolicy-event-options-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fpolicy-event-options-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fpolicy-policy-event object. All fpolicy-policy-event objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fpolicy-event-options-config">[], optional>

=begin html

<br>The list of attributes of fpolicy-policy-event objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fpolicy-policy-event objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fpolicy_policy_event_modify

[B<Family:> vserver]


=begin html

Set FPolicy event options. FPolicy event is consist of protocol, file operation, volume operation and f ilters.

=end html



B<Inputs>

=over 2

=item * I<event-name>  =>   B<event-name>

=begin html

<br>Name of the Event.

=end html

=back



=over 2

=item * I<file-operations>  =>   B<fpolicy-operation[], optional>

=begin html

<br>Name of file operations. By default no operations are monitored. Possible values: <ul> <li> "close" - File close operation, <li> "create" - File create operation, <li> "create_dir" - File create directory operation, <li> "delete" - File delete operation, <li> "delete_dir" - Directory delete operation, <li> "getattr" - Get attribute operation, <li> "link" - Link operation, <li> "lookup" - Lookup operation, <li> "open" - File open operation, <li> "read" - File read operation, <li> "write" - File write operation, <li> "rename" - File rename operation, <li> "rename_dir" - Directory rename operation, <li> "setattr" - Set attribute operation, <li> "symlink" - Symbolic link operation </ul>

=end html

=back



=over 2

=item * I<filter-string>  =>   B<fpolicy-filter[], optional>

=begin html

<br>Name of filters. It is notification filtering parameters. By default no filters are selected. Possible values: <ul> <li> "monitor_ads" - Monitor alternate data stream, <li> "close_with_modification" - Filter close with modification, <li> "close_without_modification" - Filter close without modification, <li> "first_read" - Filter first read, <li> "first_write" - Filter first write, <li> "offline_bit" - Filter offline bit set, <li> "open_with_delete_intent" - Filter open with delete intent, <li> "open_with_write_intent" - Filter open with write intent, <li> "write_with_size_change" - Filter write with size change, <li> "close_with_read" - Filter close with read, <li> "setattr_with_owner_change" - Filter file owner change, <li> "setattr_with_group_change" - Filter file group change, <li> "setattr_with_sacl_change" - Filter file sacl change, <li> "setattr_with_dacl_change" - Filter file dacl change, <li> "setattr_with_modify_time_change" - Filter file modify time change, <li> "setattr_with_access_time_change" - Filter file access time change, <li> "setattr_with_creation_time_change" - Filter file creation time change, <li> "setattr_with_mode_change" - Filter file mode change, <li> "setattr_with_size_change" - Filter file size change, <li> "setattr_with_allocation_size_change" - Filter allocation size change, <li> "exclude_directory" - Filter to exclude directory operations </ul>

=end html

=back



=over 2

=item * I<protocol>  =>   B<fpolicy-proto, optional>

=begin html

<br>Name of protocol for which event is created. By default no protocol is selected. Possible values: <ul> <li> "cifs" - CIFS protocol, <li> "nfsv3" - NFSv3 protocol, <li> "nfsv4" - NFSv4 protocol </ul>

=end html

=back



=over 2

=item * I<volume-operation>  =>   B<boolean, optional>

=begin html

<br>Indicator if the volume operation required for the event.Default Value is false.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_policy_external_engine_create

[B<Family:> vserver]


=begin html

Create an external engine.

=end html



B<Inputs>

=over 2

=item * I<certificate-ca>  =>   B<string, optional>

=begin html

<br>Certificate authority name. No default value is set for this field.

=end html

=back



=over 2

=item * I<certificate-common-name>  =>   B<common-name, optional>

=begin html

<br>FQDN or custom common name of certificate. No default value is set for this field.

=end html

=back



=over 2

=item * I<certificate-serial>  =>   B<string, optional>

=begin html

<br>Serial number of certificate. No default value is set for this field.

=end html

=back



=over 2

=item * I<engine-name>  =>   B<engine-name>

=begin html

<br>Name of the external engine.

=end html

=back



=over 2

=item * I<extern-engine-type>  =>   B<external-engine-type, optional>

=begin html

<br>External engine type. If the engine is asynchronous, no reply is sent from FPolicy servers. Default value set for this field is synchronous. Possible values: <ul> <li> "synchronous" - Synchronous External Engine, <li> "asynchronous" - Asynchronous External Engine </ul>

=end html

=back



=over 2

=item * I<is-resiliency-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates if the resiliency with this engine is required. If set to true, the notifications will be stored in a path as resiliency-directory-path for the duration specified in max-retention-duration if all the servers are disconnected. If it is false, the notifications will not be stored. Default value is false.

=end html

=back



=over 2

=item * I<keep-alive-interval>  =>   B<integer, optional>

=begin html

<br>Interval time in seconds for storage appliance to send keep-alive message to FPolicy server. Default value set for this field is 10 seconds.

=end html

=back



=over 2

=item * I<max-connection-retries>  =>   B<integer, optional>

=begin html

<br>Number of times storage appliance will attempt to establish a broken connection to FPolicy server. Default value set for this field is 5.

=end html

=back



=over 2

=item * I<max-server-requests>  =>   B<integer, optional>

=begin html

<br>Maximum number of outstanding screen requests that will be queued for an FPolicy Server. Default value set for this field is 50.

=end html

=back



=over 2

=item * I<port-number>  =>   B<integer>

=begin html

<br>Port number of the FPolicy server application.

=end html

=back



=over 2

=item * I<primary-servers>  =>   B<ip-address[]>

=begin html

<br>Primary FPolicy servers.

=end html

=back



=over 2

=item * I<recv-buffer-size>  =>   B<integer, optional>

=begin html

<br>Receive buffer size of connected socket for FPolicy Server. Default value set for this field is 256 kilobytes (256Kb).

=end html

=back



=over 2

=item * I<request-abort-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds for a screen request to be aborted by storage appliance. Default value set for this field is 40 seconds.

=end html

=back



=over 2

=item * I<request-cancel-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds for a screen request to be processed by an FPolicy server. Default value set for this field is 20 seconds.

=end html

=back



=over 2

=item * I<resiliency-directory-path>  =>   B<string, optional>

=begin html

<br>Directory path under Vserver for storing file access notifications. File access notifications will be stored in a generated file during the outage time. The path is the full, user visible path relative to the Vserver root, and it might be crossing junction mount points. Example: '/path1' where '/' is the root of the Vserver and 'path1' is the directory where to store notifications.

=end html

=back



=over 2

=item * I<resiliency-max-retention-duration>  =>   B<time-interval, optional>

=begin html

<br>Maximum retention duration for which the notifications will be stored. After this time window further notifications will not be stored. Default value set for this field is 180 seconds. Maximum retention duration can be 600 seconds.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the fpolicy-policy-external-engine on successful creation. Default: false

=end html

=back



=over 2

=item * I<secondary-servers>  =>   B<ip-address[], optional>

=begin html

<br>Secondary FPolicy servers. No default value is set for this field.

=end html

=back



=over 2

=item * I<send-buffer-size>  =>   B<integer, optional>

=begin html

<br>Send buffer size of connected socket for FPolicy Server. Default value set for this field is 256 kilobytes (256Kb).

=end html

=back



=over 2

=item * I<server-progress-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds in which a throttled FPolicy server must complete at least one screen request. If no request is processed within the timeout, connection to FPolicy server is terminated. Default value set for this field is 60 seconds.

=end html

=back



=over 2

=item * I<session-timeout>  =>   B<time-interval, optional>

=begin html

<br>Session Id purge timeout during FPolicy server reconnection. Default value set for this field is 10 seconds.

=end html

=back



=over 2

=item * I<ssl-option>  =>   B<fpolicy-ssl-opts>

=begin html

<br>SSL option for external communication. No default value is set for this field. Possible values: <ul> <li> "no_auth" - Communication over TCP, <li> "server_auth" - Authentication of FPolicy server only, <li> "mutual_auth" - Mutual authentication of storage system and FPolicy server </ul>

=end html

=back



=over 2

=item * I<status-request-interval>  =>   B<integer, optional>

=begin html

<br>Interval time in seconds for storage appliance to query status request from FPolicy server. Default value set for this field is 10 seconds.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"fpolicy-external-engine-info">, optional>

=begin html

<br>The fpolicy-policy-external-engine created (keys or the entire object if requested)

=end html

=back



=head2 fpolicy_policy_external_engine_delete

[B<Family:> vserver]


=begin html

Delete an external engine.

=end html



B<Inputs>

=over 2

=item * I<engine-name>  =>   B<engine-name>

=begin html

<br>Name of the external engine.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_policy_external_engine_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns information on external engines.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fpolicy-external-engine-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fpolicy-external-engine-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fpolicy-policy-external-engine object. All fpolicy-policy-external-engine objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fpolicy-external-engine-info">[], optional>

=begin html

<br>The list of attributes of fpolicy-policy-external-engine objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fpolicy-policy-external-engine objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fpolicy_policy_external_engine_modify

[B<Family:> vserver]


=begin html

Modify an external engine. External engine can be modified only when none of the enabled policies are using it.

=end html



B<Inputs>

=over 2

=item * I<certificate-ca>  =>   B<string, optional>

=begin html

<br>Certificate authority name. No default value is set for this field.

=end html

=back



=over 2

=item * I<certificate-common-name>  =>   B<common-name, optional>

=begin html

<br>FQDN or custom common name of certificate. No default value is set for this field.

=end html

=back



=over 2

=item * I<certificate-serial>  =>   B<string, optional>

=begin html

<br>Serial number of certificate. No default value is set for this field.

=end html

=back



=over 2

=item * I<engine-name>  =>   B<engine-name>

=begin html

<br>Name of the external engine.

=end html

=back



=over 2

=item * I<extern-engine-type>  =>   B<external-engine-type, optional>

=begin html

<br>External engine type. If the engine is asynchronous, no reply is sent from FPolicy servers. Default value set for this field is synchronous. Possible values: <ul> <li> "synchronous" - Synchronous External Engine, <li> "asynchronous" - Asynchronous External Engine </ul>

=end html

=back



=over 2

=item * I<is-resiliency-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates if the resiliency with this engine is required. If set to true, the notifications will be stored in a path as resiliency-directory-path for the duration specified in max-retention-duration if all the servers are disconnected. If it is false, the notifications will not be stored. Default value is false.

=end html

=back



=over 2

=item * I<keep-alive-interval>  =>   B<integer, optional>

=begin html

<br>Interval time in seconds for storage appliance to send keep-alive message to FPolicy server. Default value set for this field is 10 seconds.

=end html

=back



=over 2

=item * I<max-connection-retries>  =>   B<integer, optional>

=begin html

<br>Number of times storage appliance will attempt to establish a broken connection to FPolicy server. Default value set for this field is 5.

=end html

=back



=over 2

=item * I<max-server-requests>  =>   B<integer, optional>

=begin html

<br>Maximum number of outstanding screen requests that will be queued for an FPolicy Server. Default value set for this field is 50.

=end html

=back



=over 2

=item * I<port-number>  =>   B<integer, optional>

=begin html

<br>Port number of the FPolicy server application.

=end html

=back



=over 2

=item * I<primary-servers>  =>   B<ip-address[], optional>

=begin html

<br>Primary FPolicy servers.

=end html

=back



=over 2

=item * I<recv-buffer-size>  =>   B<integer, optional>

=begin html

<br>Receive buffer size of connected socket for FPolicy Server. Default value set for this field is 256 kilobytes (256Kb).

=end html

=back



=over 2

=item * I<request-abort-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds for a screen request to be aborted by storage appliance. Default value set for this field is 40 seconds.

=end html

=back



=over 2

=item * I<request-cancel-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds for a screen request to be processed by an FPolicy server. Default value set for this field is 20 seconds.

=end html

=back



=over 2

=item * I<resiliency-directory-path>  =>   B<string, optional>

=begin html

<br>Directory path under Vserver for storing file access notifications. File access notifications will be stored in a generated file during the outage time. The path is the full, user visible path relative to the Vserver root, and it might be crossing junction mount points. Example: '/path1' where '/' is the root of the Vserver and 'path1' is the directory where to store notifications.

=end html

=back



=over 2

=item * I<resiliency-max-retention-duration>  =>   B<time-interval, optional>

=begin html

<br>Maximum retention duration for which the notifications will be stored. After this time window further notifications will not be stored. Default value set for this field is 180 seconds. Maximum retention duration can be 600 seconds.

=end html

=back



=over 2

=item * I<secondary-servers>  =>   B<ip-address[], optional>

=begin html

<br>Secondary FPolicy servers. No default value is set for this field.

=end html

=back



=over 2

=item * I<send-buffer-size>  =>   B<integer, optional>

=begin html

<br>Send buffer size of connected socket for FPolicy Server. Default value set for this field is 256 kilobytes (256Kb).

=end html

=back



=over 2

=item * I<server-progress-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds in which a throttled FPolicy server must complete at least one screen request. If no request is processed within the timeout, connection to FPolicy server is terminated. Default value set for this field is 60 seconds.

=end html

=back



=over 2

=item * I<session-timeout>  =>   B<time-interval, optional>

=begin html

<br>Session Id purge timeout during FPolicy server reconnection. Default value set for this field is 10 seconds.

=end html

=back



=over 2

=item * I<ssl-option>  =>   B<fpolicy-ssl-opts, optional>

=begin html

<br>SSL option for external communication. No default value is set for this field. Possible values: <ul> <li> "no_auth" - Communication over TCP, <li> "server_auth" - Authentication of FPolicy server only, <li> "mutual_auth" - Mutual authentication of storage system and FPolicy server </ul>

=end html

=back



=over 2

=item * I<status-request-interval>  =>   B<integer, optional>

=begin html

<br>Interval time in seconds for storage appliance to query status request from FPolicy server. Default value set for this field is 10 seconds.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns information about policies.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fpolicy-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fpolicy-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fpolicy-policy object. All fpolicy-policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fpolicy-policy-info">[], optional>

=begin html

<br>The list of attributes of fpolicy-policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fpolicy-policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fpolicy_policy_modify

[B<Family:> vserver]


=begin html

Modify a policy.

=end html



B<Inputs>

=over 2

=item * I<allow-privileged-access>  =>   B<boolean, optional>

=begin html

<br>Indicator if privileged access should be given to FPolicy servers registered for the policy. Default Value is no.

=end html

=back



=over 2

=item * I<engine-name>  =>   B<engine-name, optional>

=begin html

<br>Name of the Engine. Default Engine is 'native'.

=end html

=back



=over 2

=item * I<events>  =>   B<event-name[], optional>

=begin html

<br>Events for file access monitoring.

=end html

=back



=over 2

=item * I<is-mandatory>  =>   B<boolean, optional>

=begin html

<br>Indicator if the screening with this policy is required, i.e. it will fail if no servers are able process the notification registered as a part of external engine. If set to true, the request will fail if there is no server to evaluate it. If it's false, the request will succeed. Default value is true.

=end html

=back



=over 2

=item * I<is-passthrough-read-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicator if passthrough-read should be allowed to FPolicy servers registered for the policy. Default value is false.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<privileged-user-name>  =>   B<string, optional>

=begin html

<br>User name for privileged access. No default value is set for this attribute.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_policy_scope_create

[B<Family:> vserver]


=begin html

Set FPolicy scope options. FPolicy Scope is consist of share, volume, export policy, volume, file extention.

=end html



B<Inputs>

=over 2

=item * I<check-extensions-on-directories>  =>   B<boolean, optional>

=begin html

<br>Indicates whether directory names are also subjected to extensions check, similar to file names. By default, the value is true if policy is configured with Native engine, false otherwise.

=end html

=back



=over 2

=item * I<export-policies-to-exclude>  =>   B<string[], optional>

=begin html

<br>Export Policies to exclude for file access monitoring. By default no export policy is selected.

=end html

=back



=over 2

=item * I<export-policies-to-include>  =>   B<string[], optional>

=begin html

<br>Export policies to include for file access monitoring. By default no export policy is selected.

=end html

=back



=over 2

=item * I<file-extensions-to-exclude>  =>   B<string[], optional>

=begin html

<br>File extensions excluded for screening. By default no file extension is selected.

=end html

=back



=over 2

=item * I<file-extensions-to-include>  =>   B<string[], optional>

=begin html

<br>File extensions included for screening. By default no file extension is selected.

=end html

=back



=over 2

=item * I<is-monitoring-of-objects-with-no-extension-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates whether monitoring of Objects with no extension is required. By default, the value is false.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the fpolicy-policy-scope on successful creation. Default: false

=end html

=back



=over 2

=item * I<shares-to-exclude>  =>   B<string[], optional>

=begin html

<br>Shares to exclude for file access monitoring. By default no share is selected.

=end html

=back



=over 2

=item * I<shares-to-include>  =>   B<string[], optional>

=begin html

<br>Shares to include for file access monitoring. By default no share is selected.

=end html

=back



=over 2

=item * I<volumes-to-exclude>  =>   B<string[], optional>

=begin html

<br>Volumes that are inactive for the file policy. The list can include items which are regular expressions, such as 'vol*' or 'user?'. Note that if a policy has both an exclude list and an include list, the include list is ignored by the filer when processing user requests. By default no volume is selected.

=end html

=back



=over 2

=item * I<volumes-to-include>  =>   B<string[], optional>

=begin html

<br>Volumes that are active for the file policy. The list can include items which are regular expressions, such as 'vol*' or 'user?'. By default no volume is selected.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"fpolicy-scope-config">, optional>

=begin html

<br>The fpolicy-policy-scope created (keys or the entire object if requested)

=end html

=back



=head2 fpolicy_policy_scope_delete

[B<Family:> vserver]


=begin html

Delete a scope.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_policy_scope_get_iter

[B<Family:> cluster, vserver]


=begin html

Get a list of rows for FPolicy scope options. FPolicy Scope consists of share, volume, export policy, volume, file extention.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fpolicy-scope-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fpolicy-scope-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fpolicy-policy-scope object. All fpolicy-policy-scope objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fpolicy-scope-config">[], optional>

=begin html

<br>The list of attributes of fpolicy-policy-scope objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fpolicy-policy-scope objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fpolicy_policy_scope_modify

[B<Family:> vserver]


=begin html

Set FPolicy scope options. FPolicy Scope is consist of share, volume, export policy, volume, file extention.

=end html



B<Inputs>

=over 2

=item * I<check-extensions-on-directories>  =>   B<boolean, optional>

=begin html

<br>Indicates whether directory names are also subjected to extensions check, similar to file names. By default, the value is true if policy is configured with Native engine, false otherwise.

=end html

=back



=over 2

=item * I<export-policies-to-exclude>  =>   B<string[], optional>

=begin html

<br>Export Policies to exclude for file access monitoring. By default no export policy is selected.

=end html

=back



=over 2

=item * I<export-policies-to-include>  =>   B<string[], optional>

=begin html

<br>Export policies to include for file access monitoring. By default no export policy is selected.

=end html

=back



=over 2

=item * I<file-extensions-to-exclude>  =>   B<string[], optional>

=begin html

<br>File extensions excluded for screening. By default no file extension is selected.

=end html

=back



=over 2

=item * I<file-extensions-to-include>  =>   B<string[], optional>

=begin html

<br>File extensions included for screening. By default no file extension is selected.

=end html

=back



=over 2

=item * I<is-monitoring-of-objects-with-no-extension-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates whether monitoring of Objects with no extension is required. By default, the value is false.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<shares-to-exclude>  =>   B<string[], optional>

=begin html

<br>Shares to exclude for file access monitoring. By default no share is selected.

=end html

=back



=over 2

=item * I<shares-to-include>  =>   B<string[], optional>

=begin html

<br>Shares to include for file access monitoring. By default no share is selected.

=end html

=back



=over 2

=item * I<volumes-to-exclude>  =>   B<string[], optional>

=begin html

<br>Volumes that are inactive for the file policy. The list can include items which are regular expressions, such as 'vol*' or 'user?'. Note that if a policy has both an exclude list and an include list, the include list is ignored by the filer when processing user requests. By default no volume is selected.

=end html

=back



=over 2

=item * I<volumes-to-include>  =>   B<string[], optional>

=begin html

<br>Volumes that are active for the file policy. The list can include items which are regular expressions, such as 'vol*' or 'user?'. By default no volume is selected.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_policy_status_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns FPolicy policy status information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fpolicy-policy-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fpolicy-policy-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fpolicy-policy-status object. All fpolicy-policy-status objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fpolicy-policy-status-info">[], optional>

=begin html

<br>The list of attributes of fpolicy-policy-status objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fpolicy-policy-status objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 fpolicy_server_connect

[B<Family:> vserver]


=begin html

Make a connection to FPolicy server

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Cluster node name.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<server>  =>   B<ip-address>

=begin html

<br>FPolicy server.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_server_disconnect

[B<Family:> vserver]


=begin html

Terminate connection to FPolicy server

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Cluster node name.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<server>  =>   B<ip-address>

=begin html

<br>FPolicy server.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 fpolicy_server_status_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns FPolicy server status information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"fpolicy-server-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"fpolicy-server-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the fpolicy-server-status object. All fpolicy-server-status objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"fpolicy-server-status-info">[], optional>

=begin html

<br>The list of attributes of fpolicy-server-status objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more fpolicy-server-status objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 gpo_applied_info_get_iter

[B<Family:> cluster, vserver]


=begin html

Get the list of entries of the applied GPO rules, organized on a per-Vserver basis.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"gpo-applied-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"gpo-applied-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the gpo object. All gpo objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"gpo-applied-info">[], optional>

=begin html

<br>The list of attributes of gpo objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more gpo objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 gpo_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the Vserver's group policy configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"gpo-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"gpo-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the gpo object. All gpo objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"gpo-config">[], optional>

=begin html

<br>The list of attributes of gpo objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more gpo objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 gpo_gpresult_info_get_iter

[B<Family:> cluster, vserver]


=begin html

Get a list of entries of the GPO RSoP(Resultant Set of Policy) data, organized on a per-Vserver basis.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"gpo-gpresult-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"gpo-gpresult-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the gpo object. All gpo objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"gpo-gpresult-info">[], optional>

=begin html

<br>The list of attributes of gpo objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more gpo objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 gpo_modify

[B<Family:> vserver]


=begin html

Change the Vserver's group policy configuration.

=end html



B<Inputs>

=over 2

=item * I<is-gpo-enabled>  =>   B<true-false>

=begin html

<br>Group Policy Zapi Status.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 gpo_restricted_group_applied_info_get_iter

[B<Family:> cluster, vserver]


=begin html

Applied Restricted Group Settings

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"gpo-restricted-group-applied-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"gpo-restricted-group-applied-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the gpo object. All gpo objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"gpo-restricted-group-applied-info">[], optional>

=begin html

<br>The list of attributes of gpo objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more gpo objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 gpo_restricted_group_defined_info_get_iter

[B<Family:> cluster, vserver]


=begin html

Defined Restricted Group Settings in DC

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"gpo-restricted-group-defined-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"gpo-restricted-group-defined-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the gpo object. All gpo objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"gpo-restricted-group-defined-info">[], optional>

=begin html

<br>The list of attributes of gpo objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more gpo objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 gpo_update

[B<Family:> vserver]


=begin html

Download and apply the latest version of the group policy defined in Active Directory.

=end html



B<Inputs>

=over 2

=item * I<force-reapply-all-settings>  =>   B<boolean, optional>

=begin html

<br>Ignores all processing optimizations and re-applies all settings.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 group_mapping_create

[B<Family:> vserver]


=begin html

Create a new group mapping for a Vserver.

=end html



B<Inputs>

=over 2

=item * I<direction>  =>   B<name-mapping-direction>

=begin html

<br>Direction in which the group mapping is applied. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<pattern>  =>   B<string>

=begin html

<br>Pattern to use to match the group while searching for a group that can be used as a replacement. The pattern is a UNIX-style regular expression. Regular expressions are case-insensitive when mapping from Windows to UNIX, and they are case-sensitive for mappings from Kerberos to UNIX and UNIX to Windows.

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position of an existing group mapping in the list of group mappings for this Vserver.

=end html

=back



=over 2

=item * I<replacement>  =>   B<string>

=begin html

<br>The group that is to be used as a replacement if the pattern associated with this entry matches. The replacement is a string containing escape sequences representing subexpressions from the pattern, as in the UNIX 'sed' program.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the group-mapping on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"group-mapping-info">, optional>

=begin html

<br>The group-mapping created (keys or the entire object if requested)

=end html

=back



=head2 group_mapping_delete

[B<Family:> vserver]


=begin html

Delete an existing group mapping entry.

=end html



B<Inputs>

=over 2

=item * I<direction>  =>   B<name-mapping-direction>

=begin html

<br>Direction in which the group mapping is applied. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position of an existing group mapping in the list of group mappings for this Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 group_mapping_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of group mappings in the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"group-mapping-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"group-mapping-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the group-mapping object. All group-mapping objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"group-mapping-info">[], optional>

=begin html

<br>The list of attributes of group-mapping objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more group-mapping objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 group_mapping_insert

[B<Family:> vserver]


=begin html

Insert a group mapping into the table at a specified position.

=end html



B<Inputs>

=over 2

=item * I<direction>  =>   B<name-mapping-direction>

=begin html

<br>Direction in which the group mapping is applied. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<pattern>  =>   B<string>

=begin html

<br>Pattern to use to match the group while searching for a group that can be used as a replacement. The pattern is a UNIX-style regular expression. Regular expressions are case-insensitive when mapping from Windows to UNIX, and they are case-sensitive for mappings from Kerberos to UNIX and UNIX to Windows.

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position within the set of group mappings that this new mapping will take. If a mapping already exists at this position, it will be moved to the next position in the list.

=end html

=back



=over 2

=item * I<replacement>  =>   B<string>

=begin html

<br>The group that is to be used as a replacement if the pattern associated with this entry matches. The replacement is a string containing escape sequences representing subexpressions from the pattern, as in the UNIX 'sed' program.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 group_mapping_modify

[B<Family:> vserver]


=begin html

Modify an existing group mapping entry.

=end html



B<Inputs>

=over 2

=item * I<direction>  =>   B<name-mapping-direction>

=begin html

<br>Direction in which the group mapping is applied. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<pattern>  =>   B<string, optional>

=begin html

<br>Pattern to use to match the group while searching for a group that can be used as a replacement. The pattern is a UNIX-style regular expression. Regular expressions are case-insensitive when mapping from Windows to UNIX, and they are case-sensitive for mappings from Kerberos to UNIX and UNIX to Windows.

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position of an existing group mapping in the list of group mappings for this Vserver.

=end html

=back



=over 2

=item * I<replacement>  =>   B<string, optional>

=begin html

<br>The group that is to be used as a replacement if the pattern associated with this entry matches. The replacement is a string containing escape sequences representing subexpressions from the pattern, as in the UNIX 'sed' program.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 group_mapping_swap

[B<Family:> vserver]


=begin html

Swap the position of one group mapping with another. The position is the place in the sequence of group mappings in which the mappings are applied.

=end html



B<Inputs>

=over 2

=item * I<direction>  =>   B<string>

=begin html

<br>Direction in which the group mapping is applied.

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position of an existing group mapping in the list of group mappings for this Vserver.

=end html

=back



=over 2

=item * I<with-position>  =>   B<integer>

=begin html

<br>Position of an existing group mapping entry in the list of group mappings for this Vserver. This entry will be swapped with the entry at 'position'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_auto_reset_configuration_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect device auto-reset configuration information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-reset-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-reset-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-reset-config object. All ha-interconnect-reset-config objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-reset-config">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-reset-config objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-reset-config objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_channel_status_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect channel status

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-channel-status">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-channel-status">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-channel-status object. All ha-interconnect-channel-status objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-channel-status">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-channel-status objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-channel-status objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_clear_port_counters

[B<Family:> cluster]


=begin html

Clear high-availability interconnect port counters of the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_clear_port_symbol_errors

[B<Family:> cluster]


=begin html

Clear high-availability interconnect port symbol errors of the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_config_details_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect device configuration information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-config-details">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-config-details">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-config-details object. All ha-interconnect-config-details objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-config-details">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-config-details objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-config-details objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_connection_status_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect connection status

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-status-info object. All ha-interconnect-status-info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-status-info">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-status-info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-status-info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_flint_flash_details_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect binary firmware image information residing in the flash card attached to adapter

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-flint-flash-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-flint-flash-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-flint-flash-info object. All ha-interconnect-flint-flash-info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-flint-flash-info">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-flint-flash-info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-flint-flash-info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_flint_image_details_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect binary firmware image information residing in the system

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-flint-image-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-flint-image-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-flint-image-info object. All ha-interconnect-flint-image-info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-flint-image-info">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-flint-image-info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-flint-image-info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_flint_verify_flash

[B<Family:> cluster]


=begin html

Verify high-availability interconnect binary firmware image residing in flash card attached to adapter on the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_flint_verify_image

[B<Family:> cluster]


=begin html

Verify high-availability interconnect binary firmware image residing in system on the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_flush_details_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect device flush information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-flush-details">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-flush-details">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-flush-details object. All ha-interconnect-flush-details objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-flush-details">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-flush-details objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-flush-details objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_get_auto_reset_configuration

[B<Family:> cluster]


=begin html

Get high-availability interconnect device auto-reset configuration information of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-reset-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this auto-reset configuration belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-reset-config">>

=begin html

<br>The attributes of the ha-interconnect-reset-config.

=end html

=back



=head2 ha_interconnect_get_channel_status

[B<Family:> cluster]


=begin html

Get high-availability interconnect channel status of the selected node

=end html



B<Inputs>

=over 2

=item * I<channel-name>  =>   B<ha-ic-channel>

=begin html

<br>Interconnect channel name. Possible values: <ul> <li> "kstat" - HA Interconnect KSTAT Channel, <li> "ofw" - HA Interconnect OFW Channel, <li> "kill" - HA Interconnect KILL Channel, <li> "wafl" - HA Interconnect WAFL NV Channel, <li> "raid" - HA Interconnect RAID NV Channel, <li> "misc" - HA Interconnect MISC NV Channel, <li> "stream0" - HA Interconnect STREAM0 Channel, <li> "stream1" - HA Interconnect STREAM1 Channel </ul>

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-channel-status">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this interconnect channel status information belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-channel-status">>

=begin html

<br>The attributes of the ha-interconnect-channel-status.

=end html

=back



=head2 ha_interconnect_get_config_details

[B<Family:> cluster]


=begin html

Get high-availability interconnect device configuration information of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-config-details">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this configuration information belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-config-details">>

=begin html

<br>The attributes of the ha-interconnect-config-details.

=end html

=back



=head2 ha_interconnect_get_connection_status

[B<Family:> cluster]


=begin html

Get high-availability interconnect connection status of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this connection status belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-status-info">>

=begin html

<br>The attributes of the ha-interconnect-status-info.

=end html

=back



=head2 ha_interconnect_get_flint_flash_details

[B<Family:> cluster]


=begin html

Get high-availability interconnect binary firmware image information residing in the flash card attached to adapter of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-flint-flash-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this device firmware image information belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-flint-flash-info">>

=begin html

<br>The attributes of the ha-interconnect-flint-flash-info.

=end html

=back



=head2 ha_interconnect_get_flint_image_details

[B<Family:> cluster]


=begin html

Get high-availability interconnect binary firmware image information residing in the system of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-flint-image-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this device firmware image information belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-flint-image-info">>

=begin html

<br>The attributes of the ha-interconnect-flint-image-info.

=end html

=back



=head2 ha_interconnect_get_flush_details

[B<Family:> cluster]


=begin html

Get high-availability interconnect device flush information of the selected node

=end html



B<Inputs>

=over 2

=item * I<channel-name>  =>   B<ha-ic-nv-channel>

=begin html

<br>High-availability interconnect device NVRAM channel name. Possible values: <ul> <li> "wafl" - HA Interconnect WAFL NV Channel, <li> "raid" - HA Interconnect RAID NV Channel, <li> "misc" - HA Interconnect MISC NV Channel </ul>

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-flush-details">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this flush information belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-flush-details">>

=begin html

<br>The attributes of the ha-interconnect-flush-details.

=end html

=back



=head2 ha_interconnect_get_nvram_configuration

[B<Family:> cluster]


=begin html

Get basic nvram configuration information of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-nvram-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-nvram-info">>

=begin html

<br>The attributes of the ha-interconnect-nvram-info.

=end html

=back



=head2 ha_interconnect_get_ood_status

[B<Family:> cluster]


=begin html

Get high-availability interconnect device out-of-order delivery information of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-ood-status">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this out-of-order delivery capability information belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-ood-status">>

=begin html

<br>The attributes of the ha-interconnect-ood-status.

=end html

=back



=head2 ha_interconnect_get_performance_statistics

[B<Family:> cluster]


=begin html

Get high-availability interconnect performance statistics of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-performance-statistics">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this performance statistics belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-performance-statistics">>

=begin html

<br>The attributes of the ha-interconnect-performance-statistics.

=end html

=back



=head2 ha_interconnect_get_port_details

[B<Family:> cluster]


=begin html

Get high-availability interconnect device port information of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-port-details">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this high-availability interconnect device port information belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-port-details">>

=begin html

<br>The attributes of the ha-interconnect-port-details.

=end html

=back



=head2 ha_interconnect_get_scatter_gather_list_statistics

[B<Family:> cluster]


=begin html

Get high-availability interconnect device scatter-gather list entry statistics of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-scatter-gather-list-statistics">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this scatter-gather list entry statistics belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-scatter-gather-list-statistics">>

=begin html

<br>The attributes of the ha-interconnect-scatter-gather-list-statistics.

=end html

=back



=head2 ha_interconnect_get_timeout_values

[B<Family:> cluster]


=begin html

Get high-availability interconnect software timeout values of the selected node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-timeout">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which these timeout values belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ha-interconnect-timeout">>

=begin html

<br>The attributes of the ha-interconnect-timeout.

=end html

=back



=head2 ha_interconnect_link_off

[B<Family:> cluster]


=begin html

Turn off selected interconnect link on the selected node

=end html



B<Inputs>

=over 2

=item * I<link-number>  =>   B<ha-ic-device-port>

=begin html

<br>Interconnect link number (0-based) to turn off.

=end html

=back



=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>The node on which the link command executes.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_link_on

[B<Family:> cluster]


=begin html

Turn on selected interconnect link on the selected node

=end html



B<Inputs>

=over 2

=item * I<link-number>  =>   B<ha-ic-device-port>

=begin html

<br>Interconnect link number (0-based) to turn on.

=end html

=back



=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>The node on which the link command executes.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_modify_auto_reset_configuration

[B<Family:> cluster]


=begin html

Change high-availability interconnect device auto-reset configuration of the selected node

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>NIC auto-reset status. True means nic auto-reset is enabled.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which this auto-reset configuration belongs.

=end html

=back



=over 2

=item * I<reset-timeout>  =>   B<integer, optional>

=begin html

<br>Default auto-reset timeout value (in milliseconds).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_modify_timeout_values

[B<Family:> cluster]


=begin html

Change high-availability interconnect software timeout values of the selected node

=end html



B<Inputs>

=over 2

=item * I<ic-timeout>  =>   B<integer, optional>

=begin html

<br>Interconnect Read/write Timeout (msecs)

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node to which these timeout values belongs.

=end html

=back



=over 2

=item * I<ofw-timeout>  =>   B<integer, optional>

=begin html

<br>Firmware Read Timeout (msecs)

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_nic_reset

[B<Family:> cluster]


=begin html

Reset high-availability interconnect device of the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_nvram_configuration_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their basic nvram configuration information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-nvram-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-nvram-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-nvram-info object. All ha-interconnect-nvram-info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-nvram-info">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-nvram-info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-nvram-info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_ood_clear_error_statistics

[B<Family:> cluster]


=begin html

Clear high-availability interconnect device out-of-order delivery error statistics of the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_ood_clear_performance_statistics

[B<Family:> cluster]


=begin html

Clear high-availability interconnect device out-of-order delivery performance statistics of the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_ood_disable_statistics

[B<Family:> cluster]


=begin html

Disable high-availability interconnect device out-of-order delivery statistics collection for the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_ood_enable_statistics

[B<Family:> cluster]


=begin html

Enable high-availability interconnect device out-of-order delivery statistics collection for the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_ood_optimization_off

[B<Family:> cluster]


=begin html

Disable coalescing work requests on high-availability interconnect device of the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_ood_optimization_on

[B<Family:> cluster]


=begin html

Enable coalescing work requests on high-availability interconnect device of the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_ood_send_diagnostic_buffer

[B<Family:> cluster]


=begin html

Send diagnostic buffer to the HA partner of the selected node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ha_interconnect_ood_status_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect device out-of-order delivery information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-ood-status">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-ood-status">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-ood-status object. All ha-interconnect-ood-status objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-ood-status">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-ood-status objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-ood-status objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_performance_statistics_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect performance statistics

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-performance-statistics">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-performance-statistics">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-performance-statistics object. All ha-interconnect-performance-statistics objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-performance-statistics">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-performance-statistics objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-performance-statistics objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_port_details_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect device port information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-port-details">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-port-details">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-port-details object. All ha-interconnect-port-details objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-port-details">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-port-details objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-port-details objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_scatter_gather_list_statistics_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect device scatter-gather list entry statistics

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-scatter-gather-list-statistics">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-scatter-gather-list-statistics">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-scatter-gather-list-statistics object. All ha-interconnect-scatter-gather-list-statistics objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-scatter-gather-list-statistics">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-scatter-gather-list-statistics objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-scatter-gather-list-statistics objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ha_interconnect_timeout_values_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of nodes in the cluster to get their high-availability interconnect software timeout values

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ha-interconnect-timeout">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ha-interconnect-timeout">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ha-interconnect-timeout object. All ha-interconnect-timeout objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ha-interconnect-timeout">[], optional>

=begin html

<br>The list of attributes of ha-interconnect-timeout objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ha-interconnect-timeout objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 igroup_add

[B<Family:> vserver]


=begin html

Adds initiator to an existing initiator group.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Forcibly add the initiator, disabling mapping and type conflict checks with the high-availability partner. If not specified all conflict checks are performed. In Data ONTAP Cluster-Mode, this field is accepted for backwards compatibility and is ignored.

=end html

=back



=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>WWPN, WWPN Alias, or iSCSI name of Initiator to add.

=end html

=back



=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 igroup_bind_portset

[B<Family:> vserver]


=begin html

Bind an existing igroup to a given portset.

=end html



B<Inputs>

=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group to bind the portset to.

=end html

=back



=over 2

=item * I<portset-name>  =>   B<string>

=begin html

<br>Name of portset.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 igroup_create

[B<Family:> vserver]


=begin html

Creates a new initiator group. In Data ONTAP 7.3 and upto ONTAP 8.0, the ALUA (Asymmetric Logical Unit Access) attribute will be enabled by default if initiator-group-type is "fcp" and os-type is "aix", "hpux", or "linux. In Data ONTAP 7-mode 8.1 and later, the ALUA attribute is enabled by default for all os-type if initiator-group-type is "fcp". In Data ONTAP Cluster-Mode 8.1 and later, the ALUA attribute is enabled by default on all initiator groups.

=end html



B<Inputs>

=over 2

=item * I<bind-portset>  =>   B<string, optional>

=begin html

<br>Name of a current portset to bind to the newly created igroup.

=end html

=back



=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group.

=end html

=back



=over 2

=item * I<initiator-group-type>  =>   B<string>

=begin html

<br>Type of the initiator group. Possible values: "fcp", "iscsi", "mixed". "mixed" is available in Data ONTAP Cluster-Mode 8.1 or later only.

=end html

=back



=over 2

=item * I<os-type>  =>   B<initiator-group-os-type, optional>

=begin html

<br>OS type of the initiators within the group. The default value if not specified is "default". The os type applies to all initiators within the group and governs the finer details of SCSI protocol interaction with these initiators. It is strongly recommended for the caller of this API to specify an OS type that is not "default". Some host OSes require this type field be set correctly in order to function properly.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 igroup_destroy

[B<Family:> vserver]


=begin html

Destroys an existing initiator group. By default a group cannot be destroyed if there are existing lun maps defined for that group. This behaviour can be overridden with the use of force option set to "true" which will destroy the initiator group and any associated lun maps.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Forcibly destroy the initiator group, even if there are existing lun maps. Best practice is to attempt to unmap all the luns associated with a group before destroying it.

=end html

=back



=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 igroup_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of igroup objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"initiator-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"initiator-group-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the igroup object. All igroup objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"initiator-group-info">[], optional>

=begin html

<br>The list of attributes of igroup objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more igroup objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 igroup_lookup_lun

[B<Family:> vserver]


=begin html

Find the path to the lun mapped at a given lun-id for a given initiator group.

=end html



B<Inputs>

=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group to search.

=end html

=back



=over 2

=item * I<lun-id>  =>   B<integer>

=begin html

<br>Lun-id (Logical Unit Number) to search for.

=end html

=back



B<Outputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path to the lun.

=end html

=back



=head2 igroup_os_type_list

[B<Family:> cluster]


=begin html

Displays the supported values and descriptions for initiator-group-os-type.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<ostypes>  =>   B<L<"system-api-enum-value-info">[]>

=begin html

<br>Enumeration type name/value pair

=end html

=back



=head2 igroup_remove

[B<Family:> vserver]


=begin html

Removes node(s) from an initiator group. The operation is prohibited if there are existing lun maps defined for that group. The force option set to "true" can be used to forcibly remove the node regardless of mappings.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Forcibly remove the initiator even if there are existing LUNs mapped to this initiator group.

=end html

=back



=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>WWPN, WWPN Alias, or iSCSI name of Initiator to remove.

=end html

=back



=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 igroup_rename

[B<Family:> vserver]


=begin html

Rename an existing initiator group. The rename operation is non-disruptive.

=end html



B<Inputs>

=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group to be renamed.

=end html

=back



=over 2

=item * I<initiator-group-new-name>  =>   B<string>

=begin html

<br>New name to be given to initiator group.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 igroup_set_attribute

[B<Family:> vserver]


=begin html

Sets an attribute for an initiator group.

=end html



B<Inputs>

=over 2

=item * I<attribute>  =>   B<string>

=begin html

<br>Name of the attribute to change. Possible values: "alua", "os-type", "throttle_borrow", "throttle_reserve", "report_scsi_name". "alua" is available in Data ONTAP 7.2 or later. "report_scsi_name" is available in Data ONTAP 8.1.0 or later. "alua", "throttle_reserve","throttle_borrow" and "report_scsi_name" are not available in Data ONTAP Cluster-Mode.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If the requested attribute is "os-type", forcibly set the attribute, disabling conflict checks with the high-availability partner where and when applicable. If not specified all conflict checks are performed. This field is ignored in Data ONTAP Cluster-Mode or if the requested attribute is not "os-type".

=end html

=back



=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value for the attribute. The valid values for "os-type" are the supported os-types listed in the igroup-create API. In Data ONTAP 7-Mode, setting the "os-type" attribute will perform checks with the high-availability partner if this filer is running in the 'single_image' fcp cfmode and this igroup is an FCP igroup. It is also strongly recommended the "default" os-type not be used. Using "default" may cause problems with LUN access. API to always require the proper OS type information The valid values for "throttle_reserve" are 0-99 The valid values for "throttle_borrow" are true or false The valid values for "alua" are true or false The valid values for "report_scsi_name" are true or false

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 igroup_unbind_portset

[B<Family:> vserver]


=begin html

Unbind an existing igroup from a portset.

=end html



B<Inputs>

=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group to unbind from the portset.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_auth_add_initiator_address_ranges

[B<Family:> vserver]


=begin html

Add one or more Initiator IP Address Ranges

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Initiator Name

=end html

=back



=over 2

=item * I<initiator-address-ranges>  =>   B<ip-range-or-mask[]>

=begin html

<br>Initiator IP Address Ranges

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_auth_generate_chap_password

[B<Family:> vserver]


=begin html

Generate a 128 bit random password that can be used as a CHAP secret. This API was removed in Data ONTAP 9.0. Applications should use local entropy to generate CHAP secrets if desired.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<secret>  =>   B<string>

=begin html

<br>A randomly generated 128 bit password.

=end html

=back



=head2 iscsi_auth_remove_initiator_address_ranges

[B<Family:> vserver]


=begin html

Remove one or more Initiator IP Address Ranges

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Initiator Name

=end html

=back



=over 2

=item * I<initiator-address-ranges>  =>   B<ip-range-or-mask[]>

=begin html

<br>Initiator IP Address Ranges

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_connection_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of iSCSI Connection objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-connection-list-entry-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-connection-list-entry-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iSCSI Connection object. All iSCSI Connection objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-connection-list-entry-info">[], optional>

=begin html

<br>The list of attributes of iSCSI Connection objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iSCSI Connection objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_initiator_add_auth

[B<Family:> vserver]


=begin html

Add initiator to the authentication list.

=end html



B<Inputs>

=over 2

=item * I<auth-type>  =>   B<string>

=begin html

<br>Authentication type. Possible values: "CHAP", "none", "deny".

=end html

=back



=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Name of initiator. The initiator name must conform to RFC 3720, for example: "iqn.1987-06.com.initvendor1:appsrv.sn.2346".

=end html

=back



=over 2

=item * I<initiator-address-ranges>  =>   B<ip-range-or-mask[], optional>

=begin html

<br>May be a single IPv4 or IPv6 address or a range containing a start address and an end address. The start and end addresses themselves are included in the range. If not present, the initiator is allowed to log in from any IP address. <p> An example of a valid IPv4 address range is: '192.168.1.100-192.168.1.150'. An example of a valid IPv6 address range is: '2001:db8::1000:1-2001:db8::1000:50'.

=end html

=back



=over 2

=item * I<outbound-passphrase>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user password. Outbound authentication is optional. If Outbound authentication is not specified, then the initiator can only do inbound authentication.

=end html

=back



=over 2

=item * I<outbound-password>  =>   B<string, optional, encrypted>

=begin html

<br>Outbound CHAP user password. Outbound authentication is optional. If Outbound authentication is not specified, then the initiator can only do inbound traffic.

=end html

=back



=over 2

=item * I<outbound-user-name>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user name. Outbound authentication is optional. If Outbound authentication is not specified, then the initiator can only do inbound authentication.

=end html

=back



=over 2

=item * I<passphrase>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user password, required for auth-type equal to CHAP.

=end html

=back



=over 2

=item * I<password>  =>   B<string, optional, encrypted>

=begin html

<br>Inbound CHAP user password, required for auth-type equals to CHAP.

=end html

=back



=over 2

=item * I<radius>  =>   B<boolean, optional>

=begin html

<br>"true" if RADIUS is the only forced CHAP authentication policy, Default is "false".

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user name, required for auth-type equal to CHAP.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_initiator_auth_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of iSCSI initiator authentication configuration objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-security-entry-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-security-entry-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iSCSI initiator authentication configuration object. All iSCSI initiator authentication configuration objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-security-entry-info">[], optional>

=begin html

<br>The list of attributes of iSCSI initiator authentication configuration objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iSCSI initiator authentication configuration objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_initiator_delete_auth

[B<Family:> vserver]


=begin html

Delete initiator from the authentication list

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Name of initiator. The initiator name must conform to RFC 3720, for example: "iqn.1987-06.com.initvendor1:appsrv.sn.2346".

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_initiator_get_auth

[B<Family:> vserver]


=begin html

Get the authentication info for an initiator, if auth type is CHAP, only the user-name is returned, password is not returned for security purposes.

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Name of initiator. The initiator name must conform to RFC 3720, for example: "iqn.1987-06.com.initvendor1:appsrv.sn.2346". If initiator is not found, default authentication method is returned

=end html

=back



B<Outputs>

=over 2

=item * I<auth-chap-policy>  =>   B<string, optional>

=begin html

<br>CHAP authentication path. Possible values: "radius", "local".

=end html

=back



=over 2

=item * I<auth-type>  =>   B<string>

=begin html

<br>Authentication type. Possible values: "CHAP", "none", "deny".

=end html

=back



=over 2

=item * I<initiator-address-ranges>  =>   B<ip-range-or-mask[], optional>

=begin html

<br>May be a single IPv4 or IPv6 address or a range containing a start address and an end address. The start and end addresses themselves are included in the range. If not present, the initiator is allowed to log in from any IP address. <p> An example of a valid IPv4 address range is: '192.168.1.100-192.168.1.150'. An example of a valid IPv6 address range is: '2001:db8::1000:1-2001:db8::1000:50'.

=end html

=back



=over 2

=item * I<outbound-user-name>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user name, returned only if auth-type is CHAP and outbound authentication is enabled for this initiator.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user name, returned only if auth-type is CHAP.

=end html

=back



=head2 iscsi_initiator_get_default_auth

[B<Family:> vserver]


=begin html

Get the default authentication information for iscsi. If the authentication type is CHAP, only the username is returned, and not the password, for security purposes.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<auth-chap-policy>  =>   B<string, optional>

=begin html

<br>CHAP authentication path. possible values: "radius", "local".

=end html

=back



=over 2

=item * I<auth-type>  =>   B<string>

=begin html

<br>Authentication type Possible values: "CHAP", "none", "deny".

=end html

=back



=over 2

=item * I<outbound-user-name>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user name, returned only if auth-type is CHAP, and outbound authentication is set for initiator.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user name, returned only if auth-type is CHAP.

=end html

=back



=head2 iscsi_initiator_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of remote iSCSI initiator objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-initiator-list-entry-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-initiator-list-entry-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the remote iSCSI initiator object. All remote iSCSI initiator objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-initiator-list-entry-info">[], optional>

=begin html

<br>The list of attributes of remote iSCSI initiator objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more remote iSCSI initiator objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_initiator_modify_chap_params

[B<Family:> vserver]


=begin html

Modify CHAP parameters to an existing per-initiator authentication info whose auth-type equals CHAP.

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Name of initiator. The initiator name must conform to RFC 3720, for example: "iqn.1987-06.com.initvendor1:appsrv.sn.2346". The per-initiator authentication info must have an auth-type equal to CHAP.

=end html

=back



=over 2

=item * I<outbound-passphrase>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user password. If Outbound CHAP parameters are specified they will replace existing Outbound CHAP parameters. If no Outbound CHAP parameters were previously specified, then the specified Outbound CHAP parameters will enable mutual CHAP authentication. If no Outbound CHAP parameters are specified and no Outbound CHAP parameters exist, then one-way Inbound CHAP authentication will be continue to be used.

=end html

=back



=over 2

=item * I<outbound-password>  =>   B<string, optional, encrypted>

=begin html

<br>Outbound CHAP user password. If Outbound CHAP parameters are specified they will replace existing Outbound CHAP parameters. If no Outbound CHAP parameters were previously specified, then the specified Outbound CHAP parameters will enable mutual CHAP authentication. If no Outbound CHAP parameters are specified and no Outbound CHAP parameters exist, then one-way Inbound CHAP authentication will be continue to be used.

=end html

=back



=over 2

=item * I<outbound-user-name>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user name. If Outbound CHAP parameters are specified they will replace existing Outbound CHAP parameters. If no Outbound CHAP parameters were previously specified, then the specified Outbound CHAP parameters will enable mutual CHAP authentication. If no Outbound CHAP parameters are specified and no Outbound CHAP parameters exist, then one-way Inbound CHAP authentication will be continue to be used.

=end html

=back



=over 2

=item * I<passphrase>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user password. If Inbound CHAP parameters are specified they will replace the existing Inbound CHAP parameters. If they are not specified, the existing Inbound CHAP parameters will continue to be used.

=end html

=back



=over 2

=item * I<password>  =>   B<string, optional, encrypted>

=begin html

<br>Inbound CHAP user password. If Inbound CHAP parameters are specified they will replace the existing Inbound CHAP parameters. If they are not specified, the existing Inbound CHAP parameters will continue to be used.

=end html

=back



=over 2

=item * I<radius>  =>   B<boolean, optional>

=begin html

<br>"true" if RADIUS is the only forced CHAP authentication policy, Default is "false".

=end html

=back



=over 2

=item * I<remove-outbound>  =>   B<boolean, optional>

=begin html

<br>Flag which indicates that mutual CHAP authentication is to be converted to one-way CHAP authentication. Outbound CHAP parameters must not be specified when remove-outbound is true. The default value is false.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user name. If Inbound CHAP parameters are specified they will replace the existing Inbound CHAP parameters. If they are not specified, the existing Inbound CHAP parameters will continue to be used.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_initiator_set_default_auth

[B<Family:> vserver]


=begin html

Configure the default authentication method. If an initiator is not configured with a specific authentication method using iscsi-initiator-add-auth the default authentication method will be applied to it.

=end html



B<Inputs>

=over 2

=item * I<auth-type>  =>   B<string>

=begin html

<br>Possible values: "CHAP", "none", "deny".

=end html

=back



=over 2

=item * I<outbound-passphrase>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user password. Outbound authentication is optional. If Outbound authentication is not specified, then the initiator can only do inbound authentication.

=end html

=back



=over 2

=item * I<outbound-password>  =>   B<string, optional, encrypted>

=begin html

<br>Outbound CHAP user password. Outbound authentication is optional. If Outbound authentication is not specified, then the initiator can only do inbound traffic.

=end html

=back



=over 2

=item * I<outbound-user-name>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user name. Outbound authentication is optional. If Outbound authentication is not specified, then the initiator can only do inbound authentication.

=end html

=back



=over 2

=item * I<passphrase>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user password, required for auth-type equal to CHAP.

=end html

=back



=over 2

=item * I<password>  =>   B<string, optional, encrypted>

=begin html

<br>Inbound CHAP user password, required for auth-type equals to CHAP.

=end html

=back



=over 2

=item * I<radius>  =>   B<boolean, optional>

=begin html

<br>"true" if RADIUS is the only forced CHAP authentication policy, Default is "false".

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user name, required for auth-type equal to CHAP.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_interface_accesslist_add

[B<Family:> vserver]


=begin html

Add the iSCSI LIFs to the accesslist of the specified initiator

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Initiator that can access the iSCSI LIFs

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>iSCSI LIF Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_interface_accesslist_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of iSCSI Interface Accesslist objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-interface-accesslist-entry-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-interface-accesslist-entry-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iSCSI Interface Accesslist object. All iSCSI Interface Accesslist objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-interface-accesslist-entry-info">[], optional>

=begin html

<br>The list of attributes of iSCSI Interface Accesslist objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iSCSI Interface Accesslist objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_interface_accesslist_remove

[B<Family:> vserver]


=begin html

Remove the iSCSI LIFs from the accesslist of the specified initiator

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Initiator that can access the iSCSI LIFs

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>iSCSI LIF Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_interface_disable

[B<Family:> vserver]


=begin html

Disables an interface for use by iSCSI

=end html



B<Inputs>

=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of interface to disable. In Data ONTAP 7-Mode, this is the name of a physical ethernet interface, for example: "e0c". In Data ONTAP Cluster-Mode, this is the name of an iSCSI data LIF in the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_interface_enable

[B<Family:> vserver]


=begin html

Enables an interface for use by iSCSI

=end html



B<Inputs>

=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of interface to enable. In Data ONTAP 7-Mode, this is the name of a physical ethernet interface, for example: "e0c". In Data ONTAP Cluster-Mode, this is the name of an iSCSI data LIF in the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_interface_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of iSCSI target interface objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-interface-list-entry-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-interface-list-entry-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iSCSI target interface object. All iSCSI target interface objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-interface-list-entry-info">[], optional>

=begin html

<br>The list of attributes of iSCSI target interface objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iSCSI target interface objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_interface_modify

[B<Family:> vserver]


=begin html

Modify the attributes of an iSCSI interface object.

=end html



B<Inputs>

=over 2

=item * I<interface-name>  =>   B<lif-name>

=begin html

<br>Specifies the logical interface (LIF) name.

=end html

=back



=over 2

=item * I<sendtargets-fqdn>  =>   B<string, optional>

=begin html

<br>Specifies the Fully Qualified Domain Name (FQDN) of the LIF to be returned in iSCSI SendTargets Discovery.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_isns_config

[B<Family:> vserver]


=begin html

Configures the iSNS service. In Data ONTAP Cluster-Mode, this this API can only modify the configuration of a Vserver where an iSNS service has already been created. To create an iSNS service in a Vserver where one does not exist, use the iscsi-isns-create API.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>iSNS config fails if vserver management LIF is not configured for the vserver. This behavior is overridden with this option when it is set to "true".

=end html

=back



=over 2

=item * I<isns-ip-addr>  =>   B<ip-address>

=begin html

<br>The ip address, in dotted-decimal format, of the iSNS server with which to register. (for example, "192.168.11.12").

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_isns_create

[B<Family:> vserver]


=begin html

Create iSNS Service in a Vserver.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>iSNS create fails if vserver management LIF is not configured for the vserver. This behavior is overridden with this option when it is set to true.

=end html

=back



=over 2

=item * I<isns-ip-addr>  =>   B<ip-address>

=begin html

<br>iSNS server IP address.

=end html

=back



=over 2

=item * I<start>  =>   B<boolean, optional>

=begin html

<br>Determine the initial state of the iSNS Client Service. If true, the service will be automatically started after creation completes. If false, the service will be left in the stopped state and the caller must subsequently call iscsi-isns-start to start the service. The default is true.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_isns_destroy

[B<Family:> vserver]


=begin html

Destroy the iSNS Service in a Vserver.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_isns_get_info

[B<Family:> vserver]


=begin html

Gets iSNS service configuration.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<is-isns-enabled>  =>   B<boolean>

=begin html

<br>"true" if iSNS service is running, "false" otherwise.

=end html

=back



=over 2

=item * I<isns-entity-id>  =>   B<string>

=begin html

<br>Name of the entity id existing on the iSNS server in which to register.

=end html

=back



=over 2

=item * I<isns-ip-addr>  =>   B<ip-address>

=begin html

<br>The ip address of the iSNS server in which we register.

=end html

=back



=over 2

=item * I<last-successful-update>  =>   B<integer, optional>

=begin html

<br>Last successful iSNS update time in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<last-successful-update-timestamp>  =>   B<integer, optional>

=begin html

<br>Last successful iSNS update time in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<last-update-attempt>  =>   B<integer, optional>

=begin html

<br>Last iSNS update attempt time in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<last-update-attempt-timestamp>  =>   B<integer, optional>

=begin html

<br>Last iSNS update attempt time in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<last-update-result>  =>   B<string, optional>

=begin html

<br>Result of the last iSNS update.

=end html

=back



=head2 iscsi_isns_get_iter

[B<Family:> cluster, vserver]


=begin html

Gets iSNS service configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-isns-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-isns-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iSCSI iSNS Service object. All iSCSI iSNS Service objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-isns-info">[], optional>

=begin html

<br>The list of attributes of iSCSI iSNS Service objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iSCSI iSNS Service objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_isns_start

[B<Family:> vserver]


=begin html

Start iSNS service. The service will be available once the call returns with success.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_isns_stop

[B<Family:> vserver]


=begin html

Stops iSNS service. Service will not be available once the call returns with success.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_isns_update

[B<Family:> vserver]


=begin html

Forces iSNS service to update server.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_node_get_name

[B<Family:> vserver]


=begin html

Return the current iscsi node name.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Current iscsi node name.

=end html

=back



=head2 iscsi_node_set_name

[B<Family:> vserver]


=begin html

Set the current iscsi node name.

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>New iscsi node name; must be <= 128 chars, and conform to iSCSI rules

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_service_create

[B<Family:> vserver]


=begin html

Create an iSCSI Service in a Vserver. Each Vserver requires an online iSCSI Service in order to serve data via the iSCSI protocol.

=end html



B<Inputs>

=over 2

=item * I<alias-name>  =>   B<string, optional>

=begin html

<br>The iSCSI target alias for the iSCSI service. If not provided, the Vserver name will be used.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The iSCSI target name for the Vserver. The target-name must conform to RFC 3720. If not provided, one will be auto-generated.

=end html

=back



=over 2

=item * I<start>  =>   B<boolean, optional>

=begin html

<br>Determine the initial state of the iSCSI Service. If true, the service will be automatically started after creation completes. If false, the service will be left in the stopped state and the caller must subsequently call iscsi-service-start to start the service. The default is true.

=end html

=back



B<Outputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>The new iSCSI target name for the Vserver.

=end html

=back



=head2 iscsi_service_destroy

[B<Family:> vserver]


=begin html

Destroy the iSCSI Service in a Vserver.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_service_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of iSCSI Services.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-service-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-service-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iSCSI Service object. All iSCSI Service objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-service-info">[], optional>

=begin html

<br>The list of attributes of iSCSI Service objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iSCSI Service objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_service_modify

[B<Family:> vserver]


=begin html

Modify an iSCSI Service in a Vserver.

=end html



B<Inputs>

=over 2

=item * I<login-timeout>  =>   B<integer, optional>

=begin html

<br>Login phase duration in seconds. Specifies maximum time the login phase remains active until the iSCSI target terminates the connection. Range: [5..120].

=end html

=back



=over 2

=item * I<max-cmds-per-session>  =>   B<integer, optional>

=begin html

<br>Maximum commands per session. Specifies the maximum number of commands per session that the iSCSI target can accept. Range: [4..256].

=end html

=back



=over 2

=item * I<max-conn-per-session>  =>   B<integer, optional>

=begin html

<br>Maximum connections per session. Specifies the maximum number of connections per session that the iSCSI target can accept. Range: [1..32].

=end html

=back



=over 2

=item * I<max-error-recovery-level>  =>   B<integer, optional>

=begin html

<br>Maximum error recovery level. The possible values are: <ul> <li>0 - session failure recovery. <li>1 - digest failure recovery. <li>2 - connection failure recovery. </ul>

=end html

=back



=over 2

=item * I<retain-timeout>  =>   B<integer, optional>

=begin html

<br>Default time-to-retain value in secconds. Specifies the wait time before active task reassignment is possible after an unexpected connection termination. Range: [1,.120].

=end html

=back



=over 2

=item * I<tcp-window-size>  =>   B<integer, optional>

=begin html

<br>TCP receive window size in bytes. Range: [8760..262800].

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_service_start

[B<Family:> vserver]


=begin html

Start iSCSI service. The service will be available once the call returns with success.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_service_status

[B<Family:> vserver]


=begin html

Get status of the iSCSI service, whether or not it is running.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<is-available>  =>   B<boolean>

=begin html

<br>"true" if iSCSI service is running, "false" otherwise.

=end html

=back



=head2 iscsi_service_stop

[B<Family:> vserver]


=begin html

Stops iSCSI service. Service will be not be available once the call returns with success.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_session_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of iSCSI session objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-session-list-entry-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-session-list-entry-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iSCSI session object. All iSCSI session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-session-list-entry-info">[], optional>

=begin html

<br>The list of attributes of iSCSI session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iSCSI session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_stats_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of iscsi objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iscsi object. All iscsi objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-stats-info">[], optional>

=begin html

<br>The list of attributes of iscsi objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iscsi objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_target_alias_clear_alias

[B<Family:> vserver]


=begin html

Clear the current iscsi target alias

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_target_alias_get_alias

[B<Family:> vserver]


=begin html

Return the current iscsi target alias

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<alias-name>  =>   B<string, optional>

=begin html

<br>Current iscsi target alias if alias-assigned is true.

=end html

=back



=over 2

=item * I<is-alias-assigned>  =>   B<boolean>

=begin html

<br>True if alias assigned, false otherwise.

=end html

=back



=head2 iscsi_target_alias_set_alias

[B<Family:> vserver]


=begin html

Set the current iscsi target alias

=end html



B<Inputs>

=over 2

=item * I<alias-name>  =>   B<string>

=begin html

<br>New iscsi target alias to set; must be 128 bytes or less. Free form format otherwise, although a string of all blanks will be rejected

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_tpgroup_create

[B<Family:> vserver]


=begin html

Create a new user defined target portal group.

=end html



B<Inputs>

=over 2

=item * I<tpgroup-name>  =>   B<string>

=begin html

<br>Name of new user defined target portal group. Name must be <= 32 characters. In Data ONTAP 7-Mode, user defined target portal group names cannot end with "default" as this would conflict with names of default target portal groups. In Data ONTAP Cluster-Mode, user defined target portal groups cannot use the name of any defined logical interfaces (LIFs) in the vserver as this would conflict with names of default target portal groups.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer, optional>

=begin html

<br>Optional target portal group tag supplied by user. Default value is system generated.

=end html

=back



B<Outputs>

=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>New target portal group tag.

=end html

=back



=head2 iscsi_tpgroup_destroy

[B<Family:> vserver]


=begin html

Destroy a tpgroup. Only user defined target portal groups may be destroyed.

=end html



B<Inputs>

=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>Tag of portal group to destroy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_tpgroup_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of iSCSI Target Portal Group objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"iscsi-tpgroup-list-entry-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"iscsi-tpgroup-list-entry-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the iSCSI Target Portal Group object. All iSCSI Target Portal Group objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"iscsi-tpgroup-list-entry-info">[], optional>

=begin html

<br>The list of attributes of iSCSI Target Portal Group objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more iSCSI Target Portal Group objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 iscsi_tpgroup_interface_add

[B<Family:> vserver]


=begin html

Add an interface to a target portal group. Interfaces may only be added to a user defined target portal group.

=end html



B<Inputs>

=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of network interface to add. In Data ONTAP 7-Mode, this is the name of a physical or virtual ethernet interface, for example: "e0c" or "vif1". In Data ONTAP Cluster-Mode, this is the name of an iSCSI data LIF in the Vserver.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>Target portal group tag.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 iscsi_tpgroup_interface_delete

[B<Family:> vserver]


=begin html

Remove an interface from a target portal group. Interfaces may only be removed from a user defined target portal group. Removing an interface will return it to the system defined default group for the interface.

=end html



B<Inputs>

=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of network interface to remove. In Data ONTAP 7-Mode, this is the name of a physical or virtual ethernet interface, for example: "e0c" or "vif1" In Data ONTAP Cluster-Mode, this is the name of an iSCSI data LIF in the Vserver.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>Target portal group tag.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_by_node_get

[B<Family:> vserver]


=begin html

Get a single job entry. This is just a performance optimization for job-get that only searches for the job among the ones currently owned by the given node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>The job id.

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name>

=begin html

<br>The name of the node where the job is run.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-info">>

=begin html

<br>The attributes of the job-by-node entry.

=end html

=back



=head2 job_by_node_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple job records organized by node. This is just a performance optimization for job-get-iter that only searches for the job among the ones currently owned by the given node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the job-by-node entry object. All job-by-node entry objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-info">[], optional>

=begin html

<br>The list of attributes of job-by-node entry objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more job-by-node entry objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_completed_get

[B<Family:> vserver]


=begin html

Get a single completed job entry. This is just a performance optimization for job-get.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job ID

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-info">>

=begin html

<br>The attributes of the job completed.

=end html

=back



=head2 job_completed_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple completed job records. This is just a performance optimization for job-get-iter.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the job completed object. All job completed objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-info">[], optional>

=begin html

<br>The list of attributes of job completed objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more job completed objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_get

[B<Family:> vserver]


=begin html

Get a single job entry.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>The job id.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-info">>

=begin html

<br>The attributes of the job.

=end html

=back



=head2 job_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple job records.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the job object. All job objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-info">[], optional>

=begin html

<br>The list of attributes of job objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more job objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_history_get

[B<Family:> vserver]


=begin html

Get a single job history event.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name>

=begin html

<br>The name of the node where the job ran, or the node that changed the job's state.

=end html

=back



=over 2

=item * I<log-id>  =>   B<integer>

=begin html

<br>The internal identifier of this job history event.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-history-info">>

=begin html

<br>The attributes of the job history event.

=end html

=back



=head2 job_history_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple job history records.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 100

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-history-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the job history event object. All job history event objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-history-info">[], optional>

=begin html

<br>The list of attributes of job history event objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more job history event objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_pause

[B<Family:> vserver]


=begin html

Pause a job. A job must be of a type that has job-type-is-pausible set to true before it may be paused. Once notified of a pause request, a job should stop performing work until it is subsequently resumed.

=end html



B<Inputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>The job id.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_pause_iter

[B<Family:> cluster, vserver]


=begin html

Pause a collection of jobs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple job objects match a given query. If set to true, the API will continue with the next matching job even when the operation fails for the job. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching job even when the operation on a previous matching job fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of job objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">>

=begin html

<br>If operating on a specific job, this input element must specify all keys. If operating on job objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job objects (just keys) that were not operated on due to some error. If set to false, the list of job objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job objects (just keys) that were successfully operated on. If set to false, the list of job objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-pause-iter-info">[], optional>

=begin html

<br>Information about job objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching job objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of job objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of job objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-pause-iter-info">[], optional>

=begin html

<br>The job objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 job_private_completed_get

[B<Family:> vserver]


=begin html

Get a single completed, private job entry. This is just a performance optimization for job-private-get.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job ID

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-info">>

=begin html

<br>The attributes of the private job completion entry.

=end html

=back



=head2 job_private_completed_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple completed, private job records. This is just a performance optimization for job-private-get-iter.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the private job completion entry object. All private job completion entry objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-info">[], optional>

=begin html

<br>The list of attributes of private job completion entry objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more private job completion entry objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_private_get

[B<Family:> vserver]


=begin html

Get a single private job entry.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job ID

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-info">>

=begin html

<br>The attributes of the private job.

=end html

=back



=head2 job_private_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple private job records.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the private job object. All private job objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-info">[], optional>

=begin html

<br>The list of attributes of private job objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more private job objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_private_pause

[B<Family:> vserver]


=begin html

Pause a private job.

=end html



B<Inputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job ID

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_private_pause_iter

[B<Family:> cluster, vserver]


=begin html

Pause a collection of private jobs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple private job objects match a given query. If set to true, the API will continue with the next matching private job even when the operation fails for the private job. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching private job even when the operation on a previous matching private job fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of private job objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">>

=begin html

<br>If operating on a specific private job, this input element must specify all keys. If operating on private job objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of private job objects (just keys) that were not operated on due to some error. If set to false, the list of private job objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of private job objects (just keys) that were successfully operated on. If set to false, the list of private job objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-private-pause-iter-info">[], optional>

=begin html

<br>Information about private job objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching private job objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of private job objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of private job objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-private-pause-iter-info">[], optional>

=begin html

<br>The private job objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 job_private_resume

[B<Family:> vserver]


=begin html

Resume a job.

=end html



B<Inputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job ID

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_private_resume_iter

[B<Family:> cluster, vserver]


=begin html

Resume a collection of jobs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple private job objects match a given query. If set to true, the API will continue with the next matching private job even when the operation fails for the private job. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching private job even when the operation on a previous matching private job fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of private job objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">>

=begin html

<br>If operating on a specific private job, this input element must specify all keys. If operating on private job objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of private job objects (just keys) that were not operated on due to some error. If set to false, the list of private job objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of private job objects (just keys) that were successfully operated on. If set to false, the list of private job objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-private-resume-iter-info">[], optional>

=begin html

<br>Information about private job objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching private job objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of private job objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of private job objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-private-resume-iter-info">[], optional>

=begin html

<br>The private job objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 job_private_soft_pause

[B<Family:> vserver]


=begin html

Soft pause a private job.

=end html



B<Inputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job ID

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_private_soft_pause_iter

[B<Family:> cluster, vserver]


=begin html

Soft pause a collection of private jobs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple private job objects match a given query. If set to true, the API will continue with the next matching private job even when the operation fails for the private job. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching private job even when the operation on a previous matching private job fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of private job objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">>

=begin html

<br>If operating on a specific private job, this input element must specify all keys. If operating on private job objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of private job objects (just keys) that were not operated on due to some error. If set to false, the list of private job objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of private job objects (just keys) that were successfully operated on. If set to false, the list of private job objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-private-soft-pause-iter-info">[], optional>

=begin html

<br>Information about private job objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching private job objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of private job objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of private job objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-private-soft-pause-iter-info">[], optional>

=begin html

<br>The private job objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 job_private_stop

[B<Family:> vserver]


=begin html

Stop a job.

=end html



B<Inputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job ID

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_private_stop_iter

[B<Family:> cluster, vserver]


=begin html

Stop a collection of jobs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple private job objects match a given query. If set to true, the API will continue with the next matching private job even when the operation fails for the private job. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching private job even when the operation on a previous matching private job fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of private job objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">>

=begin html

<br>If operating on a specific private job, this input element must specify all keys. If operating on private job objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of private job objects (just keys) that were not operated on due to some error. If set to false, the list of private job objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of private job objects (just keys) that were successfully operated on. If set to false, the list of private job objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-private-stop-iter-info">[], optional>

=begin html

<br>Information about private job objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching private job objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of private job objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of private job objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-private-stop-iter-info">[], optional>

=begin html

<br>The private job objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 job_resume

[B<Family:> vserver]


=begin html

Resume a job from the paused state.

=end html



B<Inputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>The job id.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_resume_iter

[B<Family:> cluster, vserver]


=begin html

Resume a collection of jobs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple job objects match a given query. If set to true, the API will continue with the next matching job even when the operation fails for the job. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching job even when the operation on a previous matching job fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of job objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">>

=begin html

<br>If operating on a specific job, this input element must specify all keys. If operating on job objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job objects (just keys) that were not operated on due to some error. If set to false, the list of job objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job objects (just keys) that were successfully operated on. If set to false, the list of job objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-resume-iter-info">[], optional>

=begin html

<br>Information about job objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching job objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of job objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of job objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-resume-iter-info">[], optional>

=begin html

<br>The job objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 job_schedule_cron_create

[B<Family:> cluster, vserver]


=begin html

Create a new cron job schedule entry.

=end html



B<Inputs>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-cron-day>  =>   B<cron-day-of-month[], optional>

=begin html

<br>The day(s) of the month when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-cron-day-of-week>  =>   B<cron-day-of-week[], optional>

=begin html

<br>The day(s) in the week when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-cron-hour>  =>   B<cron-hour[], optional>

=begin html

<br>The hour(s) of the day when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-cron-minute>  =>   B<cron-minute[]>

=begin html

<br>The minute(s) of each hour when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-cron-month>  =>   B<cron-month[], optional>

=begin html

<br>The month(s) when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the job-schedule-cron on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"job-schedule-cron-info">, optional>

=begin html

<br>The job-schedule-cron created (keys or the entire object if requested)

=end html

=back



=head2 job_schedule_cron_destroy

[B<Family:> cluster, vserver]


=begin html

Delete a single cron job schedule entry. The entry must not be in use.

=end html



B<Inputs>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_schedule_cron_destroy_iter

[B<Family:> cluster, vserver]


=begin html

Delete multiple cron job schedule entries. The entries must not be in use.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple job-schedule-cron objects match a given query. If set to true, the API will continue deleting the next matching job-schedule-cron even when the deletion of a previous job-schedule-cron fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching job-schedule-cron even when the deletion of a previous matching job-schedule-cron fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of job-schedule-cron objects to delete in this call. Default: 100

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-schedule-cron-info">>

=begin html

<br>If deleting a specific job-schedule-cron, this input element must specify all keys. If deleting multiple job-schedule-cron objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job-schedule-cron objects (just keys) that were not deleted due to some error. If set to false, the list of job-schedule-cron objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job-schedule-cron objects (just keys) that were successfully deleted. If set to false, the list of job-schedule-cron objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-schedule-cron-destroy-iter-info">[], optional>

=begin html

<br>Information about job-schedule-cron objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching job-schedule-cron objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of job-schedule-cron objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of job-schedule-cron objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-schedule-cron-destroy-iter-info">[], optional>

=begin html

<br>The job-schedule-cron objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 job_schedule_cron_get

[B<Family:> cluster, vserver]


=begin html

Get a single cron job schedule entry.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-schedule-cron-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-schedule-cron-info">>

=begin html

<br>The attributes of the job-schedule-cron.

=end html

=back



=head2 job_schedule_cron_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple cron job schedule entries.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-schedule-cron-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 100

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-schedule-cron-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the job-schedule-cron object. All job-schedule-cron objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-schedule-cron-info">[], optional>

=begin html

<br>The list of attributes of job-schedule-cron objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more job-schedule-cron objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_schedule_cron_modify

[B<Family:> cluster, vserver]


=begin html

Modify an existing cron job schedule entry.

=end html



B<Inputs>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-cron-day>  =>   B<cron-day-of-month[], optional>

=begin html

<br>The day(s) of the month when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-cron-day-of-week>  =>   B<cron-day-of-week[], optional>

=begin html

<br>The day(s) in the week when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-cron-hour>  =>   B<cron-hour[], optional>

=begin html

<br>The hour(s) of the day when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-cron-minute>  =>   B<cron-minute[], optional>

=begin html

<br>The minute(s) of each hour when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-cron-month>  =>   B<cron-month[], optional>

=begin html

<br>The month(s) when the job should be run.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_schedule_get

[B<Family:> cluster, vserver]


=begin html

Get a single job schedule entry.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-schedule-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-schedule-info">>

=begin html

<br>The attributes of the job-schedule.

=end html

=back



=head2 job_schedule_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple job schedule entries.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-schedule-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-schedule-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the job-schedule object. All job-schedule objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-schedule-info">[], optional>

=begin html

<br>The list of attributes of job-schedule objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more job-schedule objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_schedule_interval_create

[B<Family:> cluster, vserver]


=begin html

Create a new interval job schedule entry.

=end html



B<Inputs>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-interval-days>  =>   B<integer, optional>

=begin html

<br>The number of days between jobs.

=end html

=back



=over 2

=item * I<job-schedule-interval-hours>  =>   B<integer, optional>

=begin html

<br>The number of hours between jobs.

=end html

=back



=over 2

=item * I<job-schedule-interval-minutes>  =>   B<integer, optional>

=begin html

<br>The number of minutes between jobs.

=end html

=back



=over 2

=item * I<job-schedule-interval-seconds>  =>   B<integer, optional>

=begin html

<br>The number of seconds between jobs.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the job-schedule-interval on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"job-schedule-interval-info">, optional>

=begin html

<br>The job-schedule-interval created (keys or the entire object if requested)

=end html

=back



=head2 job_schedule_interval_destroy

[B<Family:> cluster, vserver]


=begin html

Delete a single interval job schedule entry. The entry must not be in use.

=end html



B<Inputs>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_schedule_interval_destroy_iter

[B<Family:> cluster, vserver]


=begin html

Delete multiple interval job schedule entries. The entries must not be in use.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple job-schedule-interval objects match a given query. If set to true, the API will continue deleting the next matching job-schedule-interval even when the deletion of a previous job-schedule-interval fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching job-schedule-interval even when the deletion of a previous matching job-schedule-interval fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of job-schedule-interval objects to delete in this call. Default: 100

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-schedule-interval-info">>

=begin html

<br>If deleting a specific job-schedule-interval, this input element must specify all keys. If deleting multiple job-schedule-interval objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job-schedule-interval objects (just keys) that were not deleted due to some error. If set to false, the list of job-schedule-interval objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job-schedule-interval objects (just keys) that were successfully deleted. If set to false, the list of job-schedule-interval objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-schedule-interval-destroy-iter-info">[], optional>

=begin html

<br>Information about job-schedule-interval objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching job-schedule-interval objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of job-schedule-interval objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of job-schedule-interval objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-schedule-interval-destroy-iter-info">[], optional>

=begin html

<br>The job-schedule-interval objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 job_schedule_interval_get

[B<Family:> cluster, vserver]


=begin html

Get a single interval job schedule entry.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-schedule-interval-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"job-schedule-interval-info">>

=begin html

<br>The attributes of the job-schedule-interval.

=end html

=back



=head2 job_schedule_interval_get_iter

[B<Family:> cluster, vserver]


=begin html

Get multiple interval job schedule entries.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"job-schedule-interval-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 100

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-schedule-interval-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the job-schedule-interval object. All job-schedule-interval objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"job-schedule-interval-info">[], optional>

=begin html

<br>The list of attributes of job-schedule-interval objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more job-schedule-interval objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 job_schedule_interval_modify

[B<Family:> cluster, vserver]


=begin html

Modify an existing interval job schedule entry.

=end html



B<Inputs>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified.

=end html

=back



=over 2

=item * I<job-schedule-interval-days>  =>   B<integer, optional>

=begin html

<br>The number of days between jobs.

=end html

=back



=over 2

=item * I<job-schedule-interval-hours>  =>   B<integer, optional>

=begin html

<br>The number of hours between jobs.

=end html

=back



=over 2

=item * I<job-schedule-interval-minutes>  =>   B<integer, optional>

=begin html

<br>The number of minutes between jobs.

=end html

=back



=over 2

=item * I<job-schedule-interval-seconds>  =>   B<integer, optional>

=begin html

<br>The number of seconds between jobs.

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string>

=begin html

<br>The name of the job schedule.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_soft_pause

[B<Family:> vserver]


=begin html

Soft pause a job. Indicates to the job that a soft pause has been initiated. It is up to the job to do what it needs to do for a soft pause. As a result of this command the job may request to be moved into the runnnable queue to perform further processing of the soft pause.

=end html



B<Inputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>The job id.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_soft_pause_iter

[B<Family:> cluster, vserver]


=begin html

Soft pause a collection of jobs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple job objects match a given query. If set to true, the API will continue with the next matching job even when the operation fails for the job. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching job even when the operation on a previous matching job fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of job objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">>

=begin html

<br>If operating on a specific job, this input element must specify all keys. If operating on job objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job objects (just keys) that were not operated on due to some error. If set to false, the list of job objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job objects (just keys) that were successfully operated on. If set to false, the list of job objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-soft-pause-iter-info">[], optional>

=begin html

<br>Information about job objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching job objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of job objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of job objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-soft-pause-iter-info">[], optional>

=begin html

<br>The job objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 job_stop

[B<Family:> vserver]


=begin html

Stop a job. A job must be of a type that has job-type-is-quittable set to true before it may be stopped. job-stop attempts to stop a job that's currently running. If the job allows itself to stop it completes its current run. If the job has a recurring schedule it will transition to the Queued state; otherwise it will transition into either the Success or Failure state.

=end html



B<Inputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>The job id.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 job_stop_iter

[B<Family:> cluster, vserver]


=begin html

Stop a collection of jobs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple job objects match a given query. If set to true, the API will continue with the next matching job even when the operation fails for the job. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching job even when the operation on a previous matching job fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of job objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"job-info">>

=begin html

<br>If operating on a specific job, this input element must specify all keys. If operating on job objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job objects (just keys) that were not operated on due to some error. If set to false, the list of job objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of job objects (just keys) that were successfully operated on. If set to false, the list of job objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"job-stop-iter-info">[], optional>

=begin html

<br>Information about job objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching job objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of job objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of job objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"job-stop-iter-info">[], optional>

=begin html

<br>The job objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 kerberos_config_get

[B<Family:> vserver]


=begin html

Get Kerberos configuration information for a LIF.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"kerberos-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Logical interface.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"kerberos-config-info">>

=begin html

<br>The attributes of the kerberos-config.

=end html

=back



=head2 kerberos_config_get_iter

[B<Family:> cluster, vserver]


=begin html

Get Kerberos configuration information for a group of LIFs.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"kerberos-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 50

=end html

=back



=over 2

=item * I<query>  =>   B<L<"kerberos-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the kerberos-config object. All kerberos-config objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"kerberos-config-info">[], optional>

=begin html

<br>The list of attributes of kerberos-config objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more kerberos-config objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 kerberos_config_modify

[B<Family:> vserver]


=begin html

Modify Kerberos configuration information for a LIF

=end html



B<Inputs>

=over 2

=item * I<admin-password>  =>   B<string, optional>

=begin html

<br>Administrator password.

=end html

=back



=over 2

=item * I<admin-user-name>  =>   B<string, optional>

=begin html

<br>Administrator username.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force option to disable Kerberos security on a LIF (default:false). If set to true, any errors encountered when deleting the corresponding account on the KDC are ignored in which case the account should be deleted manually.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Logical interface.

=end html

=back



=over 2

=item * I<is-kerberos-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then kerberos security is enabled.

=end html

=back



=over 2

=item * I<keytab-uri>  =>   B<string, optional>

=begin html

<br>Keytab to load the uri from.

=end html

=back



=over 2

=item * I<organizational-unit>  =>   B<string, optional>

=begin html

<br>Organizational Unit.

=end html

=back



=over 2

=item * I<service-principal-name>  =>   B<string, optional>

=begin html

<br>Kerberos service principal name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 kerberos_realm_create

[B<Family:> cluster, vserver]


=begin html

Create a new Kerberos realm configuration. <p> In Data ONTAP 8.2.x and prior versions, Kerberos realms were owned by Cserver and were accessible only from Admin Vserver LIFs using the input 'config-name'. The 'vserver' input was not required. <p> Starting from Data ONTAP 8.3.0, Kerberos realms are owned by data Vservers and are accessible from both Admin and data Vserver LIFs. The 'config-name' input can no longer be used as a key. The 'realm' input must be used instead. The 'vserver' input is required.

=end html



B<Inputs>

=over 2

=item * I<ad-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP Address of the Active Directory Domain Controller (DC). This is a mandatory parameter if the kdc-vendor is 'microsoft'.

=end html

=back



=over 2

=item * I<ad-server-name>  =>   B<string, optional>

=begin html

<br>Host name of the Active Directory Domain Controller (DC). This is a mandatory parameter if the kdc-vendor is 'microsoft'

=end html

=back



=over 2

=item * I<admin-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP address of the host where the Kerberos administration daemon is running. This is usually the master KDC. If this parameter is omitted, the IP address specified in kdc-ip is used. If specified, this should be the same as the kdc-ip if the kdc-vendor is 'microsoft'.

=end html

=back



=over 2

=item * I<admin-server-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the Kerberos administration server where the Kerberos administration service is running. The default for this parmater is 749.

=end html

=back



=over 2

=item * I<clock-skew>  =>   B<integer, optional>

=begin html

<br>The clock skew in minutes is the tolerance for accepting tickets with time stamps that do not exactly match the host's system clock. The default for this parameter is 5 minutes.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment

=end html

=back



=over 2

=item * I<config-name>  =>   B<string, optional>

=begin html

<br>Kerberos configuration name.

=end html

=back



=over 2

=item * I<kdc-ip>  =>   B<ip-address>

=begin html

<br>IP address of the Key Distribution Centre (KDC) server for this Kerberos realm.

=end html

=back



=over 2

=item * I<kdc-port>  =>   B<integer, optional>

=begin html

<br>TCP port on the KDC to be used for Kerberos communication. The default for this parameter is 88.

=end html

=back



=over 2

=item * I<kdc-vendor>  =>   B<kdc-vendor>

=begin html

<br>The vendor of the Key Distribution Centre (KDC) server. If the configuration uses a Microsoft Active Directory (AD) domain for authentication, this field should be 'microsoft'.

=end html

=back



=over 2

=item * I<password-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP address of the host where the Kerberos password-changing server is running. Typically, this is the same as the host indicated in the adminserver-ip. If this parameter is omitted, the IP address in kdc-ip is used.

=end html

=back



=over 2

=item * I<password-server-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the Kerberos password-changing server where the Kerberos password-changing service is running. The default for this parameter is 464.

=end html

=back



=over 2

=item * I<realm>  =>   B<string>

=begin html

<br>Kerberos realm name.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the kerberos-realm on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"kerberos-realm">, optional>

=begin html

<br>The kerberos-realm created (keys or the entire object if requested)

=end html

=back



=head2 kerberos_realm_delete

[B<Family:> cluster, vserver]


=begin html

Delete the Kerberos realm configuration. <p> In Data ONTAP 8.2.x and prior versions, Kerberos realms were owned by Cserver and were accessible only from Admin Vserver LIFs using the input 'config-name'. The 'vserver' input was not required. <p> Starting from Data ONTAP 8.3.0, Kerberos realms are owned by data Vservers and are accessible from both Admin and data Vserver LIFs. The 'config-name' input can no longer be used as a key. The 'realm' input must be used instead. The 'vserver' input is required.

=end html



B<Inputs>

=over 2

=item * I<config-name>  =>   B<string, optional>

=begin html

<br>Kerberos configuration name.

=end html

=back



=over 2

=item * I<realm>  =>   B<string, optional>

=begin html

<br>Kerberos realm name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 kerberos_realm_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of Kerberos realm configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"kerberos-realm">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"kerberos-realm">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the kerberos-realm object. All kerberos-realm objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"kerberos-realm">[], optional>

=begin html

<br>The list of attributes of kerberos-realm objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more kerberos-realm objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 kerberos_realm_modify

[B<Family:> cluster, vserver]


=begin html

Modify the Kerberos realm configuration. <p> In Data ONTAP 8.2.x and prior versions, Kerberos realms were owned by Cserver and were accessible only from Admin Vserver LIFs using the input 'config-name'. The 'vserver' input was not required. <p> Starting from Data ONTAP 8.3.0, Kerberos realms are owned by data Vservers and are accessible from both Admin and data Vserver LIFs. The 'config-name' input can no longer be used as a key. The 'realm' input must be used instead. The 'vserver' input is required.

=end html



B<Inputs>

=over 2

=item * I<ad-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP Address of the Active Directory Domain Controller (DC). This is a mandatory parameter if the kdc-vendor is 'microsoft'.

=end html

=back



=over 2

=item * I<ad-server-name>  =>   B<string, optional>

=begin html

<br>Host name of the Active Directory Domain Controller (DC). This is a mandatory parameter if the kdc-vendor is 'microsoft'

=end html

=back



=over 2

=item * I<admin-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP address of the host where the Kerberos administration daemon is running. This is usually the master KDC. If this parameter is omitted, the IP address specified in kdc-ip is used. If specified, this should be the same as the kdc-ip if the kdc-vendor is 'microsoft'.

=end html

=back



=over 2

=item * I<admin-server-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the Kerberos administration server where the Kerberos administration service is running. The default for this parmater is 749.

=end html

=back



=over 2

=item * I<clock-skew>  =>   B<integer, optional>

=begin html

<br>The clock skew in minutes is the tolerance for accepting tickets with time stamps that do not exactly match the host's system clock. The default for this parameter is 5 minutes.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment

=end html

=back



=over 2

=item * I<config-name>  =>   B<string, optional>

=begin html

<br>Kerberos configuration name.

=end html

=back



=over 2

=item * I<kdc-ip>  =>   B<ip-address, optional>

=begin html

<br>IP address of the Key Distribution Centre (KDC) server for this Kerberos realm.

=end html

=back



=over 2

=item * I<kdc-port>  =>   B<integer, optional>

=begin html

<br>TCP port on the KDC to be used for Kerberos communication. The default for this parameter is 88.

=end html

=back



=over 2

=item * I<kdc-vendor>  =>   B<kdc-vendor, optional>

=begin html

<br>The vendor of the Key Distribution Centre (KDC) server. If the configuration uses a Microsoft Active Directory (AD) domain for authentication, this field should be 'microsoft'.

=end html

=back



=over 2

=item * I<password-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP address of the host where the Kerberos password-changing server is running. Typically, this is the same as the host indicated in the adminserver-ip. If this parameter is omitted, the IP address in kdc-ip is used.

=end html

=back



=over 2

=item * I<password-server-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the Kerberos password-changing server where the Kerberos password-changing service is running. The default for this parameter is 464.

=end html

=back



=over 2

=item * I<realm>  =>   B<string, optional>

=begin html

<br>Kerberos realm name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ldap_check_get_iter

[B<Family:> cluster, vserver]


=begin html

Display the status of an LDAP configuration

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ldap-status">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ldap-status">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ldap-client-check object. All ldap-client-check objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ldap-status">[], optional>

=begin html

<br>The list of attributes of ldap-client-check objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ldap-client-check objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ldap_client_create

[B<Family:> vserver]


=begin html

Create a new Lightweight Directory Access Protocol (LDAP) client configuration for the cluster.

=end html



B<Inputs>

=over 2

=item * I<ad-domain>  =>   B<string, optional>

=begin html

<br>The Active Directory Domain Name for this LDAP configuration. The option is ONLY applicable for configurations using Active Directory LDAP servers.

=end html

=back



=over 2

=item * I<allow-ssl>  =>   B<boolean, optional>

=begin html

<br>(DEPRECATED) Allow the use of SSL for the TLS Handshake Protocol over the LDAP connections. The default value is false.

=end html

=back



=over 2

=item * I<base-dn>  =>   B<ldap-dn, optional>

=begin html

<br>Indicates the starting point for searches within the LDAP directory tree. If omitted, searches will start at the root of the directory tree.

=end html

=back



=over 2

=item * I<base-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search. If omitted, this parameter defaults to 'subtree'. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<bind-as-cifs-server>  =>   B<boolean, optional>

=begin html

<br>If set, the cluster will use the CIFS server's credentials to bind to the LDAP server. If omitted, this parameter defaults to 'true' if the configuration uses Active Directory LDAP and defaults to 'false' otherwise.

=end html

=back



=over 2

=item * I<bind-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Bind Distinguished Name (DN) is the LDAP identity used during the authentication process by the clients. This is required if the LDAP server does not support anonymous binds. This field is not used if 'bind-as-cfs-server' is set to 'true'. Example : cn=username,cn=Users,dc=example,dc=com

=end html

=back



=over 2

=item * I<bind-password>  =>   B<string, optional>

=begin html

<br>The password to be used with the bind-dn.

=end html

=back



=over 2

=item * I<group-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Group Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for group lookups. If not specified, group lookups will start at the base-dn.

=end html

=back



=over 2

=item * I<group-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing group lookups. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<is-netgroup-byhost-enabled>  =>   B<boolean, optional>

=begin html

<br>This indicates whether netgroup.byhost map should be queried for lookups.

=end html

=back



=over 2

=item * I<ldap-client-config>  =>   B<string>

=begin html

<br>The name of the LDAP client configuration.

=end html

=back



=over 2

=item * I<ldap-servers>  =>   B<string[], optional>

=begin html

<br>List of LDAP Servers to use for this configuration. The option is NOT applicable for configurations using ad-domain parameter.

=end html

=back



=over 2

=item * I<min-bind-level>  =>   B<ldap-auth-method, optional>

=begin html

<br>The minimum authentication level that can be used to authenticate with the LDAP server. If omitted, this parameter defaults to 'sasl' if the configuration uses Active Directory LDAP. For configurations that use LDAP servers from other vendors, this parameter defaults to 'simple' if a 'bind-dn' is specified and 'anonymous' otherwise. Possible values: <ul> <li> "anonymous" - Anonymous bind, <li> "simple" - Simple bind, <li> "sasl" - Simple Authentication and Security Layer (SASL) bind </ul>

=end html

=back



=over 2

=item * I<netgroup-byhost-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Netgroup Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for netgroup byhost lookups. If not specified, netgroup byhost lookups will start at the base-dn.

=end html

=back



=over 2

=item * I<netgroup-byhost-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing netgroup byhost lookups. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<netgroup-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Netgroup Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for netgroup lookups. If not specified, netgroup lookups will start at the base-dn.

=end html

=back



=over 2

=item * I<netgroup-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing netgroup lookups. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<obs-password>  =>   B<hex-string, optional>

=begin html

<br>Encrypted Password

=end html

=back



=over 2

=item * I<preferred-ad-servers>  =>   B<ip-address[], optional>

=begin html

<br>Preferred Active Directory (AD) Domain controllers to use for this configuration. This option is ONLY applicable for configurations using Active Directory LDAP servers

=end html

=back



=over 2

=item * I<query-timeout>  =>   B<integer, optional>

=begin html

<br>Maximum time in seconds to wait for a query response from the LDAP server. The default for this parameter is 3 seconds.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the ldap-client on successful creation. Default: false

=end html

=back



=over 2

=item * I<schema>  =>   B<string>

=begin html

<br>LDAP schema to use for this configuration. The list of possible schemas can be obtained using the ldap-client-schema-get-iter API.

=end html

=back



=over 2

=item * I<servers>  =>   B<ip-address[], optional>

=begin html

<br>(DEPRECATED)-List of LDAP Server IP addresses to use for this configuration. The option is NOT applicable for configurations using Active Directory LDAP servers.

=end html

=back



=over 2

=item * I<session-security>  =>   B<ldap-security, optional>

=begin html

<br>This indicates the level of security for LDAP communications. By default this option is none. Possible values: <ul> <li> "none" - No Signing or Sealing., <li> "sign" - Sign LDAP traffic., <li> "seal" - Seal and Sign LDAP traffic </ul>

=end html

=back



=over 2

=item * I<tcp-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the LDAP server to use for this configuration. If omitted, this parameter defaults to 389.

=end html

=back



=over 2

=item * I<use-start-tls>  =>   B<boolean, optional>

=begin html

<br>This indicates if start_tls will be used over LDAP connections.

=end html

=back



=over 2

=item * I<user-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The User Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for user lookups. If this parameter is omitted, user lookups will start at the base-dn.

=end html

=back



=over 2

=item * I<user-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing user lookups. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"ldap-client">, optional>

=begin html

<br>The ldap-client created (keys or the entire object if requested)

=end html

=back



=head2 ldap_client_delete

[B<Family:> vserver]


=begin html

Delete an existing Lightweight Directory Access Protocol (LDAP) client configuration from the cluster.

=end html



B<Inputs>

=over 2

=item * I<ldap-client-config>  =>   B<string>

=begin html

<br>The name of the LDAP client configuration.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ldap_client_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of Lightweight Directory Access Protocol (LDAP) client configurations for the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ldap-client">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ldap-client">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ldap-client object. All ldap-client objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ldap-client">[], optional>

=begin html

<br>The list of attributes of ldap-client objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ldap-client objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ldap_client_modify

[B<Family:> vserver]


=begin html

Modify an existing Lightweight Directory Access Protocol (LDAP) client configuration.

=end html



B<Inputs>

=over 2

=item * I<ad-domain>  =>   B<string, optional>

=begin html

<br>The Active Directory Domain Name for this LDAP configuration. The option is ONLY applicable for configurations using Active Directory LDAP servers.

=end html

=back



=over 2

=item * I<allow-ssl>  =>   B<boolean, optional>

=begin html

<br>(DEPRECATED) Allow the use of SSL for the TLS Handshake Protocol over the LDAP connections. The default value is false.

=end html

=back



=over 2

=item * I<base-dn>  =>   B<ldap-dn, optional>

=begin html

<br>Indicates the starting point for searches within the LDAP directory tree. If omitted, searches will start at the root of the directory tree.

=end html

=back



=over 2

=item * I<base-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search. If omitted, this parameter defaults to 'subtree'. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<bind-as-cifs-server>  =>   B<boolean, optional>

=begin html

<br>If set, the cluster will use the CIFS server's credentials to bind to the LDAP server. If omitted, this parameter defaults to 'true' if the configuration uses Active Directory LDAP and defaults to 'false' otherwise.

=end html

=back



=over 2

=item * I<bind-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Bind Distinguished Name (DN) is the LDAP identity used during the authentication process by the clients. This is required if the LDAP server does not support anonymous binds. This field is not used if 'bind-as-cfs-server' is set to 'true'. Example : cn=username,cn=Users,dc=example,dc=com

=end html

=back



=over 2

=item * I<bind-password>  =>   B<string, optional>

=begin html

<br>The password to be used with the bind-dn.

=end html

=back



=over 2

=item * I<group-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Group Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for group lookups. If not specified, group lookups will start at the base-dn.

=end html

=back



=over 2

=item * I<group-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing group lookups. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<is-netgroup-byhost-enabled>  =>   B<boolean, optional>

=begin html

<br>This indicates whether netgroup.byhost map should be queried for lookups.

=end html

=back



=over 2

=item * I<ldap-client-config>  =>   B<string>

=begin html

<br>The name of the LDAP client configuration.

=end html

=back



=over 2

=item * I<ldap-servers>  =>   B<string[], optional>

=begin html

<br>List of LDAP Servers to use for this configuration. The option is NOT applicable for configurations using ad-domain parameter.

=end html

=back



=over 2

=item * I<min-bind-level>  =>   B<ldap-auth-method, optional>

=begin html

<br>The minimum authentication level that can be used to authenticate with the LDAP server. If omitted, this parameter defaults to 'sasl' if the configuration uses Active Directory LDAP. For configurations that use LDAP servers from other vendors, this parameter defaults to 'simple' if a 'bind-dn' is specified and 'anonymous' otherwise. Possible values: <ul> <li> "anonymous" - Anonymous bind, <li> "simple" - Simple bind, <li> "sasl" - Simple Authentication and Security Layer (SASL) bind </ul>

=end html

=back



=over 2

=item * I<netgroup-byhost-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Netgroup Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for netgroup byhost lookups. If not specified, netgroup byhost lookups will start at the base-dn.

=end html

=back



=over 2

=item * I<netgroup-byhost-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing netgroup byhost lookups. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<netgroup-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Netgroup Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for netgroup lookups. If not specified, netgroup lookups will start at the base-dn.

=end html

=back



=over 2

=item * I<netgroup-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing netgroup lookups. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<obs-password>  =>   B<hex-string, optional>

=begin html

<br>Encrypted Password

=end html

=back



=over 2

=item * I<preferred-ad-servers>  =>   B<ip-address[], optional>

=begin html

<br>Preferred Active Directory (AD) Domain controllers to use for this configuration. This option is ONLY applicable for configurations using Active Directory LDAP servers

=end html

=back



=over 2

=item * I<query-timeout>  =>   B<integer, optional>

=begin html

<br>Maximum time in seconds to wait for a query response from the LDAP server. The default for this parameter is 3 seconds.

=end html

=back



=over 2

=item * I<schema>  =>   B<string, optional>

=begin html

<br>LDAP schema to use for this configuration. The list of possible schemas can be obtained using the ldap-client-schema-get-iter API.

=end html

=back



=over 2

=item * I<servers>  =>   B<ip-address[], optional>

=begin html

<br>(DEPRECATED)-List of LDAP Server IP addresses to use for this configuration. The option is NOT applicable for configurations using Active Directory LDAP servers.

=end html

=back



=over 2

=item * I<session-security>  =>   B<ldap-security, optional>

=begin html

<br>This indicates the level of security for LDAP communications. By default this option is none. Possible values: <ul> <li> "none" - No Signing or Sealing., <li> "sign" - Sign LDAP traffic., <li> "seal" - Seal and Sign LDAP traffic </ul>

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>If true, validation of the the corresponding Lightweight Directory Access Protocol (LDAP) client configuration will be skipped.

=end html

=back



=over 2

=item * I<tcp-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the LDAP server to use for this configuration. If omitted, this parameter defaults to 389.

=end html

=back



=over 2

=item * I<use-start-tls>  =>   B<boolean, optional>

=begin html

<br>This indicates if start_tls will be used over LDAP connections.

=end html

=back



=over 2

=item * I<user-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The User Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for user lookups. If this parameter is omitted, user lookups will start at the base-dn.

=end html

=back



=over 2

=item * I<user-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing user lookups. Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ldap_client_schema_copy

[B<Family:> vserver]


=begin html

Copy an existing LDAP schema. If the LDAP server that the storage system needs to query does not support any of the default read-only schemas, this API can be used to create an editable copy of an existing read-only schema. After copying the schema, the copy can be modified using the ldap-client-schema-modify API.

=end html



B<Inputs>

=over 2

=item * I<new-schema-name>  =>   B<string>

=begin html

<br>New Schema Template Name

=end html

=back



=over 2

=item * I<schema>  =>   B<string>

=begin html

<br>A name for the schema.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ldap_client_schema_delete

[B<Family:> vserver]


=begin html

Delete an existing Lightweight Directory Access Protocol (LDAP) schema configuration. Only the schemas that are defined using the ldap-client-schema-copy API can be deleted using this API.

=end html



B<Inputs>

=over 2

=item * I<schema>  =>   B<string>

=begin html

<br>A name for the schema.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ldap_client_schema_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of Lightweight Directory Access Protocol (LDAP) client schema configurations that are defined for the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ldap-client-schema">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ldap-client-schema">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ldap-client-schema object. All ldap-client-schema objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ldap-client-schema">[], optional>

=begin html

<br>The list of attributes of ldap-client-schema objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ldap-client-schema objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ldap_client_schema_modify

[B<Family:> vserver]


=begin html

Modify an existing Lightweight Directory Access Protocol (LDAP) schema configuration. If the LDAP server that the storage system needs to query does not support any of the default read-only schemas, the ldap-client-schema-copy API can be used to create a editable copy of an existing read-only schema. After copying the schema, the copy can be modified using this API to support the target schema.

=end html



B<Inputs>

=over 2

=item * I<cn-group-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2256 cn attribute used by RFC 2307 when working with groups.

=end html

=back



=over 2

=item * I<cn-netgroup-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2256 cn attribute used by RFC 2307 when working with netgroups.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A comment that can be associated with the schema.

=end html

=back



=over 2

=item * I<enable-rfc2307bis>  =>   B<boolean, optional>

=begin html

<br>This indicates if the RFC 2307bis is enabled for client schema.

=end html

=back



=over 2

=item * I<gecos-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 gecos attribute.

=end html

=back



=over 2

=item * I<gid-number-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 gidNumber attribute.

=end html

=back



=over 2

=item * I<group-of-unique-names-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307bis groupOfUniqueNames object class.

=end html

=back



=over 2

=item * I<home-directory-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 homeDirectory attribute.

=end html

=back



=over 2

=item * I<login-shell-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 loginShell attribute.

=end html

=back



=over 2

=item * I<member-nis-netgroup-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 memberNisNetgroup attribute.

=end html

=back



=over 2

=item * I<member-uid-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 memberUid attribute.

=end html

=back



=over 2

=item * I<nis-mapentry-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisMapEntry Attribute.

=end html

=back



=over 2

=item * I<nis-mapname-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisMapName Attribute.

=end html

=back



=over 2

=item * I<nis-netgroup-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisNetgroup object class.

=end html

=back



=over 2

=item * I<nis-netgroup-triple-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisNetgroupTriple attribute.

=end html

=back



=over 2

=item * I<nis-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisObject Object Class.

=end html

=back



=over 2

=item * I<posix-account-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 posixAccount object class.

=end html

=back



=over 2

=item * I<posix-group-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 posixGroup object class.

=end html

=back



=over 2

=item * I<schema>  =>   B<string>

=begin html

<br>A name for the schema.

=end html

=back



=over 2

=item * I<uid-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 1274 userid attribute used by RFC 2307 as uid.

=end html

=back



=over 2

=item * I<uid-number-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 uidNumber attribute.

=end html

=back



=over 2

=item * I<unique-member-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307bis uniqueMember attribute.

=end html

=back



=over 2

=item * I<user-password-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2256 userPassword attribute used by RFC 2307.

=end html

=back



=over 2

=item * I<windows-account-attribute>  =>   B<string, optional>

=begin html

<br>Attribute name to be used to get the windows account information for a unix user account.

=end html

=back



=over 2

=item * I<windows-to-unix-attribute>  =>   B<string, optional>

=begin html

<br>Attribute name to be used to get the unix account information for a windows user account.

=end html

=back



=over 2

=item * I<windows-to-unix-no-domain-prefix>  =>   B<boolean, optional>

=begin html

<br>This indicates if the name for windows to unix name mapping should have no domain prefix.

=end html

=back



=over 2

=item * I<windows-to-unix-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the windowsToUnix object class.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ldap_config_create

[B<Family:> vserver]


=begin html

Create a new association between a Lightweight Directory Access Protocol (LDAP) client configuration and a Vserver. A Vserver can have only one client configuration associated with it.

=end html



B<Inputs>

=over 2

=item * I<client-config>  =>   B<string>

=begin html

<br>The name of an existing Lightweight Directory Access Protocol (LDAP) client configuration. The LDAP client configuration can be created using the ldap-client-create API. The ldap-client-get-iter API can be used to retrieve the list of available LDAP client configurations for the cluster.

=end html

=back



=over 2

=item * I<client-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, the corresponding Lightweight Directory Access Protocol (LDAP) configuration is enabled for this Vserver.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the ldap-config on successful creation. Default: false

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>If true, validation of the the corresponding Lightweight Directory Access Protocol (LDAP) client configuration will be skipped.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"ldap-config">, optional>

=begin html

<br>The ldap-config created (keys or the entire object if requested)

=end html

=back



=head2 ldap_config_delete

[B<Family:> vserver]


=begin html

Delete a Vserver's association with a Lightweight Directory Access Protocol (LDAP) configuration.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ldap_config_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of Lightweight Directory Access Protocol (LDAP) configurations in the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ldap-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ldap-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ldap-config object. All ldap-config objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ldap-config">[], optional>

=begin html

<br>The list of attributes of ldap-config objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ldap-config objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ldap_config_modify

[B<Family:> vserver]


=begin html

Modify the Lightweight Directory Access Protocol (LDAP) configuration for a Vserver.

=end html



B<Inputs>

=over 2

=item * I<client-config>  =>   B<string, optional>

=begin html

<br>The name of an existing Lightweight Directory Access Protocol (LDAP) client configuration. The LDAP client configuration can be created using the ldap-client-create API. The ldap-client-get-iter API can be used to retrieve the list of available LDAP client configurations for the cluster.

=end html

=back



=over 2

=item * I<client-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, the corresponding Lightweight Directory Access Protocol (LDAP) configuration is enabled for this Vserver.

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>If true, validation of the the corresponding Lightweight Directory Access Protocol (LDAP) client configuration will be skipped.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 license_v2_add

[B<Family:> cluster]


=begin html

Add license for a Data ONTAP service.

=end html



B<Inputs>

=over 2

=item * I<codes>  =>   B<license-code-v2[]>

=begin html

<br>Data ONTAP Cluster-Mode service/feature. 24 or 48 uppercase alpha only characters.

=end html

=back



B<Outputs>

=over 2

=item * I<license-v2-failure-list>  =>   B<L<"license-v2-result">[], optional>

=begin html

<br>A list of failed license operations, one entry per license.

=end html

=back



=over 2

=item * I<license-v2-success-list>  =>   B<L<"license-v2-added">[], optional>

=begin html

<br>A list of successfully added licenses, one entry per license.

=end html

=back



=head2 license_v2_apply

[B<Family:> cluster]


=begin html

Add entitlements described in license content

=end html



B<Inputs>

=over 2

=item * I<content>  =>   B<string>

=begin html

<br>Content of license specification

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 license_v2_capacity_create

[B<Family:> cluster]


=begin html

Adds V2 capacity license.

=end html



B<Inputs>

=over 2

=item * I<license-input>  =>   B<string>

=begin html

<br>Capacity license input.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 license_v2_capacity_get_iter

[B<Family:> cluster]


=begin html

Get V2 capacity license information. This command is deprecated in Data ONTAP 9.2 and may be removed in a future release.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"license-v2-capacity-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"license-v2-capacity-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the license object. All license objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"license-v2-capacity-info">[], optional>

=begin html

<br>The list of attributes of license objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more license objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 license_v2_cleanup_list_info

[B<Family:> cluster]


=begin html

Returns licenses that can be cleaned up. A license can be cleaned up if it's a demo license and its expiration time has passed (expired), or if it is a license for a controller that is no longer part of a cluster (unused). One can use the cleanup apis to remove these licenses together, or alternatively, they can use the standard license-remove api to remove them one at a time.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<licenses>  =>   B<L<"license-v2-cleanup">[], optional>

=begin html

<br>An array, one entry per each license.

=end html

=back



=head2 license_v2_delete

[B<Family:> cluster]


=begin html

Removes license for a Data ONTAP service.

=end html



B<Inputs>

=over 2

=item * I<package>  =>   B<licensed-package>

=begin html

<br>Package Possible values: <ul> <li> "base" - Cluster Base License. This value has been deprecated in Data ONTAP 9.2, <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "insight_balance" - OnCommand Balance License, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Serial number of the node associated with the license. If this parameter is not provided, the default serial number used is the cluster serial number.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 license_v2_delete_expired

[B<Family:> cluster]


=begin html

Remove licenses that have expired in the cluster.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 license_v2_delete_unused

[B<Family:> cluster]


=begin html

Remove licenses that have no controller affiliation in the cluster.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 license_v2_entitlement_risk_get_iter

[B<Family:> cluster]


=begin html

Returns license entitlement risk for cluster mode packages.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"license-v2-entitlement-risk-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"license-v2-entitlement-risk-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the license object. All license objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"license-v2-entitlement-risk-info">[], optional>

=begin html

<br>The list of attributes of license objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more license objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 license_v2_list_info

[B<Family:> cluster]


=begin html

Returns infomation for DATA ONTAP licenses.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<licenses>  =>   B<L<"license-v2-info">[]>

=begin html

<br>An array, one entry per license.

=end html

=back



=head2 license_v2_status_get_iter

[B<Family:> cluster]


=begin html

Get Data ONTAP licenses status information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"license-v2-license-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"license-v2-license-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the license-v2 object. All license-v2 objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"license-v2-license-info">[], optional>

=begin html

<br>The list of attributes of license-v2 objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more license-v2 objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 license_v2_status_list_info

[B<Family:> cluster]


=begin html

Returns license status information for cluster mode packages. This command is deprecated in Data ONTAP 9.2 and may be removed in a future release.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<license-v2-status>  =>   B<L<"license-v2-status-info">[]>

=begin html

<br>An array, one entry per each licensable service.

=end html

=back



=head2 license_v2_subscription_create

[B<Family:> cluster]


=begin html

Add V2 subscription license.

=end html



B<Inputs>

=over 2

=item * I<license-input>  =>   B<string>

=begin html

<br>Subscription license input.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 license_v2_subscription_get_iter

[B<Family:> cluster]


=begin html

Get V2 subscription license information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"license-v2-subscription-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"license-v2-subscription-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the license object. All license objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"license-v2-subscription-info">[], optional>

=begin html

<br>The list of attributes of license objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more license objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 lock_break_iter

[B<Family:> cluster, vserver]


=begin html

Breaks one or more locks in the cluster that match the query.

=end html



B<Inputs>

=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of lock objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lock-info">, optional>

=begin html

<br>If operating on a specific lock, this input element must specify all keys. If operating on lock objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of lock objects (just keys) that were not operated on due to some error. If set to false, the list of lock objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of lock objects (just keys) that were successfully operated on. If set to false, the list of lock objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"lock-break-iter-info">[], optional>

=begin html

<br>Information about lock objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching lock objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of lock objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of lock objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"lock-break-iter-info">[], optional>

=begin html

<br>The lock objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 lock_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns information for one or more locks in the cluster that match the query.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lock-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lock-info">, optional>

=begin html

<br>A query that specifies which locks to return. A query could be specified on any number of attributes in the lock object. All lock objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lock-info">[], optional>

=begin html

<br>The list of attributes of lock objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more lock objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 lun_alignment_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of lun objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lun-align-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lun-align-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the lun object. All lun objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lun-align-info">[], optional>

=begin html

<br>The list of attributes of lun objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more lun objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 lun_alignment_reset_statistics

[B<Family:> vserver]


=begin html

Reset LUN Alignment Statistics

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>Path of the LUN

=end html

=back



=over 2

=item * I<qtree>  =>   B<string, optional>

=begin html

<br>Qtree hosting the LUN

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Volume hosting the LUN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_clear_persistent_reservation_info

[B<Family:> vserver]


=begin html

Clear the SCSI-2 reservation or SCSI-3 persistent reservation information for a given LUN. Note: In Data ONTAP Cluster-Mode, the LUN must either be offline or not mapped to clear the persistent reservation information.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the lun. The path should start with '/vol/'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_copy_cancel

[B<Family:> cluster, vserver]


=begin html

Cancels an ongoing LUN copy operation prior to creation of the new LUN. This operation will fail if the LUN already exists at the destination path; in that case, use the lun-destroy API to delete the LUN at the destination path.

=end html



B<Inputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) of the job that started this copy operation.

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly copied as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. For LUN copy operations that involve only one LUN, the lun-index value of zero is always correct.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_copy_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of LUN copy job detail objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lun-copy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lun-copy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the LUN copy job detail object. All LUN copy job detail objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lun-copy-info">[], optional>

=begin html

<br>The list of attributes of LUN copy job detail objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more LUN copy job detail objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 lun_copy_modify

[B<Family:> cluster, vserver]


=begin html

Modifies the maximum throughput of an ongoing copy operation.

=end html



B<Inputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) of the job that started this copy operation.

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly copied as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. For LUN copy operations that involve only one LUN, the lun-index value of zero is always correct.

=end html

=back



=over 2

=item * I<max-throughput>  =>   B<size>

=begin html

<br>Specifies the maximum amount of data, in bytes, that can be transferred per second in support of this operation. This mechanism can be used to throttle a transfer, to reduce its impact on the performance of the source and destination nodes. Default: zero, indicating no throttling. NOTE: The specified value will be rounded up to the nearest megabyte.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_copy_pause

[B<Family:> cluster, vserver]


=begin html

Pauses an ongoing LUN copy operation. Use the lun-copy-resume API to resume the copy operation.

=end html



B<Inputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) of the job that started this copy operation.

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly copied as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. For LUN copy operations that involve only one LUN, the lun-index value of zero is always correct.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_copy_resume

[B<Family:> cluster, vserver]


=begin html

Resumes a paused LUN copy operation.

=end html



B<Inputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) of the job that started this copy operation.

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly copied as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. For LUN copy operations that involve only one LUN, the lun-index value of zero is always correct.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_copy_start

[B<Family:> cluster, vserver]


=begin html

Starts copying a group of LUNs from one volume to another. The destination volume can be located on the same Vserver as the original volume or on a different Vserver. If source-vserver is not specified, the source Vserver defaults to the target Vserver, i.e., an intra-Vserver copy. Intra-Vserver copy can be initiated by both cluster and Vserver administrators. Inter-Vserver copy can be initiated by cluster administrators only. Note: A cluster administrator must first create a Vserver peer relationship using vserver-peer-create API before a Vserver administrator can copy over LUNs from another Vserver in the cluster. This restriction does not apply to cluster administrators. Cluster administrators can initiate inter-Vserver LUN copy operations without creating a Vserver peer relationship.

=end html



B<Inputs>

=over 2

=item * I<destination-vserver>  =>   B<vserver-name>

=begin html

<br>Specifies the name of the Vserver that will host the new LUNs.

=end html

=back



=over 2

=item * I<max-throughput>  =>   B<integer, optional>

=begin html

<br>Specifies the maximum amount of data, in bytes, that can be transferred per second in support of this operation. This mechanism can be used to throttle a transfer, to reduce its impact on the performance of the source and destination nodes. Default: zero, indicating no throttling. NOTE: The specified value will be rounded up to the nearest megabyte.

=end html

=back



=over 2

=item * I<paths>  =>   B<L<"lun-path-pair">[]>

=begin html

<br>Specifies an array of source and destination path pairs. If more than one pair of paths is specified, multiple LUNs will be copied. All the source LUNs must be on the same volume. All the LUNs must be copied into a single volume.

=end html

=back



=over 2

=item * I<promote-early>  =>   B<boolean, optional>

=begin html

<br>Specifies that the destination needs to be promoted early. Default: false. If the destination is promoted early, the new LUN will be visible immediately. Snapshots of the volume containing the new LUN cannot be taken until the LUN copy operation reaches 'Moving Data' status. If the destination is promoted late, the new LUN will be visible only after it has been fully framed. The LUN copy job will not block snapshots of the volume containing the new LUN.

=end html

=back



=over 2

=item * I<reference-path>  =>   B<string, optional>

=begin html

<br>Specifies the full path to the source reference LUN, of the form /vol/<volume>[/<qtree>]/<lun>. If a reference LUN is specified, data for other LUNs being copied will be transferred as a difference from the reference LUN. This might save bandwidth and destination storage if the specified source LUNs share blocks. If provided, this input must be the same as one of the source LUN paths. This input is not allowed if only one source LUN is specified.

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<vserver-name, optional>

=begin html

<br>Specifies the name of the Vserver hosting the LUNs to be copied. Default: same as destination-vserver (intra-Vserver copy).

=end html

=back



B<Outputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) for the LUN copy job.

=end html

=back



=head2 lun_create_by_size

[B<Family:> vserver]


=begin html

Create a new lun of given size, with initially zero contents. The lun is created at the path given. No file should already exist at the given path. The directory specified in the path must be a qtree root directory. The size of the created lun could be larger than the size specified, in order to get an integral number of cylinders while reporting the geometry using SAN protocols.

=end html



B<Inputs>

=over 2

=item * I<class>  =>   B<string, optional>

=begin html

<br>The class of the LUN. Possible values: <ul> <li>"regular" - The LUN is for normal blocks access, <li>"protocol_endpoint" - The LUN is a vvol protocol endpoint, <li>"vvol" - The LUN is a vvol data LUN. </ul> The default value is "regular".

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A description for the LUN being created. The comment can be at most 254 characters.

=end html

=back



=over 2

=item * I<foreign-disk>  =>   B<string, optional>

=begin html

<br>Foreign Disk serial number. New size of the LUN will be of exact capacity as that of the Foreign Disk. For Foreign LUN Import, the LUN and Foreign Disk must be the exact same capacity. Either size or foreign-disk must be provided for Data ONTAP Cluster-mode. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<ostype>  =>   B<lun-os-type, optional>

=begin html

<br>The os type for the LUN. The default type if not specified is "image". It is strongly recommended for the caller of this API to avoid using the "image" type because it could result in misconfigured LUNs. For example, a lun with ostype "image" could suffer major performance penalties when a Windows host is trying to access it.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



=over 2

=item * I<prefix-size>  =>   B<integer, optional>

=begin html

<br>The size of the prefix stream for this lun in bytes. Certain OS types store a small portion of the data corresponding to partition tables (or similar structures) in the prefix stream. This is part of the lun data and is transparent to hosts that access the LUN via block protocols. The default size is based on the OS type. Giving a value here overrides the default, but, it is strongly recommended to avoid changing this default size. The value in this field must be a multiple of 512 bytes. Note that this value has no effect when the lun-os-type is "image". This option is available in Data ONTAP 8.1 and later.

=end html

=back



=over 2

=item * I<qos-policy-group>  =>   B<string, optional>

=begin html

<br>QoS policy group defines measurable Service Level Objectives (SLOs) that apply to the storage objects with which the policy group is associated. If you do not assign a policy group to a lun, the system will not monitor and control the traffic to it. This field is available in Data ONTAP 8.2 and later

=end html

=back



=over 2

=item * I<size>  =>   B<integer, optional>

=begin html

<br>New size for the LUN in bytes. This field is required for Data ONTAP 7-Mode. Either size or foreign-disk must be provided for Data ONTAP Cluster-mode.

=end html

=back



=over 2

=item * I<space-allocation-enabled>  =>   B<boolean, optional>

=begin html

<br>The space allocation attribute enables support for the SCSI Thin Provisioning features defined in the Logical Block Provisioning section of the SCSI SBC-3 standard. Hosts and file systems that do not support SCSI Thin Provisioning should not enable space allocation. The default is false.

=end html

=back



=over 2

=item * I<space-reservation-enabled>  =>   B<boolean, optional>

=begin html

<br>Default is true. If it is desired to manage space usage manually instead, this can be set to "false" which will create a LUN without any space being reserved.

=end html

=back



=over 2

=item * I<use-exact-size>  =>   B<boolean, optional>

=begin html

<br>Use the exact size specified instead of rounding to best fit geometry. If true, size must be a multiple of 512. The default value is false. This field may not be specified in combination with foreign-disk. This field is available in Data ONTAP 9.2 and later.

=end html

=back



B<Outputs>

=over 2

=item * I<actual-size>  =>   B<integer>

=begin html

<br>The actual size of the LUN that was created, in bytes.

=end html

=back



=head2 lun_create_from_file

[B<Family:> vserver]


=begin html

Create a lun from an existing file. A new lun is created, at the given lun path (which must be at a qtree root). A hard link is created to the existing file. The file contents are not copied or changed. The file can be resized to a larger size, rounding up to a cylinder boundary. NOTE: LUNs created from files cannot be relocated.

=end html



B<Inputs>

=over 2

=item * I<class>  =>   B<string, optional>

=begin html

<br>The class of the LUN. Possible values: <ul> <li>"regular" - The LUN is for normal blocks access, <li>"protocol_endpoint" - The LUN is a vvol protocol endpoint, <li>"vvol" - The LUN is a vvol data LUN. </ul> The default value is "regular".

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A description for the LUN being created. The comment can be at most 254 characters.

=end html

=back



=over 2

=item * I<file-name>  =>   B<string>

=begin html

<br>A fully qualified filer path to the file to create the LUN from. This must be in the same qtree as the LUN being created. The file must also be in the root of the volume or in a qtree/regular directory in the root of the volume or in a regular directory in a qtree.

=end html

=back



=over 2

=item * I<ostype>  =>   B<lun-os-type, optional>

=begin html

<br>The os type for the LUN. The default type if not specified is "image". It is strongly recommended for the caller of this API to avoid using the "image" type because it could result in misconfigured LUNs. For example, a lun with ostype "image" could suffer major performance penalties when a Windows host is trying to access it.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Would be Path of the newly created LUN if successful. This Path must not exist already (i.e a file or dir with this same path).

=end html

=back



=over 2

=item * I<qos-policy-group>  =>   B<string, optional>

=begin html

<br>QoS policy group defines measurable Service Level Objectives (SLOs) that apply to the storage objects with which the policy group is associated. If you do not assign a policy group to a lun, the system will not monitor and control the traffic to it. This field is available in Data ONTAP 8.2 and later

=end html

=back



=over 2

=item * I<space-allocation-enabled>  =>   B<boolean, optional>

=begin html

<br>The space allocation attribute enables support for the SCSI Thin Provisioning features defined in the Logical Block Provisioning section of the SCSI SBC-3 standard. Hosts and file systems that do not support SCSI Thin Provisioning should not enable space allocation. The default is false.

=end html

=back



=over 2

=item * I<space-reservation-enabled>  =>   B<boolean, optional>

=begin html

<br>Default is true. If it is desired to manage space usage manually instead, this can be set to false which will create a LUN without any space being reserved.

=end html

=back



B<Outputs>

=over 2

=item * I<actual-size>  =>   B<integer>

=begin html

<br>The actual size of the LUN that was created, in bytes.

=end html

=back



=head2 lun_destroy

[B<Family:> vserver]


=begin html

Destroy the specified LUN. This operation will fail if the LUN is currently mapped and is online. The force option can be used to destroy it regardless of being online or mapped.

=end html



B<Inputs>

=over 2

=item * I<destroy-application-lun>  =>   B<boolean, optional>

=begin html

<br>Required to delete a LUN that belongs to an application. If true, override checks that prevent a LUN from being destroyed while it is part of an application. The default if not specified is "false". This field is available in Data ONTAP 9.2 and later.

=end html

=back



=over 2

=item * I<destroy-fenced-lun>  =>   B<boolean, optional>

=begin html

<br>If "true", override checks that prevent a LUN from being destroyed while it is fenced. If "false", attempting to destroy a fenced LUN will fail. The default if not specified is "false". This field is available in Data ONTAP 8.2 and later.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If "true", override checks that prevent a LUN from being destroyed if it is online and mapped. If "false", destroying an online and mapped LUN will fail. The default if not specified is "false".

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_generate_serial

[B<Family:> cluster, vserver]


=begin html

Generate a LUN Serial Number for later use.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Serial Number

=end html

=back



=head2 lun_get_attribute

[B<Family:> vserver]


=begin html

Get a named attribute for a given LUN.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Attribute to get.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value of the attribute.

=end html

=back



=head2 lun_get_attributes

[B<Family:> vserver]


=begin html

Get named attributes for a given LUN.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Filter for the requested attribute names. SMF wildcards are allowed. If not specified, all available attributes on the LUN will be returned.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"lun-attribute-info">[], optional>

=begin html

<br>List of selected attribute name/value pairs. If there are not user attributes set on the LUN, or no attributes match the 'name' filter if specified, this field will not be returned.

=end html

=back



=head2 lun_get_comment

[B<Family:> vserver]


=begin html

Get the optional descriptive comment for a LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<comment>  =>   B<string>

=begin html

<br>Comment for given LUN.

=end html

=back



=head2 lun_get_geometry

[B<Family:> vserver]


=begin html

Get SCSI disk geometry for a given LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<bytes-per-sector>  =>   B<integer>

=begin html

<br>Sector size in bytes.

=end html

=back



=over 2

=item * I<cylinders>  =>   B<integer, optional>

=begin html

<br>Number of cylinders in the LUN The size of the LUN can be calculated like this: cylinders tracks-per-cylinder sectors-per-track X bytes-per-sector --------------------- size This field is not present for LUNs that do not report Cylinder-Head-Sector geometry.

=end html

=back



=over 2

=item * I<max-resize-size>  =>   B<integer>

=begin html

<br>The maximum size this LUN can be resized to in bytes. LUN resize for LUNs that report Cylinder-Head-Sector (CHS) geometry is limited by the lun cylinder size which can not be increased beyond 65535. This number is calculated using a cylinder count of 65535, in place of the LUNs actual cylinder size. LUNs that do not report CHS geometry may be resized to the maximum LUN size supported by the current Data ONTAP version.

=end html

=back



=over 2

=item * I<sectors-per-track>  =>   B<integer, optional>

=begin html

<br>Number of sectors in a track. This field is not present for LUNs that do not report Cylinder-Head-Sector geometry.

=end html

=back



=over 2

=item * I<size>  =>   B<integer>

=begin html

<br>LUN size in bytes.

=end html

=back



=over 2

=item * I<tracks-per-cylinder>  =>   B<integer, optional>

=begin html

<br>Number of tracks in a cylinder. This is also commonly referred to as the number of heads. This field is not present for LUNs that do not report Cylinder-Head-Sector geometry.

=end html

=back



=head2 lun_get_inquiry_info

[B<Family:> vserver]


=begin html

Get the SCSI INQUIRY response data for vendor id (vid), product id (pid), and firmware revision (rev) based on the igroup that the lun in question is mapped to.

=end html



B<Inputs>

=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>The initiator group for which the vid/pid/rev information is to be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<firmware-revision>  =>   B<string>

=begin html

<br>SCSI INQUIRY response revision (padded with spaces to 4-characters).

=end html

=back



=over 2

=item * I<product-id>  =>   B<string>

=begin html

<br>SCSI INQUIRY response product id (padded with spaces to 16-characters).

=end html

=back



=over 2

=item * I<vendor-id>  =>   B<string>

=begin html

<br>SCSI INQUIRY response vendor id (padded with spaces to 8-characters).

=end html

=back



=head2 lun_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of lun objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lun-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lun-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the lun object. All lun objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lun-info">[], optional>

=begin html

<br>The list of attributes of lun objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more lun objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=over 2

=item * I<volume-errors>  =>   B<L<"volume-error">[], optional>

=begin html

<br>List of errors encountered while retrieving LUN inventory

=end html

=back



=head2 lun_get_maxsize

[B<Family:> vserver]


=begin html

Returns the maximum possible size in bytes of a lun on a given volume or qtree. The user can pass the path to a volume or qtree in which the lun is to be created. This returns the maximum size for different types of LUNs and the possible maximum size with or without snapshot reserves.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the volume or qtree.

=end html

=back



=over 2

=item * I<type>  =>   B<lun-os-type>

=begin html

<br>OS type of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<with-complete-snapshot-reserve>  =>   B<integer>

=begin html

<br>Maximum possible size for LUN with snapshot reserve assuming 100% fractional reserve

=end html

=back



=over 2

=item * I<with-snapshot-reserve>  =>   B<integer>

=begin html

<br>Maximum possible size for LUN with snapshot reserve.

=end html

=back



=over 2

=item * I<without-snapshot-reserve>  =>   B<integer>

=begin html

<br>Maximum possible size for LUN without snapshot reserve.

=end html

=back



=head2 lun_get_minsize

[B<Family:> vserver]


=begin html

Returns the minimum possible size in bytes. This returns the minimum size for different types of LUNs (based on the specified OS type). Space reservation does not affect the minimum lun size, thus only a single minimum size is returned.

=end html



B<Inputs>

=over 2

=item * I<type>  =>   B<lun-os-type>

=begin html

<br>OS type of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<min-size>  =>   B<integer>

=begin html

<br>Minimum possible size for LUN.

=end html

=back



=head2 lun_get_occupied_size

[B<Family:> vserver]


=begin html

Get the size occupied by the LUN in the active FS.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<occupied-size>  =>   B<integer>

=begin html

<br>Size occupied by the LUN in the Active FS in bytes.

=end html

=back



=head2 lun_get_persistent_reservation_info

[B<Family:> vserver]


=begin html

Get the persistent reservation information for a given LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the lun. The path should start with '/vol/'.

=end html

=back



B<Outputs>

=over 2

=item * I<persistent-reservation>  =>   B<L<"persistent-reservation-info">[], optional>

=begin html

<br>This is the persistent reservation information for a given I_T nexus if any exist for the given lun. The communication path and state between an initiator and a target is called an Initiator_Target Nexus, or I_T Nexus. The I_T Nexus is the owner of the persistent reservation information. There can be several I_T Nexus that have registered per lun. Each I_T Nexus can only register one time per lun.

=end html

=back



=head2 lun_get_select_attribute

[B<Family:> vserver]


=begin html

Get the select attribute for the specified LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<creation-timestamp>  =>   B<integer>

=begin html

<br>The time this lun was created, in seconds since January 1, 1970. This field is available in Data ONTAP 8.1 and later.

=end html

=back



=over 2

=item * I<previous-serial>  =>   B<string, optional>

=begin html

<br>The serial number of the previous lun. If this lun is not a clone or copy, no previous-serial number exists.

=end html

=back



=over 2

=item * I<select-attribute>  =>   B<string>

=begin html

<br>The select attribute for the lun. Possible values: <ul> <li> "active" - this is an active lun, <li> "copy" - this is a clone or copy of an active lun, <li> "mirror" - this is a mirror of an active lun. </ul>

=end html

=back



=head2 lun_get_serial_number

[B<Family:> vserver]


=begin html

Get the serial number for the specified LUN. Prior to Data ONTAP 8.1 release, the serial number is a 12-character string formed of upper and lower-case letters, numbers, and slash (/) and hyphen (-) characters. Starting Data ONTAP 8.1 release, the serial number is a 12-character string formed of upper and lower-case letters, numbers, and the characters /-#$%&*+<=>?[!]^~@ .

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Serial number for the LUN.

=end html

=back



=head2 lun_get_space_reservation_info

[B<Family:> vserver]


=begin html

Queries the space reservation settings for the named LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Name of the LUN to be queried.

=end html

=back



B<Outputs>

=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>Whether or not the LUN has space reservation enabled.

=end html

=back



=head2 lun_get_vdisk_attributes

[B<Family:> cluster, vserver]


=begin html

Lookup a LUN path and storage system by serial number.

=end html



B<Inputs>

=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Serial number for the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<filer-name>  =>   B<string>

=begin html

<br>In Data ONTAP 7-Mode, this is the name of the storage system or vfiler containing the LUN. In Data ONTAP Cluster-Mode, this is the name of the Vserver containing the LUN.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path for the specified LUN, for example: "/vol/vol0/lun1".

=end html

=back



=head2 lun_has_scsi_reservations

[B<Family:> vserver]


=begin html

Queries for all types of scsi reservations covering both iSCSI and FCP.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the lun. The path should start with '/vol/'.

=end html

=back



B<Outputs>

=over 2

=item * I<is-reservation-held>  =>   B<boolean>

=begin html

<br>'true' if given LUN has a scsi-2 or scsi-3 style reservation held, 'false' otherwise.

=end html

=back



=head2 lun_import_create

[B<Family:> cluster]


=begin html

Create a LUN import relationship with the purpose of importing foreign disk data into the LUN.

=end html



B<Inputs>

=over 2

=item * I<foreign-disk>  =>   B<string>

=begin html

<br>Foreign Disk Serial Number

=end html

=back



=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>Path of the LUN

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver containing the LUN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_import_delete

[B<Family:> cluster]


=begin html

Deletes the import relationship of the specified LUN or the specified foreign disk.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force flag. If set to true, the import relationship would be deleted even if import is in progress. Default: false

=end html

=back



=over 2

=item * I<foreign-disk>  =>   B<string, optional>

=begin html

<br>Foreign disk serial number

=end html

=back



=over 2

=item * I<path>  =>   B<lun-path, optional>

=begin html

<br>Path of the LUN

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing the LUN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_import_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of LUN objects that are in a relationship with a foreign disk.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lun-import-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lun-import-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Foreign LUN Import relationship object. All Foreign LUN Import relationship objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lun-import-info">[], optional>

=begin html

<br>The list of attributes of Foreign LUN Import relationship objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Foreign LUN Import relationship objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 lun_import_pause

[B<Family:> cluster]


=begin html

Pause the import for the specified LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>LUN Path

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_import_resume

[B<Family:> cluster]


=begin html

Resume the import for the specified LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>LUN Path

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_import_start

[B<Family:> cluster]


=begin html

Start the import for the specified LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>LUN Path

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_import_stop

[B<Family:> cluster]


=begin html

Stop and abort the import for the specified LUN. All import checkpoint data will be lost.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>LUN Path

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_import_throttle

[B<Family:> cluster]


=begin html

Modify the max throughput limit for the specified import relationship

=end html



B<Inputs>

=over 2

=item * I<max-throughput-limit>  =>   B<size>

=begin html

<br>Maximum Throughput Limit(in bytes per sec) at which the given import will be throttled.

=end html

=back



=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>Path of the LUN

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver containing the LUN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_import_verify_start

[B<Family:> cluster]


=begin html

Start the verification of the foreign disk and LUN data. The import admin/operational state must be stopped/stopped or started/completed. The verification does a block for block comparison of the LUN and foreign disk. If the verification detects a mismatch between the foreign disk and LUN then the verify will stop.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>Path of the LUN

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver containing the LUN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_import_verify_stop

[B<Family:> cluster]


=begin html

Stop the verify for the specified LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>Path of the LUN

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver containing the LUN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_initiator_list_map_info

[B<Family:> cluster, vserver]


=begin html

List all the LUNs mapped to an initiator

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>initiator to check

=end html

=back



B<Outputs>

=over 2

=item * I<lun-maps>  =>   B<L<"lun-map-info">[], optional>

=begin html

<br>List of lun maps for the given initiator.

=end html

=back



=head2 lun_initiator_logged_in

[B<Family:> vserver]


=begin html

Determine if an initiator is logged in via FCP or iSCSI.

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Name of FCP or iSCSI initiator to check.

=end html

=back



B<Outputs>

=over 2

=item * I<is-logged-in>  =>   B<boolean>

=begin html

<br>true if initiator is logged into the filer, false otherwise.

=end html

=back



=head2 lun_map

[B<Family:> vserver]


=begin html

Maps the LUN to all the initiators in the specified initiator group.

=end html



B<Inputs>

=over 2

=item * I<additional-reporting-node>  =>   B<node-name, optional>

=begin html

<br>Report the newly created LUN map from the specified node and its HA partner in addition to the current owning nodes of the LUN. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Forcibly map the lun, disabling mapping conflict checks with the high-availability partner. If not specified all conflict checks are performed. In Data ONTAP Cluster-Mode, this field is accepted for backwards compatibility and is ignored.

=end html

=back



=over 2

=item * I<initiator-group>  =>   B<string>

=begin html

<br>Initiator group to map to the given LUN.

=end html

=back



=over 2

=item * I<lun-id>  =>   B<integer, optional>

=begin html

<br>If the lun-id is not specified, the smallest number that can be used for the various initiators in the group is automatically picked.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<lun-id-assigned>  =>   B<integer>

=begin html

<br>LUN ID assigned for this map. If lun-id is not supplied, this will be an auto-assigned LUN ID, otherwise it will be the same as the supplied LUN ID if map is successful.

=end html

=back



=head2 lun_map_add_reporting_nodes

[B<Family:> vserver]


=begin html

Add nodes to the list reporting the LUN map. If no specific action is provided, adds all the nodes in the current failover group for the LUN.

=end html



B<Inputs>

=over 2

=item * I<all>  =>   B<boolean, optional>

=begin html

<br>When specified and true, report the LUN from all eligible nodes.

=end html

=back



=over 2

=item * I<destination-aggregate>  =>   B<string, optional>

=begin html

<br>The name of an aggregate. When specified, adds the nodes appropriate for the aggregate in preparation for a mobility event that will change the LUN's containing aggregate to the value specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>The name of a volume. When specified, addds teh nodes appropriate for the volume in preparation for a mobility event that will change the LUN's containing volume to the value specified.

=end html

=back



=over 2

=item * I<igroup>  =>   B<string>

=begin html

<br>The initiator group the LUN is mapped to.

=end html

=back



=over 2

=item * I<nodes>  =>   B<filer-id[], optional>

=begin html

<br>The name of one or more nodes. When specified, add the specific nodes and HA partners to the map.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_map_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of LUN map detail objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lun-map-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lun-map-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the LUN map detail object. All LUN map detail objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lun-map-info">[], optional>

=begin html

<br>The list of attributes of LUN map detail objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more LUN map detail objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=over 2

=item * I<volume-errors>  =>   B<L<"volume-error">[], optional>

=begin html

<br>List of errors encountered while retrieving LUN inventory

=end html

=back



=head2 lun_map_list_info

[B<Family:> vserver]


=begin html

Returns a list of initiator groups and their members (the initiators) mapped to the given LUN.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>LUN for which the initiator group list is requested.

=end html

=back



B<Outputs>

=over 2

=item * I<initiator-groups>  =>   B<L<"initiator-group-info">[], optional>

=begin html

<br>List of initiator groups that are mapped to the given LUN.

=end html

=back



=head2 lun_map_remove_reporting_nodes

[B<Family:> vserver]


=begin html

Remove nodes from the list reporting the LUN map. If no specific action is provided, remove all nodes not in the current failover group for the LUN.

=end html



B<Inputs>

=over 2

=item * I<igroup>  =>   B<string>

=begin html

<br>The initiator group the LUN is mapped to.

=end html

=back



=over 2

=item * I<nodes>  =>   B<filer-id[], optional>

=begin html

<br>The name of one or more nodes. When specified, remove the specific nodes and HA partners from the map.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_move

[B<Family:> vserver]


=begin html

Move (rename) a LUN.

=end html



B<Inputs>

=over 2

=item * I<new-path>  =>   B<string>

=begin html

<br>New path of the LUN being moved to.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN to be moved.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_move_cancel

[B<Family:> vserver]


=begin html

Cancels an ongoing LUN move operation prior to creation of the new LUN. This operation will fail if the LUN already exists at the destination path; in that case, allow the current move operation to complete and then move it back using the lun-move-start API.

=end html



B<Inputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) of the job that started this move operation.

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly moved as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. For LUN move operations that involve only one LUN, the lun-index value of zero is always correct.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_move_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of LUN move job detail objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lun-move-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lun-move-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the LUN move job detail object. All LUN move job detail objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lun-move-info">[], optional>

=begin html

<br>The list of attributes of LUN move job detail objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more LUN move job detail objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 lun_move_modify

[B<Family:> vserver]


=begin html

Modifies the maximum throughput of an ongoing move operation.

=end html



B<Inputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) of the job that started this move operation.

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly moved as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. For LUN move operations that involve only one LUN, the lun-index value of zero is always correct.

=end html

=back



=over 2

=item * I<max-throughput>  =>   B<size>

=begin html

<br>Specifies the maximum amount of data, in bytes, that can be transferred per second in support of this operation. This mechanism can be used to throttle a transfer, to reduce its impact on the performance of the source and destination nodes. Default: zero, indicating no throttling. NOTE: The specified value will be rounded up to the nearest megabyte.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_move_pause

[B<Family:> vserver]


=begin html

Pauses an ongoing LUN move operation. Use the lun-move-resume API to resume the move operation.

=end html



B<Inputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) of the job that started this move operation.

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly moved as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. For LUN move operations that involve only one LUN, the lun-index value of zero is always correct.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_move_resume

[B<Family:> vserver]


=begin html

Resumes a paused LUN move operation.

=end html



B<Inputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies the universally unique ID (UUID) of the job that started this move operation.

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly moved as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. For LUN move operations that involve only one LUN, the lun-index value of zero is always correct.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_move_start

[B<Family:> vserver]


=begin html

Starts a LUN move operation to move one or more LUNs from one volume to another within a Vserver. The destination volume can be located on the same node as the source volume or on a different node. NOTE: LUNs created from files cannot be moved.

=end html



B<Inputs>

=over 2

=item * I<max-throughput>  =>   B<integer, optional>

=begin html

<br>Specifies the maximum amount of data, in bytes, that can be transferred per second in support of this operation. This mechanism can be used to throttle a transfer, to reduce its impact on the performance of the source and destination nodes. Default: zero, indicating no throttling. NOTE: The specified value will be rounded up to the nearest megabyte.

=end html

=back



=over 2

=item * I<paths>  =>   B<L<"lun-path-pair">[]>

=begin html

<br>Specifies an array of source and destination path pairs. If more than one pair of paths is specified, multiple LUNs will be moved. All the source LUNs must be on the same volume. All the LUNs must be moved into a single volume.

=end html

=back



=over 2

=item * I<promote-late>  =>   B<boolean, optional>

=begin html

<br>Specifies that the destination needs to be promoted late. Default: false. If the destination is promoted early, the new LUN will be visible immediately. Snapshots of the volume containing the new LUN cannot be taken until the LUN move operation reaches 'Moving Data' status. If the destination is promoted late, the new LUN will be visible only after it has been fully framed. The LUN move job will not block snapshots of the volume containing the new LUN.

=end html

=back



=over 2

=item * I<reference-path>  =>   B<string, optional>

=begin html

<br>Specifies the full path to the source reference LUN, of the form /vol/<volume>[/<qtree>]/<lun>. If a reference LUN is specified, data for other LUNs being moved will be transferred as a difference from the reference LUN. This might save bandwidth and destination storage if the specified source LUNs share blocks. If provided, this input must be the same as one of the source LUN paths. This input is not allowed if only one source LUN is specified.

=end html

=back



B<Outputs>

=over 2

=item * I<job-uuid>  =>   B<uuid>

=begin html

<br>Specifies universally unique ID (UUID) for the LUN move job.

=end html

=back



=head2 lun_offline

[B<Family:> vserver]


=begin html

Disables block-protocol accesses to the LUN. Mappings, if any, configured for the lun are not altered. Note that unless explicitly offlined, a lun is online.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_online

[B<Family:> vserver]


=begin html

Re-enables block-protocol accesses to the lun.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Forcibly online the lun, disabling mapping conflict checks with the high-availability partner. If not specified all conflict checks are performed. In Data ONTAP Cluster-Mode, this field is accepted for backwards compatibility and is ignored.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_os_type_list

[B<Family:> cluster]


=begin html

Displays the supported values and descriptions for lun-os-type.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<ostypes>  =>   B<L<"system-api-enum-value-info">[]>

=begin html

<br>Enumeration type name/value pair

=end html

=back



=head2 lun_port_has_scsi_reservations

[B<Family:> vserver]


=begin html

Queries for all types of scsi reservations covering both iSCSI and FCP for a given initiator name. Initiator name can be FCP portname in case of FCP or iSCSI node name for iSCSI.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the lun. The path should start with '/vol/'.

=end html

=back



=over 2

=item * I<portname>  =>   B<string>

=begin html

<br>Initiator FCP portname or iSCSI node name.

=end html

=back



B<Outputs>

=over 2

=item * I<is-reservation-held>  =>   B<boolean>

=begin html

<br>'true' if given LUN has a scsi-2 or scsi-3 style reservation held, 'false' otherwise.

=end html

=back



=head2 lun_resize

[B<Family:> vserver]


=begin html

Changes the size of the LUN. Note that client-side operations may be needed to ensure that client software recognizes the changed size. For Data ONTAP Cluster-Mode 8.3 and later, LUN resize is not allowed while the LUN is in import relationship with a Foreign LUN.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Forcibly reduce the size. This is required for reducing the size of the LUN to avoid accidentally reducing the LUN size.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



=over 2

=item * I<size>  =>   B<integer>

=begin html

<br>New size for the LUN.

=end html

=back



B<Outputs>

=over 2

=item * I<actual-size>  =>   B<integer>

=begin html

<br>Actual new size. This may be different from the specified size due to the requested size not fitting on a cylinder boundary.

=end html

=back



=head2 lun_set_attribute

[B<Family:> vserver]


=begin html

Set a named attribute for a given LUN. Attributes are arbitrary key/value pairs for application-defined use.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Application-defined attribute to set. In order to prevent conflicts between separate applications, it is recommended that applications prefix attribute names with their registered Internet domain name reversed component by component, and an application identifier. For example: "com.example.widgetapp.attribute". The following attributes are reserved by the system and may not be set: "custom", "cylinder_size", "dev_id", "enabled", "extent_size", "host_stamp", "path_last", "pserial", "pSerial", "serial", "snapshot", "snapshot_path_last", "type". In older versions of Data ONTAP, attempting to set a system-reserved attribute may adversely affect data integrity and availability of the storage system. Clients of this API must therefore take special care to not use any system-reserved attribute names.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value to set the attribute to. In Data ONTAP Cluster-mode, the combined size of "name" and "value" must not exceed 4092 bytes.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_set_comment

[B<Family:> vserver]


=begin html

Set the optional descriptive comment for a LUN.

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string>

=begin html

<br>Comment to set for given LUN.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_set_device_id

[B<Family:> vserver]


=begin html

Set a SCSI peripheral device identifying information value on a LUN. In Data ONTAP 7-Mode, the value set will be returned in response to the vendor unique SCSI command GET DEV ID. In Data ONTAP Cluster-Mode, the value set will be returned in response to the SCSI command REPORT IDENTIFYING INFORMATION for the appropriate INFORMATION TYPE: <ul> <li> 0000000b - Peripheral Device Identifying Information, a binary string 1 to 64 bytes long. In addition, if the Peripheral Device Identifying Information is between 00000001h (1d) and 0000270Fh (9999d), it will be returned in response to the vendor unique SCSI command GET DEV ID. <li> 0000010b - Peripheral Device Text Identifying Information, a UTF-8 string 1 to 255 bytes long. </ul> Either or both peripheral device identifying information values may be set or cleared independently.

=end html



B<Inputs>

=over 2

=item * I<device-id>  =>   B<string>

=begin html

<br>SCSI Peripheral Device Identifying Information. In Data ONTAP 7-Mode or if device-id-type is "legacy", the value must be an integer in the range [1..9999]. If device-id-type is "binary", the value must be a 2 to 64 byte value encoded as a hexadecimal string, for example "0000270F". If device-id-type is "text", the value is a free-form UTF-8 string between 1 and 255 bytes in length.

=end html

=back



=over 2

=item * I<device-id-type>  =>   B<string, optional>

=begin html

<br>Indicate which peripheral device identifying information value to change. Possible values: <ul> <li> "legacy" - Set the Peripheral Device Identifying Information for REPORT IDENTIFYING INFORMATION (INFORMATION TYPE 0000000b) appropriate for the the vendor unique SCSI command GET DEV ID and in the format compatible with Data ONTAP 7-Mode, <li> "binary" - Set the Peripheral Device Identifying Information for REPORT IDENTIFYING INFORMATION (INFORMATION TYPE 0000000b). This format allows setting all 64 bytes of the identifying information, <li> "text" - Set the Peripheral Device Text Identifying Information for REPORT IDENTIFYING INFORMATION (INFORMATION TYPE 0000010b). </ul> The default value is "legacy".

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_set_qos_policy_group

[B<Family:> vserver]


=begin html

null

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>Path of the LUN

=end html

=back



=over 2

=item * I<qos-policy-group>  =>   B<string>

=begin html

<br>QoS Policy Group for the lun. Setting this value to 'none' removes the lun from a policy group

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_set_select_attribute

[B<Family:> vserver]


=begin html

Set the select attribute for the specified LUN. The select attribute is used by multi-pathing software to discriminate between LUNs when mirrored or cloned copies of a vdisk are mapped to the same host.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



=over 2

=item * I<select-value>  =>   B<string>

=begin html

<br>Sets the select attribute for the lun. Possible values: <ul> <li> "active" - this is an active lun, <li> "copy" - this is a clone or copy of an active lun, <li> "mirror" - this is a mirror of an active lun. </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_set_serial_number

[B<Family:> vserver]


=begin html

Set the serial number for the specified LUN. The lun must first be made offline before changing the serial number. Prior to Data ONTAP 8.1 release, the serial number is a 12-character string formed of upper and lower-case letters, numbers, and slash (/) and hyphen (-) characters. Starting Data ONTAP 8.1 release, the serial number is a 12-character string formed of upper and lower-case letters, numbers, and the characters /-#$%&*+<=>?[!]^~@ .

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Serial number for the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_set_space_alloc

[B<Family:> vserver]


=begin html

Modify the attributes of lun object.

=end html



B<Inputs>

=over 2

=item * I<enable>  =>   B<boolean>

=begin html

<br>LUN space allocation setting

=end html

=back



=over 2

=item * I<path>  =>   B<lun-path>

=begin html

<br>Path of the LUN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_set_space_reservation_info

[B<Family:> vserver]


=begin html

Sets the space reservation settings for the named LUN.

=end html



B<Inputs>

=over 2

=item * I<enable>  =>   B<boolean>

=begin html

<br>Enable or disable space reservation on this LUN.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path to the LUN for which the space reservations need to be set.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_stats_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of lun objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lun-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lun-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the lun object. All lun objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lun-stats-info">[], optional>

=begin html

<br>The list of attributes of lun objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more lun objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 lun_unmap

[B<Family:> vserver]


=begin html

Reverses the effect of lun-map on the specified LUN for the specified group. For Data ONTAP Cluster-Mode 8.3 and later, if LUN is in import relationship, the last LUN map can not be deleted.

=end html



B<Inputs>

=over 2

=item * I<initiator-group>  =>   B<string>

=begin html

<br>Initiator group to unmap from.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_unset_attribute

[B<Family:> vserver]


=begin html

Clear a named attribute for a given LUN.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of attribute to unset. The following attributes are reserved by the system and may not be unset: "custom", "cylinder_size", "dev_id", "enabled", "extent_size", "host_stamp", "path_last", "pserial", "pSerial", "serial", "snapshot", "snapshot_path_last", "type". In older versions of Data ONTAP, attempting to unset a system-reserved attribute may adversely affect data integrity and availability of the storage system. Clients of this API must therefore take special care to not use any system-reserved attribute names.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 lun_unset_device_id

[B<Family:> vserver]


=begin html

Remove a SCSI peripheral device identifying information value from a LUN.

=end html



B<Inputs>

=over 2

=item * I<device-id-type>  =>   B<string, optional>

=begin html

<br>Indicate which peripheral device identifying information to remove. Possible values: <ul> <li> "binary" - Remove the Peripheral Device Identifying Information returned in response to the SCSI commands REPORT IDENTIFYING INFORMATION (INFORMATION TYPE 0000000b) and GET DEV ID, <li> "text" - Remove the Peripheral Device Text Identifying Information returned in response to the SCSI command REPORT IDENTIFYING INFORMATION (INFORMATION TYPE 0000010b). </ul> The default value is "binary".

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_check_aggregate_eligibility_get

[B<Family:> cluster]


=begin html

This API returns information regarding the eligibility of aggregates to host configuration replication volumes used for the replication of metrocluster configuration data.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<aggr-name>

=begin html

<br>The aggregate being evaluated for config-replication volume hosting eligibility.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-check-aggregate-eligibility-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"metrocluster-check-aggregate-eligibility-info">>

=begin html

<br>The attributes of the metrocluster-check-aggregate-eligibility.

=end html

=back



=head2 metrocluster_check_aggregate_eligibility_get_iter

[B<Family:> cluster]


=begin html

This API returns information regarding the eligibility of aggregates to host configuration replication volumes used for the replication of metrocluster configuration data.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-check-aggregate-eligibility-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-check-aggregate-eligibility-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster-check-aggregate-eligibility object. All metrocluster-check-aggregate-eligibility objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-check-aggregate-eligibility-info">[], optional>

=begin html

<br>The list of attributes of metrocluster-check-aggregate-eligibility objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster-check-aggregate-eligibility objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_check_aggregate_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-check-aggregate-info objects

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-check-aggregate-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-check-aggregate-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-check-aggregate-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_check_capture_status_get

[B<Family:> cluster]


=begin html

This API returns information regarding the capture status of replicated metrocluster configuration data.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-check-capture-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"metrocluster-check-capture-status-info">>

=begin html

<br>The attributes of the metrocluster-check-capture-status.

=end html

=back



=head2 metrocluster_check_cluster_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-check-cluster-info objects

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-check-cluster-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-check-cluster-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-check-cluster-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_check_config_replication_get

[B<Family:> cluster]


=begin html

Obtain the results of the MetroCluster config replication checks.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-check-config-replication-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"metrocluster-check-config-replication-info">>

=begin html

<br>The attributes of the metrocluster.

=end html

=back



=head2 metrocluster_check_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-check-info objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-check-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-check-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-check-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_check_lif_repair_placement

[B<Family:> cluster]


=begin html

The MetroCluster-check-lif-repair-placement API verifies LIF placement in the destination cluster for the sync-source Vserver LIF in a MetroCluster setup.

=end html



B<Inputs>

=over 2

=item * I<lif>  =>   B<string, optional>

=begin html

<br>sync-source Vserver LIF

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>sync-source Vserver in the MetroCluster configuration

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_check_node_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-check-node-info objects

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-check-node-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-check-node-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-check-node-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_check_run

[B<Family:> cluster]


=begin html

The metrocluster-check-run API starts a check on the metrocluster configuration. A job will be spawned to operate on the metrocluster and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<skip-dr-simulation>  =>   B<boolean, optional>

=begin html

<br>If this is set to true, switchover and switchback simulations are skipped.

=end html

=back



=over 2

=item * I<start-on-node-and-skip-node-version-checks>  =>   B<string, optional>

=begin html

<br>Specify which Node Job Starts On and Skip Node Version Checks

=end html

=back



B<Outputs>

=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>Check Job Id

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 metrocluster_config_diff_get

[B<Family:> cluster]


=begin html

Provides the differences in attributes of a specified configuration instance between two clusters in DR relationship for MetroCluster. This helps in verifying if the configuration of interest is replicated correctly from source cluster to destination cluster. If the source configuration matches that of destination, EOBJECTNOTFOUND is returned, indicating that the difference is nil. This API can be invoked on the source cluster or destination cluster. Note: The configuration objects replicated as part of MetroCluster and their keys can potentially change from release to release. If a program has opted to use those as inputs for selection, it may have to be adjusted for updated versions of Data ONTAP.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"config-cluster-diff-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination-cluster-uuid>  =>   B<uuid>

=begin html

<br>External UUID of destination cluster

=end html

=back



=over 2

=item * I<instance>  =>   B<integer>

=begin html

<br>The count of object instance

=end html

=back



=over 2

=item * I<keys>  =>   B<key-value-pair[]>

=begin html

<br>List of key:value pairs of the specific configuration instance compared - for example, volume:vol1

=end html

=back



=over 2

=item * I<object>  =>   B<string>

=begin html

<br>The Cluster-Domain configuration object being compared - for example, aggrView

=end html

=back



=over 2

=item * I<source-cluster-uuid>  =>   B<uuid>

=begin html

<br>External UUID of source cluster

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"config-cluster-diff-info">>

=begin html

<br>The attributes of the metrocluster.

=end html

=back



=head2 metrocluster_config_diff_get_iter

[B<Family:> cluster]


=begin html

Provides the differences in configuration between two clusters in DR relationship for MetroCluster. If an object is not specified, the differences for all replicated objects are shown. If the source configuration matches that of destination, EOBJECTNOTFOUND is returned, indicating that the difference is nil. This API can be invoked on the source cluster or destination cluster. Note: The configuration objects replicated as part of MetroCluster and their keys can potentially change from release to release. If a program has opted to use those as inputs for selection, it may have to be adjusted for updated versions of Data ONTAP.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"config-cluster-diff-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"config-cluster-diff-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"config-cluster-diff-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_config_replication_cluster_storage_configuration_get

[B<Family:> cluster]


=begin html

The metrocluster-config-replication-cluster-storage-configuration-get API returns information regarding the configuration of the cluster-wide storage associated with cross-cluster replication of metrocluster configuration data. <p> On Data ONTAP 8.3, metrocluster cannot be enabled simultaneously with Async Vserver DR. For this reason this command will return an error if Async Vserver DR is currently enabled on the cluster. <p>

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-cr-storage-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"metrocluster-cr-storage-info">>

=begin html

<br>The attributes of the metrocluster.

=end html

=back



=head2 metrocluster_config_replication_cluster_storage_configuration_modify

[B<Family:> cluster]


=begin html

The metrocluster-config-replication-cluster-storage-configuration-modify API modifies nformation regarding the configuration of the cluster-wide storage associated with cross-cluster replication of metrocluster configuration data. <p> If input is not provided for a particular value, then the item is not modified in the storage configuration. <p> On Data ONTAP 8.3, metrocluster cannot be enabled simultaneously with Async Vserver DR. For this reason this command will return an error if Async Vserver DR is currently enabled on the cluster. <p>

=end html



B<Inputs>

=over 2

=item * I<disallowed-aggregates>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies the list of aggregates that are disallowed for use by the metrocluster configuration replication. An admin may modify this value to exclude aggregates.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_config_replication_resync_status_get

[B<Family:> cluster]


=begin html

Get MetroCluster configuration replication synchronization information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-config-replication-resync-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"metrocluster-config-replication-resync-status-info">>

=begin html

<br>The attributes of the metrocluster.

=end html

=back



=head2 metrocluster_configure

[B<Family:> cluster]


=begin html

The metrocluster-configure API configures a node and its DR partner to mirror NVRAM and be configured to participate in a DR switchover. A job will be spawned to operate on the metrocluster and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node

=end html

=back



=over 2

=item * I<refresh>  =>   B<boolean, optional>

=begin html

<br>This optional parameter, if set to true, causes the node to refresh the configuration of its partners and to discard the previous configuration. This is defaulted to false

=end html

=back



=over 2

=item * I<start-on-node-and-skip-node-version-checks>  =>   B<string, optional>

=begin html

<br>Specify which Node Job Starts On and Skip Node Version Checks

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 metrocluster_create_periodic_job

[B<Family:> cluster]


=begin html

The create-periodic-job API creates the periodic check job.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_delete_periodic_job

[B<Family:> cluster]


=begin html

The delete-periodic-job API deletes the periodic check job.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_disable_periodic_check

[B<Family:> cluster]


=begin html

The metrocluster-disable-periodic-check API disables periodic check on the metrocluster configuration.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_enable_periodic_check

[B<Family:> cluster]


=begin html

The enable-periodic-check API enables periodic check on the metrocluster configuration.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_get

[B<Family:> cluster]


=begin html

Get MetroCluster configuration information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"metrocluster-info">>

=begin html

<br>The attributes of the metrocluster.

=end html

=back



=head2 metrocluster_heal

[B<Family:> cluster]


=begin html

The metrocluster-heal API heals aggregates and partner roots in preparation for a DR switchback. Healing of aggregates and partner roots is done in two phases by the admin. DR partner nodes must be powered off and remote disk shelves must be powered on before calling this API. A job will be spawned to operate on the metrocluster and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<healing-phase>  =>   B<string>

=begin html

<br>Specifies the healing phase. The first phase heals aggregates by resyncing mirrored plexes and replaying the nvlogs of non-mirrored aggregates. The second phase heals the root aggregates of partner nodes. Possible values: <ul> <li> "aggregates" , <li> "root_aggregates" </ul>

=end html

=back



=over 2

=item * I<start-on-node-and-skip-node-version-checks>  =>   B<string, optional>

=begin html

<br>Specify which Node Job Starts On and Skip Node Version Checks

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 metrocluster_interconnect_adapter_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-interconnect-adapter objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-interconnect-adapter">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-interconnect-adapter">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster interconnect adapter object. All metrocluster interconnect adapter objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-interconnect-adapter">[], optional>

=begin html

<br>The list of attributes of metrocluster interconnect adapter objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster interconnect adapter objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_interconnect_ipfo_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-interconnect-ipfo objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-interconnect-ipfo">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-interconnect-ipfo">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster interconnect ipfo object. All metrocluster interconnect ipfo objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-interconnect-ipfo">[], optional>

=begin html

<br>The list of attributes of metrocluster interconnect ipfo objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster interconnect ipfo objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_interconnect_mirror_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-interconnect-mirror objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-interconnect-mirror">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-interconnect-mirror">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster interconnect mirror object. All metrocluster interconnect mirror objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-interconnect-mirror">[], optional>

=begin html

<br>The list of attributes of metrocluster interconnect mirror objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster interconnect mirror objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_interconnect_mirror_multipath_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-interconnect-mirror-multipath objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-interconnect-mirror-multipath">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-interconnect-mirror-multipath">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster interconnect mirror multipath object. All metrocluster interconnect mirror multipath objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-interconnect-mirror-multipath">[], optional>

=begin html

<br>The list of attributes of metrocluster interconnect mirror multipath objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster interconnect mirror multipath objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_is_configured

[B<Family:> cluster]


=begin html

The metrocluster-is-configured API returns a value indicating if the cluster is configured for MetroCluster.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<is-mcc-config>  =>   B<boolean>

=begin html

<br>Is MetroCluster Configured

=end html

=back



=head2 metrocluster_node_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-node-info objects belonging to MetroCluster nodes

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-node-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-node-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-node-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_operation_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of MetroCluster operations and their details

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-operation-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-operation-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-operation-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_operation_statistics_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Metrocluster operation statistics.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-operation-statistics-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-operation-statistics-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-operation-statistics-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_progress_table_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-progress-table-info objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-progress-table-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-progress-table-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-progress-table-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_show_lif_placement_failures_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of LIF placement failures in a MetroCluster setup.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-show-lif-placement-failures">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-show-lif-placement-failures">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-show-lif-placement-failures">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_switchback

[B<Family:> cluster]


=begin html

The metrocluster-switchback API initiates the switchback of storage and client access from nodes in the DR site to their home nodes. The home nodes and storage shelves must be powered on and reachable by nodes in the DR site. The metrocluster heal-aggregates and metrocluster heal-roots APIs must have successfully completed before running the metrocluster-switchback API. A job will be spawned to operate on the metrocluster and the job id will be returned. The progress of the job can be tracked using the job APIs. A job will be spawned to operate on the metrocluster and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<override-cluster-stream-resync-errors>  =>   B<boolean, optional>

=begin html

<br>If this optional parameter is set to true, the system overrides errors during the cluster stream resync phase that might prevent the switchback operation. This is defaulted to false

=end html

=back



=over 2

=item * I<override-vetoes>  =>   B<boolean, optional>

=begin html

<br>If this optional parameter is set to true, the system overrides subsystem vetoes that might prevent the switchback operation. This is defaulted to false

=end html

=back



=over 2

=item * I<override-vserver-stream-resync-errors>  =>   B<boolean, optional>

=begin html

<br>If this optional parameter is set to true, the system overrides errors during the vserver stream resync phase that might prevent the switchback operation. This is defaulted to false

=end html

=back



=over 2

=item * I<simulate>  =>   B<boolean, optional>

=begin html

<br>If this optional parameter is set to true, the system runs a simulation of the switchback operation to make sure all the prerequisites for the operation are met. This is defaulted to false.

=end html

=back



=over 2

=item * I<start-on-node-and-skip-node-version-checks>  =>   B<string, optional>

=begin html

<br>Specify which Node Job Starts On and Skip Node Version Checks

=end html

=back



B<Outputs>

=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>Switchback Job Id

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 metrocluster_switchover

[B<Family:> cluster]


=begin html

The metrocluster-switchover API initiates the switchover of storage and client access from a disaster stricken site to the DR site. Nodes in the disaster stricken site must be powered off and unreachable by nodes in the DR site before initiating the switchover operation. A job will be spawned to operate on the metrocluster and the job id will be returned. The progress of the job can be tracked using the job APIs. A job will be spawned to operate on the metrocluster and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<automatic>  =>   B<boolean, optional>

=begin html

<br>This is a hidden option. It is used when Automatic USO is done programatically in 2-node MCC configurations.

=end html

=back



=over 2

=item * I<force-nvfail-all>  =>   B<boolean, optional>

=begin html

<br>If set to true, all volumes being switched over will have their in-nvfailed-state set to true by the switchover API. Also the force-nvfail-on-dr option will be set to true on the volumes that are not already enabled. The default value is false.

=end html

=back



=over 2

=item * I<forced-on-disaster>  =>   B<boolean, optional>

=begin html

<br>This option is used when all the nodes on the disaster stricken site are powered off and unreachable. In absence of this parameter, the command implies a planned switchover operation

=end html

=back



=over 2

=item * I<override-vetoes>  =>   B<boolean, optional>

=begin html

<br>If this optional parameter is used, the system overrides subsystem vetoes that might prevent the switchover operation

=end html

=back



=over 2

=item * I<retry-failed-nodes>  =>   B<string[], optional>

=begin html

<br>This optional parameter is available at the advanced privilege level. When a list of nodes is specified by name or UUID, the switchover API is directed to those nodes only. The option is used to make the list of nodes redo a previously failed switchover operation. By default all eligible nodes are switched over

=end html

=back



=over 2

=item * I<simulate>  =>   B<boolean, optional>

=begin html

<br>If this optional parameter is set to true, the system runs a simulation of the negotiated switchover operation to make sure all the prerequisites for the operation are met. This is defaulted to false.

=end html

=back



=over 2

=item * I<start-on-node-and-skip-node-version-checks>  =>   B<string, optional>

=begin html

<br>Specify which Node Job Starts On and Skip Node Version Checks

=end html

=back



B<Outputs>

=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>Switchover Job Id

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 metrocluster_unconfigure

[B<Family:> cluster]


=begin html

The metrocluster-unconfigure API wipes the configuration from nodes in a DR group which are in the local cluster where the API is issued. This includes all the nodes in the specified DR group in that local cluster. Nodes in the DR group are disallowed from participating in the metrocluster switchover after the configuration has been wiped. This API is used to tear down a metrocluster setup. The tear down of a node is completed when the hardware that activates the node for metrocluster, such as an FC-VI adapter, is removed or deactivated. A job will be spawned to operate on the metrocluster and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<dr-group-id>  =>   B<integer, optional>

=begin html

<br>Identifier for the DR group

=end html

=back



=over 2

=item * I<start-on-node-and-skip-node-version-checks>  =>   B<string, optional>

=begin html

<br>Specify which Node Job Starts On and Skip Node Version Checks

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 metrocluster_vserver_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-vserver-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-vserver-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster object. All metrocluster objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-vserver-info">[], optional>

=begin html

<br>The list of attributes of metrocluster objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_vserver_resync

[B<Family:> cluster]


=begin html

Resynchronize Vserver with it's partner Vserver

=end html



B<Inputs>

=over 2

=item * I<cluster-name>  =>   B<cluster-name>

=begin html

<br>Name of the Cluster which contains the Vserver

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string>

=begin html

<br>Vserver in the MetroCluster relationship

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_configuration_settings_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-configuration-settings-info objects

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-configuration-settings-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-configuration-settings-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster-configuration-settings object. All metrocluster-configuration-settings objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-configuration-settings-info">[], optional>

=begin html

<br>The list of attributes of metrocluster-configuration-settings objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster-configuration-settings objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_connection_connect_async

[B<Family:> cluster]


=begin html

Configure the connections that mirror the NV logs and access remote storage between partner nodes in MetroCluster sertup A job will be spawned to operate on the metrocluster-connection and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 metrocluster_connection_disconnect_async

[B<Family:> cluster]


=begin html

Tear down the connections that mirror the NV logs and access remote storage between partner nodes in MetroCluster setup A job will be spawned to operate on the metrocluster-connection and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<dr-group-id>  =>   B<integer>

=begin html

<br>DR Group ID

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 metrocluster_connection_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-connection-info objects

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-connection-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-connection-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster-connection object. All metrocluster-connection objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-connection-info">[], optional>

=begin html

<br>The list of attributes of metrocluster-connection objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster-connection objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_dr_group_create

[B<Family:> cluster]


=begin html

Create MetroCluster DR group

=end html



B<Inputs>

=over 2

=item * I<local-node>  =>   B<string>

=begin html

<br>Local Node Name

=end html

=back



=over 2

=item * I<partner-cluster>  =>   B<string>

=begin html

<br>Partner Cluster Name

=end html

=back



=over 2

=item * I<remote-node>  =>   B<string>

=begin html

<br>Remote Node Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_dr_group_delete

[B<Family:> cluster]


=begin html

Delete MetroCluster DR group

=end html



B<Inputs>

=over 2

=item * I<dr-group-id>  =>   B<integer>

=begin html

<br>Dr group Id

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_dr_group_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-dr-group-info objects

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-dr-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-dr-group-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster-dr-group object. All metrocluster-dr-group objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-dr-group-info">[], optional>

=begin html

<br>The list of attributes of metrocluster-dr-group objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster-dr-group objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 metrocluster_interface_create

[B<Family:> cluster]


=begin html

Create a MetroCluster Interface

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<string>

=begin html

<br>Network Address

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string>

=begin html

<br>Cluster Name

=end html

=back



=over 2

=item * I<home-node>  =>   B<string>

=begin html

<br>Home Node

=end html

=back



=over 2

=item * I<home-port>  =>   B<string>

=begin html

<br>Home Port

=end html

=back



=over 2

=item * I<netmask>  =>   B<string>

=begin html

<br>Netmask

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_interface_delete

[B<Family:> cluster]


=begin html

Delete a MetroCluster Interface

=end html



B<Inputs>

=over 2

=item * I<cluster-name>  =>   B<string>

=begin html

<br>Cluster Name

=end html

=back



=over 2

=item * I<home-node>  =>   B<string>

=begin html

<br>Home Node

=end html

=back



=over 2

=item * I<home-port>  =>   B<string>

=begin html

<br>Home Port

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 metrocluster_interface_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of metrocluster-interface-info objects

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"metrocluster-interface-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"metrocluster-interface-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the metrocluster-interface object. All metrocluster-interface objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"metrocluster-interface-info">[], optional>

=begin html

<br>The list of attributes of metrocluster-interface objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more metrocluster-interface objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 name_mapping_create

[B<Family:> vserver]


=begin html

Create a new name mapping for a Vserver.

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<ip-and-mask, optional>

=begin html

<br>IP address is an optional parameter which is used to match the client IP address while searching for a pattern that can be used as a replacement.

=end html

=back



=over 2

=item * I<direction>  =>   B<name-mapping-direction>

=begin html

<br>Direction in which the name mapping is applied. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<hostname>  =>   B<string, optional>

=begin html

<br>Hostname is an optional parameter which is used to match the client IP address with the list of IP addresses from mentioned hostname.

=end html

=back



=over 2

=item * I<pattern>  =>   B<string>

=begin html

<br>Pattern to use to match the name while searching for a name that can be used as a replacement. The pattern is a UNIX-style regular expression. Regular expressions are case-insensitive when mapping from Windows to UNIX, and they are case-sensitive for mappings from Kerberos to UNIX and UNIX to Windows.

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position of an existing name mapping in the list of name mappings for this Vserver.

=end html

=back



=over 2

=item * I<replacement>  =>   B<string>

=begin html

<br>The name that is to be used as a replacement if the pattern associated with this entry matches. The replacement is a string containing escape sequences representing subexpressions from the pattern, as in the UNIX 'sed' program.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the name-mapping on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"name-mapping-info">, optional>

=begin html

<br>The name-mapping created (keys or the entire object if requested)

=end html

=back



=head2 name_mapping_delete

[B<Family:> vserver]


=begin html

Delete an existing name mapping entry.

=end html



B<Inputs>

=over 2

=item * I<direction>  =>   B<name-mapping-direction>

=begin html

<br>Direction in which the name mapping is applied. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position of an existing name mapping in the list of name mappings for this Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of name mappings in the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"name-mapping-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"name-mapping-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the name-mapping object. All name-mapping objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"name-mapping-info">[], optional>

=begin html

<br>The list of attributes of name-mapping objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more name-mapping objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 name_mapping_insert

[B<Family:> vserver]


=begin html

Insert a name mapping into the table at a specified position.

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<ip-and-mask, optional>

=begin html

<br>This optional parameter specifies the IP address which can be used to match the client IP address with the pattern.

=end html

=back



=over 2

=item * I<direction>  =>   B<name-mapping-direction>

=begin html

<br>Direction in which the name mapping is applied. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<hostname>  =>   B<string, optional>

=begin html

<br>This optional parameter specifies the Hostname which can be used to match the client IP address with the list of IP addresses corresspoding to the provided hostname.

=end html

=back



=over 2

=item * I<pattern>  =>   B<string>

=begin html

<br>Pattern to use to match the name while searching for a name that can be used as a replacement. The pattern is a UNIX-style regular expression. Regular expressions are case-insensitive when mapping from Windows to UNIX, and they are case-sensitive for mappings from Kerberos to UNIX and UNIX to Windows.

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position within the set of name mappings that this new mapping will take. If a mapping already exists at this position, it will be moved to the next position in the list.

=end html

=back



=over 2

=item * I<replacement>  =>   B<string>

=begin html

<br>The name that is to be used as a replacement if the pattern associated with this entry matches. The replacement is a string containing escape sequences representing subexpressions from the pattern, as in the UNIX 'sed' program.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_modify

[B<Family:> vserver]


=begin html

Modify an existing name mapping entry.

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<ip-and-mask, optional>

=begin html

<br>IP address is an optional parameter which is used to match the client IP address while searching for a pattern that can be used as a replacement.

=end html

=back



=over 2

=item * I<direction>  =>   B<name-mapping-direction>

=begin html

<br>Direction in which the name mapping is applied. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<hostname>  =>   B<string, optional>

=begin html

<br>Hostname is an optional parameter which is used to match the client IP address with the list of IP addresses from mentioned hostname.

=end html

=back



=over 2

=item * I<pattern>  =>   B<string, optional>

=begin html

<br>Pattern to use to match the name while searching for a name that can be used as a replacement. The pattern is a UNIX-style regular expression. Regular expressions are case-insensitive when mapping from Windows to UNIX, and they are case-sensitive for mappings from Kerberos to UNIX and UNIX to Windows.

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position of an existing name mapping in the list of name mappings for this Vserver.

=end html

=back



=over 2

=item * I<replacement>  =>   B<string, optional>

=begin html

<br>The name that is to be used as a replacement if the pattern associated with this entry matches. The replacement is a string containing escape sequences representing subexpressions from the pattern, as in the UNIX 'sed' program.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_refresh_hostname

[B<Family:> vserver]


=begin html

Resolve The IP addresses for the configured Hostname.

=end html



B<Inputs>

=over 2

=item * I<direction>  =>   B<name-mapping-direction, optional>

=begin html

<br>Name Mapping Direction Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<hostname>  =>   B<string, optional>

=begin html

<br>Hostname

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_swap

[B<Family:> vserver]


=begin html

Swap the position of one name mapping with another. The position is the place in the sequence of name mappings in which the mappings are applied.

=end html



B<Inputs>

=over 2

=item * I<direction>  =>   B<string>

=begin html

<br>Direction in which the name mapping is applied.

=end html

=back



=over 2

=item * I<position>  =>   B<integer>

=begin html

<br>Position of an existing name mapping in the list of name mappings for this Vserver.

=end html

=back



=over 2

=item * I<with-position>  =>   B<integer>

=begin html

<br>Position of an existing name mapping entry in the list of name mappings for this Vserver. This entry will be swapped with the entry at 'position'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_unix_group_add_user

[B<Family:> vserver]


=begin html

Add a user to a UNIX group

=end html



B<Inputs>

=over 2

=item * I<group-name>  =>   B<string>

=begin html

<br>Specifies UNIX group name.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Specifies user's UNIX account name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_unix_group_create

[B<Family:> vserver]


=begin html

Create a new UNIX group.

=end html



B<Inputs>

=over 2

=item * I<group-id>  =>   B<integer>

=begin html

<br>Specifies an identification number for the UNIX group.

=end html

=back



=over 2

=item * I<group-name>  =>   B<string>

=begin html

<br>Specifies UNIX group name.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the UNIX group information on successful creation. Default: false

=end html

=back



=over 2

=item * I<skip-name-validation>  =>   B<boolean, optional>

=begin html

<br>Specifies if group name validation is skipped.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"unix-group-info">, optional>

=begin html

<br>The UNIX group information created (keys or the entire object if requested)

=end html

=back



=head2 name_mapping_unix_group_delete_user

[B<Family:> vserver]


=begin html

Delete a user from a UNIX group

=end html



B<Inputs>

=over 2

=item * I<group-name>  =>   B<string>

=begin html

<br>Specifies UNIX group name.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Specifies user's UNIX account name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_unix_group_destroy

[B<Family:> vserver]


=begin html

Destroy an existing UNIX group.

=end html



B<Inputs>

=over 2

=item * I<group-name>  =>   B<string>

=begin html

<br>Specifies UNIX group name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_unix_group_get

[B<Family:> vserver]


=begin html

Get the attributes of a UNIX group.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"unix-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<group-name>  =>   B<string>

=begin html

<br>Specifies UNIX group name.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"unix-group-info">>

=begin html

<br>The attributes of the UNIX group information.

=end html

=back



=head2 name_mapping_unix_group_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of UNIX groups.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"unix-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"unix-group-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the UNIX group information object. All UNIX group information objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"unix-group-info">[], optional>

=begin html

<br>The list of attributes of UNIX group information objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more UNIX group information objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 name_mapping_unix_group_modify

[B<Family:> vserver]


=begin html

Modify the attributes of a UNIX group.

=end html



B<Inputs>

=over 2

=item * I<group-id>  =>   B<integer, optional>

=begin html

<br>Specifies an identification number for the UNIX group.

=end html

=back



=over 2

=item * I<group-name>  =>   B<string>

=begin html

<br>Specifies UNIX group name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_unix_user_create

[B<Family:> vserver]


=begin html

Create a new UNIX user.

=end html



B<Inputs>

=over 2

=item * I<full-name>  =>   B<string, optional>

=begin html

<br>Specifies the full name of the UNIX user.

=end html

=back



=over 2

=item * I<group-id>  =>   B<integer>

=begin html

<br>Specifies the primary group identification number for the UNIX user.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the UNIX user information on successful creation. Default: false

=end html

=back



=over 2

=item * I<skip-name-validation>  =>   B<boolean, optional>

=begin html

<br>Specifies if user name validation is skipped.

=end html

=back



=over 2

=item * I<user-id>  =>   B<integer>

=begin html

<br>Specifies an identification number for the UNIX user.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Specifies user's UNIX account name.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"unix-user-info">, optional>

=begin html

<br>The UNIX user information created (keys or the entire object if requested)

=end html

=back



=head2 name_mapping_unix_user_destroy

[B<Family:> vserver]


=begin html

Destroy an existing UNIX user.

=end html



B<Inputs>

=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Specifies user's UNIX account name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_mapping_unix_user_get

[B<Family:> vserver]


=begin html

Get the attributes of a UNIX user.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"unix-user-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Specifies user's UNIX account name.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"unix-user-info">>

=begin html

<br>The attributes of the UNIX user information.

=end html

=back



=head2 name_mapping_unix_user_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of UNIX users.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"unix-user-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"unix-user-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the UNIX user information object. All UNIX user information objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"unix-user-info">[], optional>

=begin html

<br>The list of attributes of UNIX user information objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more UNIX user information objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 name_mapping_unix_user_modify

[B<Family:> vserver]


=begin html

Modify the attributes of a UNIX user.

=end html



B<Inputs>

=over 2

=item * I<full-name>  =>   B<string, optional>

=begin html

<br>Specifies the full name of the UNIX user.

=end html

=back



=over 2

=item * I<group-id>  =>   B<integer, optional>

=begin html

<br>Specifies the primary group identification number for the UNIX user.

=end html

=back



=over 2

=item * I<user-id>  =>   B<integer, optional>

=begin html

<br>Specifies an identification number for the UNIX user.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Specifies user's UNIX account name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_service_cache_group_membership_settings_get

[B<Family:> vserver]


=begin html

Get the name services group membership cache configuration of the Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"name-service-cache-group-membership-settings-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"name-service-cache-group-membership-settings-info">>

=begin html

<br>The attributes of the name-service-cache-group-membership-settings.

=end html

=back



=head2 name_service_cache_group_membership_settings_modify

[B<Family:> vserver]


=begin html

Modify the name services group membership cache configuration of the specified Vserver. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<grplist-ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live for Grplist

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled?

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_service_cache_hosts_settings_get

[B<Family:> vserver]


=begin html

Get the name services hosts cache configuration of the Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"name-service-cache-hosts-settings-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"name-service-cache-hosts-settings-info">>

=begin html

<br>The attributes of the name-service-cache-hosts-settings.

=end html

=back



=head2 name_service_cache_hosts_settings_modify

[B<Family:> vserver]


=begin html

Modify the name services hosts cache configuration of the specified Vserver. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled?

=end html

=back



=over 2

=item * I<is-negative-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Negative Cache Enabled?

=end html

=back



=over 2

=item * I<negative-ttl>  =>   B<time-interval, optional>

=begin html

<br>Negative Time to Live

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_service_cache_netgroup_settings_get

[B<Family:> vserver]


=begin html

Get the name services netgroup cache configuration of the Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"name-service-cache-netgroup-settings-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"name-service-cache-netgroup-settings-info">>

=begin html

<br>The attributes of the name-service-cache-netgroup-settings.

=end html

=back



=head2 name_service_cache_netgroup_settings_modify

[B<Family:> vserver]


=begin html

Modify the name services netgroup cache configuration of the specified Vserver. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled?

=end html

=back



=over 2

=item * I<is-negative-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Negative Cache Enabled?

=end html

=back



=over 2

=item * I<negative-ttl>  =>   B<time-interval, optional>

=begin html

<br>Negative Time to Live

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live

=end html

=back



=over 2

=item * I<ttl-members>  =>   B<time-interval, optional>

=begin html

<br>TTL for netgroup members

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_service_cache_unix_group_settings_get

[B<Family:> vserver]


=begin html

Get the name services UNIX group cache configuration of the Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"name-service-cache-unix-group-settings-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"name-service-cache-unix-group-settings-info">>

=begin html

<br>The attributes of the name-service-cache-unix-group-settings.

=end html

=back



=head2 name_service_cache_unix_group_settings_modify

[B<Family:> vserver]


=begin html

Modify the name services UNIX group cache configuration of the specified Vserver. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled?

=end html

=back



=over 2

=item * I<is-negative-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Negative Cache Enabled?

=end html

=back



=over 2

=item * I<is-propagation-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Propagation Enabled?

=end html

=back



=over 2

=item * I<negative-ttl>  =>   B<time-interval, optional>

=begin html

<br>Negative Time to Live

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_service_cache_unix_user_settings_get

[B<Family:> vserver]


=begin html

Get the name services UNIX users cache configuration of the Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"name-service-cache-unix-user-settings-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"name-service-cache-unix-user-settings-info">>

=begin html

<br>The attributes of the name-service-cache-unix-user-settings.

=end html

=back



=head2 name_service_cache_unix_user_settings_modify

[B<Family:> vserver]


=begin html

Modify the name services UNIX users cache configuration of the specified Vserver. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled?

=end html

=back



=over 2

=item * I<is-negative-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Negative Cache Enabled?

=end html

=back



=over 2

=item * I<is-propagation-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Propagation Enabled?

=end html

=back



=over 2

=item * I<negative-ttl>  =>   B<time-interval, optional>

=begin html

<br>Negative Time to Live

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 name_service_dns_statistics_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve DNS statistics of the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nameservice-dns-statistics">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"nameservice-dns-statistics">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the dns-statistics object. All dns-statistics objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"nameservice-dns-statistics">[], optional>

=begin html

<br>The list of attributes of dns-statistics objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more dns-statistics objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 name_service_nis_binding_detail_get

[B<Family:> vserver]


=begin html

Show bound NIS servers

=end html



B<Inputs>

=over 2

=item * I<bound-server>  =>   B<string>

=begin html

<br>Specifies the hostname/IP address of the NIS server in the domain.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"nis-binding-detail">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<string>

=begin html

<br>Specifies the NIS domain. For example: 'example.com'

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"nis-binding-detail">>

=begin html

<br>The attributes of the nis-binding-detail.

=end html

=back



=head2 name_service_nis_binding_detail_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of bound NIS servers

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nis-binding-detail">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"nis-binding-detail">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the nis-binding-detail object. All nis-binding-detail objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"nis-binding-detail">[], optional>

=begin html

<br>The list of attributes of nis-binding-detail objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more nis-binding-detail objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 name_service_nis_show_bound

[B<Family:> vserver]


=begin html

Show bound nis servers

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nis-domain-show-bound">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<string>

=begin html

<br>Specifies the NIS domain. For example: 'example.com'

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"nis-domain-show-bound">>

=begin html

<br>The attributes of the nis-show-bound.

=end html

=back



=head2 name_service_nis_show_bound_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of bound nis servers

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nis-domain-show-bound">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"nis-domain-show-bound">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the nis-show-bound object. All nis-show-bound objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"nis-domain-show-bound">[], optional>

=begin html

<br>The list of attributes of nis-show-bound objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more nis-show-bound objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 name_service_nis_statistics_get_iter

[B<Family:> cluster, vserver]


=begin html

Retrieve NIS statistics of the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nameservice-nis-statistics">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"nameservice-nis-statistics">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the nis-statistics object. All nis-statistics objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"nameservice-nis-statistics">[], optional>

=begin html

<br>The list of attributes of nis-statistics objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more nis-statistics objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 name_service_unix_group_fileonly_get

[B<Family:> vserver]


=begin html

Display Configuration for UNIX-Group file download

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"name-service-unix-group-fileonly-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"name-service-unix-group-fileonly-info">>

=begin html

<br>The attributes of the name-service-unix-group-fileonly.

=end html

=back



=head2 name_service_unix_user_fileonly_get

[B<Family:> vserver]


=begin html

Display Configuration for UNIX-User file download

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"name-service-unix-user-fileonly-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"name-service-unix-user-fileonly-info">>

=begin html

<br>The attributes of the name-service-unix-user-fileonly.

=end html

=back



=head2 nameservice_dns_statistics_clear

[B<Family:> cluster, vserver]


=begin html

Clear DNS statistics.

=end html



B<Inputs>

=over 2

=item * I<name-server>  =>   B<ip-address>

=begin html

<br>IP address of the name server.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Name of the Node.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nameservice_get_hostname_from_ipv4

[B<Family:> cluster]


=begin html

Get the host information from the IP address.

=end html



B<Inputs>

=over 2

=item * I<ip-address>  =>   B<string>

=begin html

<br>IPv4 address of the host to be resolved, in dotted decimal notation (for example, 10.56.10.125).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Name of the node over which the command is to be run.

=end html

=back



=over 2

=item * I<show-source>  =>   B<boolean, optional>

=begin html

<br>Source used for Lookup

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * I<canonical-name>  =>   B<string>

=begin html

<br>Canonical Host-Name of the IpAddress to be resolved

=end html

=back



=over 2

=item * I<source>  =>   B<string>

=begin html

<br>Source used for Lookup

=end html

=back



=head2 nameservice_get_ip_from_hostname

[B<Family:> cluster]


=begin html

Get the IP address information by using the host name.

=end html



B<Inputs>

=over 2

=item * I<address-family>  =>   B<address-family, optional>

=begin html

<br>Return Addresses for Family

=end html

=back



=over 2

=item * I<hostname>  =>   B<string>

=begin html

<br>Name of the host to be resolved

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Name of the node over which the command is to be run.

=end html

=back



=over 2

=item * I<show-source>  =>   B<boolean, optional>

=begin html

<br>Show Source used for lookup

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * I<ipaddress>  =>   B<ip-address[]>

=begin html

<br>One ip address, can be an IPv4 address in dotted-decimal format(for example, 192.168.11.12) or the textual representation of an IPv6 address (for example, 2001:DB8:0:0:8:800:200C:417A or 2001:DB8::8:800:200C:417A). No hostname resolution

=end html

=back



=over 2

=item * I<source>  =>   B<string>

=begin html

<br>Source used for Lookup

=end html

=back



=head2 nameservice_get_ipv4_from_hostname

[B<Family:> cluster]


=begin html

Get the IP address information from host name.

=end html



B<Inputs>

=over 2

=item * I<hostname>  =>   B<string>

=begin html

<br>Name of the host to be resolved

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Name of the node over which the command is to be run.

=end html

=back



=over 2

=item * I<show-source>  =>   B<boolean, optional>

=begin html

<br>Source used for Lookup

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * I<ipaddress>  =>   B<ip-address[]>

=begin html

<br>One ip address, can be an IPv4 address in dotted-decimal format(for example, 192.168.11.125).

=end html

=back



=over 2

=item * I<source>  =>   B<string>

=begin html

<br>Source used for Lookup

=end html

=back



=head2 nameservice_nis_statistics_clear

[B<Family:> cluster, vserver]


=begin html

Clear NIS statistics.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Name of the Node.

=end html

=back



=over 2

=item * I<server>  =>   B<ip-address>

=begin html

<br>IP address of the NIS server.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nameservice_nsswitch_create

[B<Family:> vserver]


=begin html

Create an Name Service Switch Configuration.

=end html



B<Inputs>

=over 2

=item * I<nameservice-database>  =>   B<nss-db-type>

=begin html

<br>Name Service Switch Database. Possible values are hosts, group, passwd, netgroup or name-map Possible values: <ul> <li> "hosts" - Hosts Database, <li> "group" - Group Database, <li> "passwd" - Password Database, <li> "netgroup" - Netgroup Database, <li> "namemap" - Name mapping database </ul>

=end html

=back



=over 2

=item * I<nameservice-sources>  =>   B<nss-source-type[]>

=begin html

<br>Order of looking up Name Service Switch Sources.Possible values are files, dns, ldap or nis Possible values: <ul> <li> "files" - Local File Name System service setup, <li> "dns" - Domain Name System service setup, <li> "ldap" - Lightweight Directory Access Protocol service setup, <li> "nis" - Network Information Service service setup </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the nsswitch on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"namservice-nsswitch-config-info">, optional>

=begin html

<br>The nsswitch created (keys or the entire object if requested)

=end html

=back



=head2 nameservice_nsswitch_destroy

[B<Family:> vserver]


=begin html

Destroy an existing Name Service Switch Configuration.

=end html



B<Inputs>

=over 2

=item * I<nameservice-database>  =>   B<nss-db-type>

=begin html

<br>Name Service Switch Database. Possible values are hosts, group, passwd, netgroup or name-map Possible values: <ul> <li> "hosts" - Hosts Database, <li> "group" - Group Database, <li> "passwd" - Password Database, <li> "netgroup" - Netgroup Database, <li> "namemap" - Name mapping database </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nameservice_nsswitch_get

[B<Family:> vserver]


=begin html

Get Name Service Switch Configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"namservice-nsswitch-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<nameservice-database>  =>   B<nss-db-type>

=begin html

<br>Name Service Switch Database. Possible values are hosts, group, passwd, netgroup or name-map Possible values: <ul> <li> "hosts" - Hosts Database, <li> "group" - Group Database, <li> "passwd" - Password Database, <li> "netgroup" - Netgroup Database, <li> "namemap" - Name mapping database </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"namservice-nsswitch-config-info">>

=begin html

<br>The attributes of the nsswitch.

=end html

=back



=head2 nameservice_nsswitch_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of Name Service Switch Configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"namservice-nsswitch-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"namservice-nsswitch-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the nsswitch object. All nsswitch objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"namservice-nsswitch-config-info">[], optional>

=begin html

<br>The list of attributes of nsswitch objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more nsswitch objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 nameservice_nsswitch_modify

[B<Family:> vserver]


=begin html

Modify the attributes of Name Service Switch Configuration.

=end html



B<Inputs>

=over 2

=item * I<nameservice-database>  =>   B<nss-db-type>

=begin html

<br>Name Service Switch Database. Possible values are hosts, group, passwd, netgroup or name-map Possible values: <ul> <li> "hosts" - Hosts Database, <li> "group" - Group Database, <li> "passwd" - Password Database, <li> "netgroup" - Netgroup Database, <li> "namemap" - Name mapping database </ul>

=end html

=back



=over 2

=item * I<nameservice-sources>  =>   B<nss-source-type[], optional>

=begin html

<br>Order of looking up Name Service Switch Sources.Possible values are files, dns, ldap or nis Possible values: <ul> <li> "files" - Local File Name System service setup, <li> "dns" - Domain Name System service setup, <li> "ldap" - Lightweight Directory Access Protocol service setup, <li> "nis" - Network Information Service service setup </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ndmp_node_session_info_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of ndmp objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ndmp-node-session-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ndmp-node-session-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ndmp object. All ndmp objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ndmp-node-session-info">[], optional>

=begin html

<br>The list of attributes of ndmp objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ndmp objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ndmp_node_session_kill

[B<Family:> cluster]


=begin html

Kill a NDMP session on a node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Name of the Node

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer>

=begin html

<br>Session Identifier

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ndmp_node_session_kill_all

[B<Family:> cluster]


=begin html

Kill all NDMP sessions on a node

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Name of the Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ndmp_password_generate

[B<Family:> vserver]


=begin html

Generate NDMP password for the given user in a specific Vserver context. The generated NDMP password is based on the actual login password for the user; hence it should be regenerated whenever the actual user password is changed.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ndmp-password-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>The user for which the password is to be generated.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ndmp-password-info">>

=begin html

<br>The attributes of the ndmp-password.

=end html

=back



=head2 ndmp_vserver_attributes_get_iter

[B<Family:> cluster, vserver]


=begin html

Get NDMP attributes for vserver.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ndmp-vserver-attributes-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ndmp-vserver-attributes-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ndmp object. All ndmp objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ndmp-vserver-attributes-info">[], optional>

=begin html

<br>The list of attributes of ndmp objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ndmp objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ndmp_vserver_attributes_modify

[B<Family:> vserver]


=begin html

Modify NDMP attributes for vserver.

=end html



B<Inputs>

=over 2

=item * I<abort-on-disk-error>  =>   B<boolean, optional>

=begin html

<br>Enable Abort on Disk Error

=end html

=back



=over 2

=item * I<authtype>  =>   B<ndmpd-authtypes[], optional>

=begin html

<br>Authentication Type Possible values: <ul> <li> "plaintext" - plaintext authtype, <li> "challenge" - challenge authtype, <li> "plaintext_sso" - plaintext_sso authtype </ul>

=end html

=back



=over 2

=item * I<backup-log-enable>  =>   B<boolean, optional>

=begin html

<br>Enable Backup Log

=end html

=back



=over 2

=item * I<data-port-range>  =>   B<string, optional>

=begin html

<br>Data Port Range

=end html

=back



=over 2

=item * I<debug-enable>  =>   B<boolean, optional>

=begin html

<br>Enable Debug

=end html

=back



=over 2

=item * I<debug-filter>  =>   B<string, optional>

=begin html

<br>Debug Filter

=end html

=back



=over 2

=item * I<dump-detailed-stats>  =>   B<boolean, optional>

=begin html

<br>Enable Logging of VM Stats for Dump

=end html

=back



=over 2

=item * I<dump-logical-find>  =>   B<string, optional>

=begin html

<br>Enable Logical Find for Dump

=end html

=back



=over 2

=item * I<enable>  =>   B<boolean, optional>

=begin html

<br>Enable NDMP on Vserver

=end html

=back



=over 2

=item * I<fh-dir-retry-interval>  =>   B<integer, optional>

=begin html

<br>FH Throttle Value for Dir

=end html

=back



=over 2

=item * I<fh-node-retry-interval>  =>   B<integer, optional>

=begin html

<br>FH Throttle Value for Node

=end html

=back



=over 2

=item * I<ignore-ctime-enabled>  =>   B<boolean, optional>

=begin html

<br>Ignore Ctime

=end html

=back



=over 2

=item * I<is-secure-control-connection-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Secure Control Connection Enabled

=end html

=back



=over 2

=item * I<offset-map-enable>  =>   B<boolean, optional>

=begin html

<br>Enable Offset Map

=end html

=back



=over 2

=item * I<per-qtree-exclude-enable>  =>   B<boolean, optional>

=begin html

<br>Enable per Qtree Exclusion

=end html

=back



=over 2

=item * I<preferred-interface-role>  =>   B<netport-role[], optional>

=begin html

<br>Preferred Interface Role Possible values: <ul> <li> "undef" - No defined role, <li> "cluster" - Used for communication using the private cluster network, <li> "data" - Used for communicating with file service clients, <li> "node_mgmt" - Used by administrators to configure the node, <li> "intercluster" - Used for communication with a different cluster, <li> "cluster_mgmt" - Used by administrators to configure the cluster </ul>

=end html

=back



=over 2

=item * I<restore-vm-cache-size>  =>   B<integer, optional>

=begin html

<br>Restore VM File Cache Size

=end html

=back



=over 2

=item * I<secondary-debug-filter>  =>   B<string, optional>

=begin html

<br>Secondary Debug Filter

=end html

=back



=over 2

=item * I<tcpnodelay>  =>   B<boolean, optional>

=begin html

<br>Enable TCP Nodelay

=end html

=back



=over 2

=item * I<tcpwinsize>  =>   B<integer, optional>

=begin html

<br>TCP Window Size

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ndmp_vserver_service_disable

[B<Family:> vserver]


=begin html

Disable NDMP service on the vserver. Disabling ndmp service on the vserver will not cause any disruption to NDMP operations that are running. Executing this zapi when the ndmp service is already disabled will not result in any errors.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ndmp_vserver_service_enable

[B<Family:> vserver]


=begin html

Enable NDMP service on the vserver. Enabling ndmp service on the vserver will not cause any disruption to NDMP operations that are running. Executing this zapi when the ndmp service is already enabled will not result in any errors.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ndmp_vserver_session_info_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of ndmp objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ndmp-vserver-session-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ndmp-vserver-session-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ndmp object. All ndmp objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ndmp-vserver-session-info">[], optional>

=begin html

<br>The list of attributes of ndmp objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ndmp objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ndmp_vserver_session_kill

[B<Family:> vserver]


=begin html

Kill a NDMP session on a vserver

=end html



B<Inputs>

=over 2

=item * I<session-id>  =>   B<string>

=begin html

<br>Session Identifier

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ndmp_vserver_session_kill_all

[B<Family:> vserver]


=begin html

Kill all NDMP sessions on a vserver

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 data_lif_capacity

[B<Family:> cluster]


=begin html

Get the IP data LIF capacity of the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"data-lif-capacity-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"data-lif-capacity-info">>

=begin html

<br>The attributes of the net.

=end html

=back



=head2 data_lif_capacity_details

[B<Family:> cluster]


=begin html

Get the IP data LIF capacity details for each node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"data-lif-capacity-details-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"data-lif-capacity-details-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net object. All net objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"data-lif-capacity-details-info">[], optional>

=begin html

<br>The list of attributes of net objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_active_routes_get

[B<Family:> vserver]


=begin html

Get the attributes of the network route active-entry.

=end html



B<Inputs>

=over 2

=item * I<address-type>  =>   B<ipaddresstype>

=begin html

<br>Specify the address type. Possible values are ipv4 and ipv6. Possible values: <ul> <li> "unknown" , <li> "ipv4" , <li> "ipv6" , <li> "ipv4z" , <li> "ipv6z" , <li> "dns" </ul>

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"net-active-routes-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination>  =>   B<string>

=begin html

<br>Specify the route destination. Example: 10.7.125.5/20, fd20:13::/64

=end html

=back



=over 2

=item * I<interface>  =>   B<string>

=begin html

<br>Specify the route's interface.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Specify the name of the node.

=end html

=back



=over 2

=item * I<route-interface-address>  =>   B<string>

=begin html

<br>Specify the Route Interface Address.

=end html

=back



=over 2

=item * I<subnet-group>  =>   B<ip-and-mask>

=begin html

<br>Specify the name of the subnet group.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-active-routes-info">>

=begin html

<br>The attributes of the network route active-entry.

=end html

=back



=head2 net_active_routes_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of network route active-entry objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-active-routes-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-active-routes-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network route active-entry object. All network route active-entry objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-active-routes-info">[], optional>

=begin html

<br>The list of attributes of network route active-entry objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network route active-entry objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_arp_active_entry_destroy

[B<Family:> cluster]


=begin html

Delete dynamically learned ARP entries.

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node from which to remove the ARP active entry.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Port from which to remove the ARP active entry.

=end html

=back



=over 2

=item * I<remotehost>  =>   B<string>

=begin html

<br>Remote IP address which will be removed from the ARP active entry table.

=end html

=back



=over 2

=item * I<subnet-group-name>  =>   B<ip-and-mask>

=begin html

<br>Subnet group from which to remove the ARP active entry.

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vif-owner-name>

=begin html

<br>System or Admin Vserver from which to remove the ARP active entry.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_arp_active_entry_get

[B<Family:> cluster]


=begin html

Get the attributes of the network ARP active entry which is present in network stack of the node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-arp-operational-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node from which to get the ARP active entry.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Port name for which to get the ARP active entry.

=end html

=back



=over 2

=item * I<remote-host>  =>   B<string>

=begin html

<br>Remote IP address for which to get the ARP active entry.

=end html

=back



=over 2

=item * I<subnet-group>  =>   B<ip-and-mask>

=begin html

<br>Subnet group from which to get the ARP active entry.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>System or Admin Vserver from which to get the ARP active entry.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-arp-operational-info">>

=begin html

<br>The attributes of the network ARP active-entry

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace from which to get the ARP active entry.

=end html

=back



=over 2

=item * I<mac-address>  =>   B<string>

=begin html

<br>MAC address of remote host.

=end html

=back



=head2 net_arp_active_entry_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of network ARP active entries.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-arp-operational-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-arp-operational-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network ARP active-entry object. All network ARP active-entry objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-arp-operational-info">[], optional>

=begin html

<br>The list of attributes of network ARP active-entry objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network ARP active-entry objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_arp_create

[B<Family:> cluster, vserver]


=begin html

Create a new network ARP entry.

=end html



B<Inputs>

=over 2

=item * I<mac>  =>   B<mac-address>

=begin html

<br>MAC address of remote host.

=end html

=back



=over 2

=item * I<remotehost>  =>   B<ip-address>

=begin html

<br>Remote IP address which is to be added as the ARP entry.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Vserver in which to create the ARP entry.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_arp_destroy

[B<Family:> cluster, vserver]


=begin html

Delete an existing network ARP entry.

=end html



B<Inputs>

=over 2

=item * I<remotehost>  =>   B<ip-address>

=begin html

<br>Remote IP address which is to be deleted from the ARP entries.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Vserver in which to delete the ARP entry.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_arp_get

[B<Family:> cluster, vserver]


=begin html

Get the attributes of the network ARP entry which is present in Vserver.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-arp-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<remotehost>  =>   B<ip-address>

=begin html

<br>Remote IP address for which to get the ARP entry.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Vserver from which to get the ARP entry.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-arp-info">>

=begin html

<br>The attributes of the network ARP

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace from which to get the ARP entry.

=end html

=back



=over 2

=item * I<mac>  =>   B<mac-address>

=begin html

<br>MAC address of remote host.

=end html

=back



=head2 net_arp_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of network ARP entries.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-arp-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-arp-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network ARP object. All network ARP objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-arp-info">[], optional>

=begin html

<br>The list of attributes of network ARP objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network ARP objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_check_failover

[B<Family:> cluster]


=begin html

Get the list of LIFs at risk.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"lif-capacity-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"lif-capacity-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net object. All net objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<source-nodes>  =>   B<filer-id[]>

=begin html

<br>This is a list of nodes whose LIFs should be checked. LIFs considered at risk will be currently hosted on one of these nodes. This list should contain at most half the nodes in the cluster.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"lif-capacity-info">[], optional>

=begin html

<br>The list of attributes of net objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_cluster_ping

[B<Family:> cluster, vserver]


=begin html

Ping an IP address to verify whether the interface is alive

=end html



B<Inputs>

=over 2

=item * I<destination-address>  =>   B<string>

=begin html

<br>Specifies IPv4 address of the destination.

=end html

=back



=over 2

=item * I<interface>  =>   B<string, optional>

=begin html

<br>Specifies the LIF from which the ping request is to be sent. This element must be specified with interface-owner, and it is mutually exclusive with element node.

=end html

=back



=over 2

=item * I<interface-owner>  =>   B<string, optional>

=begin html

<br>Specifies the name of the owning vserver of the logical interface (LIF).

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Specifies the node from which ping request is to be sent. Element node is mutually exclusive with element lif.

=end html

=back



=over 2

=item * I<retry-count>  =>   B<integer, optional>

=begin html

<br>Specifies the number of ECHO_REQUEST retries for the given destination address. Ping stops upon first successful reply from the destination. Default: 20

=end html

=back



=over 2

=item * I<use-source-port>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to send out ping via the port which is hosting the lif. Only applicable when lif parameter when specified. Default: false

=end html

=back



=over 2

=item * I<wait>  =>   B<integer, optional>

=begin html

<br>Specifies inter packet time interval (secs) for sending ECHO_REQUEST. Default: 1

=end html

=back



=over 2

=item * I<wait-response>  =>   B<integer, optional>

=begin html

<br>Specifies the maximum number of milliseconds to wait for each ping response. Default: 10000 (10 secs)

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_cluster_ping6

[B<Family:> cluster, vserver]


=begin html

Ping an IPv6 address to verify whether the interface is alive

=end html



B<Inputs>

=over 2

=item * I<buffer-size>  =>   B<integer, optional>

=begin html

<br>Specifies the socket buffer size in bytes.

=end html

=back



=over 2

=item * I<destination-address>  =>   B<string>

=begin html

<br>Specifies IPv6 address of the destination.

=end html

=back



=over 2

=item * I<disable-fragmentation>  =>   B<boolean, optional>

=begin html

<br>Disallow fragmentation of the outgoing packets.

=end html

=back



=over 2

=item * I<disable-fragmentation-all>  =>   B<boolean, optional>

=begin html

<br>Fragment packets to fit into the minimum IPv6 maximum transmission unit size for both unicast and multicast addresses.

=end html

=back



=over 2

=item * I<disable-fragmentation-unicast>  =>   B<boolean, optional>

=begin html

<br>Fragment packets to fit into the minimum IPv6 maximum transmission unit size for unicast addresses.

=end html

=back



=over 2

=item * I<interface>  =>   B<string, optional>

=begin html

<br>Specifies the LIF from which the ping request is to be sent. This element must be specified with interface-owner, and it is optional with element node.

=end html

=back



=over 2

=item * I<interface-owner>  =>   B<string, optional>

=begin html

<br>Specifies the name of logical interface (LIF) owner or vserver. It may be a node or Vserver name.

=end html

=back



=over 2

=item * I<interval>  =>   B<integer, optional>

=begin html

<br>Specifies inter packet time interval (secs) for sending ECHO_REQUEST. Default: 1

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Specifies the node from which ping request is to be sent. Element node is mutually exclusive with element lif.

=end html

=back



=over 2

=item * I<packet-size>  =>   B<integer, optional>

=begin html

<br>Specifies the packet size in bytes.

=end html

=back



=over 2

=item * I<retry-count>  =>   B<integer, optional>

=begin html

<br>Specifies the number of ECHO_REQUEST retries for the given destination address. Ping stops upon first successful reply from the destination. Default: 20

=end html

=back



=over 2

=item * I<use-source-port>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to send out ping6 via the port which is hosting the lif. Only applicable when lif parameter is specified. Default: false

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_connections_receive_window_size_get

[B<Family:> cluster]


=begin html

Get the receive buffer size properties of a service

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"receive-buffer">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<network>  =>   B<network-type>

=begin html

<br>The network topology classification Possible values: <ul> <li> "wan" , <li> "lan" , <li> "undefined" </ul>

=end html

=back



=over 2

=item * I<protocol>  =>   B<protocol-layer4>

=begin html

<br>The network layer 4 protocol type Possible values: <ul> <li> "udp" - UDP, <li> "tcp" - TCP, <li> "na" - not_available </ul>

=end html

=back



=over 2

=item * I<service>  =>   B<stream-protocol-service>

=begin html

<br>The stream protocol connection classification Possible values: <ul> <li> "mount" - Mount stream protocol, <li> "nfs" - NFS stream protocol, <li> "nfs_v3" - NFS version 3 stream protocol, <li> "nlm_v4" - Network lock manager stream protocol, <li> "sm" - Session Manager stream protocol, <li> "ftp_ctrl" - FTP control stream protocol, <li> "ftp_data" - FTP data stream protocol, <li> "http_1_0" - HTTP version 1 stream protocol, <li> "http_1_1" - HTTP version 1.1 stream protocol, <li> "iscsi" - ISCSI stream protocol, <li> "cifs_srv" - CIFS server stream protocol, <li> "cifs_nam" - CIFS name server stream protocol, <li> "loopback" - loopback stream protocol, <li> "rf" - RC stream protocol, <li> "rawscp" - Raw secure copy stream protocol, <li> "discard" - Descard stream protocol, <li> "port_map" - Port map stream protocol, <li> "pass_thru" - Passthru stream protocol, <li> "rclopcp" - Rc connection stream protocol, <li> "nfs_v4" - NFS version 4 stream protocol, <li> "fcache" - Flex cache stream protocol, <li> "ctlopcp" - Ct connection stream protocol, <li> "rquota" - Rquota stream protocol, <li> "cifs_msrpc" - CIFS MsRpc stream protocol, <li> "http" - HTTP stream protocol, <li> "unknown" - unknown protocol </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"receive-buffer">>

=begin html

<br>The attributes of the net-connections-receive-window-size.

=end html

=back



=head2 net_connections_receive_window_size_get_iter

[B<Family:> cluster]


=begin html

Iterate over connections returning receive buffer size properties

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"receive-buffer">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"receive-buffer">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net-connections-receive-window-size object. All net-connections-receive-window-size objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"receive-buffer">[], optional>

=begin html

<br>The list of attributes of net-connections-receive-window-size objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net-connections-receive-window-size objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_connections_receive_window_size_modify

[B<Family:> cluster]


=begin html

Modify receive buffer size properties

=end html



B<Inputs>

=over 2

=item * I<network>  =>   B<network-type>

=begin html

<br>The network topology classification Possible values: <ul> <li> "wan" , <li> "lan" , <li> "undefined" </ul>

=end html

=back



=over 2

=item * I<protocol>  =>   B<protocol-layer4>

=begin html

<br>The network layer 4 protocol type Possible values: <ul> <li> "udp" - UDP, <li> "tcp" - TCP, <li> "na" - not_available </ul>

=end html

=back



=over 2

=item * I<receive-auto-tune>  =>   B<boolean, optional>

=begin html

<br>If true, allow the system to automatically adjust the receive buffer size. The default value is false for the ctlopcp service using the LAN network type, and true in all other cases.

=end html

=back



=over 2

=item * I<receive-buffer>  =>   B<integer, optional>

=begin html

<br>If receive-auto-tune is false, receive buffer size in kilobytes (1024). If receive-auto-tune flag is true, this value has no effect. The default value is 2048 for the ctlopcp service using the WAN network type, and 256 in other cases.

=end html

=back



=over 2

=item * I<service>  =>   B<stream-protocol-service>

=begin html

<br>The stream protocol connection classification Possible values: <ul> <li> "mount" - Mount stream protocol, <li> "nfs" - NFS stream protocol, <li> "nfs_v3" - NFS version 3 stream protocol, <li> "nlm_v4" - Network lock manager stream protocol, <li> "sm" - Session Manager stream protocol, <li> "ftp_ctrl" - FTP control stream protocol, <li> "ftp_data" - FTP data stream protocol, <li> "http_1_0" - HTTP version 1 stream protocol, <li> "http_1_1" - HTTP version 1.1 stream protocol, <li> "iscsi" - ISCSI stream protocol, <li> "cifs_srv" - CIFS server stream protocol, <li> "cifs_nam" - CIFS name server stream protocol, <li> "loopback" - loopback stream protocol, <li> "rf" - RC stream protocol, <li> "rawscp" - Raw secure copy stream protocol, <li> "discard" - Descard stream protocol, <li> "port_map" - Port map stream protocol, <li> "pass_thru" - Passthru stream protocol, <li> "rclopcp" - Rc connection stream protocol, <li> "nfs_v4" - NFS version 4 stream protocol, <li> "fcache" - Flex cache stream protocol, <li> "ctlopcp" - Ct connection stream protocol, <li> "rquota" - Rquota stream protocol, <li> "cifs_msrpc" - CIFS MsRpc stream protocol, <li> "http" - HTTP stream protocol, <li> "unknown" - unknown protocol </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_ddns_get

[B<Family:> vserver]


=begin html

Get the Dynamic DNS Update configuration of the Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ddns-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-ddns-info">>

=begin html

<br>The attributes of the ddns.

=end html

=back



=head2 net_ddns_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate through Dynamic DNS Update configurations of the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ddns-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-ddns-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ddns object. All ddns objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-ddns-info">[], optional>

=begin html

<br>The list of attributes of ddns objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ddns objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_ddns_modify

[B<Family:> vserver]


=begin html

Modify the Dynamic DNS Update configuration of the specified Vserver. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<domain-name>  =>   B<string, optional>

=begin html

<br>Vserver FQDN to Be Used for DNS Updates

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Dynamic DNS Update Enabled?

=end html

=back



=over 2

=item * I<skip-fqdn-validation>  =>   B<boolean, optional>

=begin html

<br>Specifies if the Vserver FQDN name validation is skipped.

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>TTL For the Dynamically Updated DNS Records. Maximum Supported Value Is 720h. Default: 24h.

=end html

=back



=over 2

=item * I<use-secure>  =>   B<boolean, optional>

=begin html

<br>Use Secure Dynamic DNS Updates?

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_device_discovery_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of network device discovery objects found by a discovery protocol such as CDP or LLDP.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-device-discovery-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-device-discovery-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net-device-discovery object. All net-device-discovery objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-device-discovery-info">[], optional>

=begin html

<br>The list of attributes of net-device-discovery objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net-device-discovery objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_dns_check_get_iter

[B<Family:> cluster, vserver]


=begin html

Display the status of a list of name servers

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"dns-status">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"dns-status">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the dns-check object. All dns-check objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"dns-status">[], optional>

=begin html

<br>The list of attributes of dns-check objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more dns-check objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_dns_create

[B<Family:> vserver]


=begin html

Creates DNS configuration for a Vserver

=end html



B<Inputs>

=over 2

=item * I<attempts>  =>   B<integer, optional>

=begin html

<br>Max number of trials before giving up and returning error. Default is one.

=end html

=back



=over 2

=item * I<dns-state>  =>   B<enable, optional>

=begin html

<br>Enable/Disable DNS. Possible values are 'enabled' or 'disabled'.

=end html

=back



=over 2

=item * I<domains>  =>   B<string[]>

=begin html

<br>List of DNS domains such as 'sales.bar.com'. The first domain is the one that the Vserver belongs to.

=end html

=back



=over 2

=item * I<is-tld-query-enabled>  =>   B<boolean, optional>

=begin html

<br>Use this parameter to enable or disable top-level domain (TLD) queries. TLD is a name that contains no dots. Default is true.

=end html

=back



=over 2

=item * I<name-servers>  =>   B<ip-address[]>

=begin html

<br>IPv4 addresses of name servers such as '123.123.123.123'.

=end html

=back



=over 2

=item * I<require-packet-query-match>  =>   B<boolean, optional>

=begin html

<br>Require query sections of query and response packets to match.

=end html

=back



=over 2

=item * I<require-source-address-match>  =>   B<boolean, optional>

=begin html

<br>Require source IP address of reply to match the name-server address.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the dns on successful creation. Default: false

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>Skip Configuration Validation

=end html

=back



=over 2

=item * I<timeout>  =>   B<integer, optional>

=begin html

<br>Number of seconds to wait for a response from a name server before trying a different name server. Default is two seconds.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"net-dns-info">, optional>

=begin html

<br>The dns created (keys or the entire object if requested)

=end html

=back



=head2 net_dns_get

[B<Family:> vserver]


=begin html

Get the DNS configuration of the Vserver

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-dns-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-dns-info">>

=begin html

<br>The attributes of the dns.

=end html

=back



=head2 net_dns_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate through DNS configurations of the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-dns-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-dns-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the dns object. All dns objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-dns-info">[], optional>

=begin html

<br>The list of attributes of dns objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more dns objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_dns_modify

[B<Family:> vserver]


=begin html

Modify the DNS configuration of the specified Vserver. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<attempts>  =>   B<integer, optional>

=begin html

<br>Max number of trials before giving up and returning error. Default is one.

=end html

=back



=over 2

=item * I<dns-state>  =>   B<enable, optional>

=begin html

<br>Enable/Disable DNS. Possible values are 'enabled' or 'disabled'.

=end html

=back



=over 2

=item * I<domains>  =>   B<string[], optional>

=begin html

<br>List of DNS domains such as 'sales.bar.com'. The first domain is the one that the Vserver belongs to.

=end html

=back



=over 2

=item * I<is-tld-query-enabled>  =>   B<boolean, optional>

=begin html

<br>Use this parameter to enable or disable top-level domain (TLD) queries. TLD is a name that contains no dots. Default is true.

=end html

=back



=over 2

=item * I<name-servers>  =>   B<ip-address[], optional>

=begin html

<br>IPv4 addresses of name servers such as '123.123.123.123'.

=end html

=back



=over 2

=item * I<require-packet-query-match>  =>   B<boolean, optional>

=begin html

<br>Require query sections of query and response packets to match.

=end html

=back



=over 2

=item * I<require-source-address-match>  =>   B<boolean, optional>

=begin html

<br>Require source IP address of reply to match the name-server address.

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>Skip Configuration Validation

=end html

=back



=over 2

=item * I<timeout>  =>   B<integer, optional>

=begin html

<br>Number of seconds to wait for a response from a name server before trying a different name server. Default is two seconds.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_external_route_table_create

[B<Family:> cluster]


=begin html

Create a new external routing table

=end html



B<Inputs>

=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the network cloud routing-table on successful creation. Default: false

=end html

=back



=over 2

=item * I<route-table-id>  =>   B<string>

=begin html

<br>Route Table ID

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"external-route-table-info">, optional>

=begin html

<br>The network cloud routing-table created (keys or the entire object if requested)

=end html

=back



=head2 net_external_route_table_delete

[B<Family:> cluster]


=begin html

Delete an existing external routing table

=end html



B<Inputs>

=over 2

=item * I<route-table-id>  =>   B<string>

=begin html

<br>Route Table ID

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_failover_group_add_targets

[B<Family:> cluster]


=begin html

Add failover targets to a failover group.

=end html



B<Inputs>

=over 2

=item * I<failover-group>  =>   B<string>

=begin html

<br>The failover group.

=end html

=back



=over 2

=item * I<targets>  =>   B<net-qualified-port-name[]>

=begin html

<br>The failover targets to add to the failover group. Format: node-name:port-name

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>The vserver for which the failover group is defined.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_failover_group_create

[B<Family:> cluster]


=begin html

Create a failover group. Failover groups are used to define a set of possible failover targets for LIFs on one or more nodes.

=end html



B<Inputs>

=over 2

=item * I<failover-group>  =>   B<string>

=begin html

<br>The failover group.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the Failover Group on successful creation. Default: false

=end html

=back



=over 2

=item * I<targets>  =>   B<net-qualified-port-name[]>

=begin html

<br>The list of potential failover targets to be used. Lifs within the specified vserver and assigned to the specified failover-group will use this list of failover targets as needed. Format: node-name:port-name

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>The vserver for which the failover group is defined.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"net-failover-group-info">, optional>

=begin html

<br>The Failover Group created (keys or the entire object if requested)

=end html

=back



=head2 net_failover_group_destroy

[B<Family:> cluster]


=begin html

Delete a failover group

=end html



B<Inputs>

=over 2

=item * I<failover-group>  =>   B<string>

=begin html

<br>The failover group.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>The vserver for which the failover group is defined.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_failover_group_get

[B<Family:> vserver]


=begin html

Get the attributes of a failover goup.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-failover-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<failover-group>  =>   B<string>

=begin html

<br>The failover group.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The node on which the failover target (a network port or interface group) is located.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>The network port or interface group in the failover group.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-failover-group-info">>

=begin html

<br>The attributes of the Failover Group.

=end html

=back



=head2 net_failover_group_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of failover group objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-failover-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-failover-group-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Failover Group object. All Failover Group objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-failover-group-info">[], optional>

=begin html

<br>The list of attributes of Failover Group objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Failover Group objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_failover_group_modify

[B<Family:> cluster]


=begin html

Modify a failover group.

=end html



B<Inputs>

=over 2

=item * I<failover-group>  =>   B<string>

=begin html

<br>The failover group.

=end html

=back



=over 2

=item * I<targets>  =>   B<net-qualified-port-name[], optional>

=begin html

<br>The list of potential failover targets to be used. Lifs within the specified vserver and assigned to the specified failover-group will use this list of failover targets as needed. Format: node-name:port-name

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>The vserver for which the failover group is defined.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_failover_group_remove_targets

[B<Family:> cluster]


=begin html

Remove failover targets from a failover group.

=end html



B<Inputs>

=over 2

=item * I<failover-group>  =>   B<string>

=begin html

<br>The failover group.

=end html

=back



=over 2

=item * I<targets>  =>   B<net-qualified-port-name[]>

=begin html

<br>The failover targets to remove from the failover group. Format: node-name:port-name

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>The vserver for which the failover group is defined.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_failover_group_rename

[B<Family:> cluster]


=begin html

Rename a failover group.

=end html



B<Inputs>

=over 2

=item * I<failover-group>  =>   B<node-name>

=begin html

<br>The failover group.

=end html

=back



=over 2

=item * I<new-failover-group-name>  =>   B<string>

=begin html

<br>The new name of the failover group.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>The vserver for which the failover group is defined.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_firewall_config_get

[B<Family:> cluster]


=begin html

Get the attributes of a firewall configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-firewall-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Specifies the node on which the firewall configiration is set.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-firewall-config-info">>

=begin html

<br>The attributes of the firewall configuration.

=end html

=back



=head2 net_firewall_config_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of firewall configuration objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-firewall-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-firewall-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the firewall configuration object. All firewall configuration objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-firewall-config-info">[], optional>

=begin html

<br>The list of attributes of firewall configuration objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more firewall configuration objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_firewall_config_modify

[B<Family:> cluster]


=begin html

Create a new firewall configuration.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether firewall protection is enabled (true) or disabled (false) for the node's network ports. The default setting is true.

=end html

=back



=over 2

=item * I<is-logging>  =>   B<boolean, optional>

=begin html

<br>This parameter has been deprecated in Data ONTAP 9.0, but is still returned for compatibility and may be removed in a future release. Specifies whether logging is enabled (true) or disabled (false) for the firewall service. The default setting is false.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Specifies the node on which the firewall configiration is set.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_firewall_config_modify_iter

[B<Family:> cluster]


=begin html

Modify the attributes of a firewall configuration or a group of firewall configuration objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"net-firewall-config-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple firewall configuration objects match a given query. If set to true, the API will continue modifying the next matching firewall configuration even when modification of a previous firewall configuration fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching firewall configuration even when the modification of a previous matching firewall configuration fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-firewall-config-info">>

=begin html

<br>If modifying a specific firewall configuration, this input element must specify all keys. If modifying firewall configuration objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of firewall configuration objects (just keys) that were not modified due to some error. If set to false, the list of firewall configuration objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of firewall configuration objects (just keys) that were successfully updated. If set to false, the list of firewall configuration objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"net-firewall-config-modify-iter-info">[], optional>

=begin html

<br>Information about firewall configuration objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching firewall configuration objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of firewall configuration objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of firewall configuration objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"net-firewall-config-modify-iter-info">[], optional>

=begin html

<br>The firewall configuration objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 net_firewall_policy_create

[B<Family:> cluster]


=begin html

Create a new firewall policy

=end html



B<Inputs>

=over 2

=item * I<allow-list>  =>   B<ip-and-mask[]>

=begin html

<br>Specifies the list of client IPs that are permitted to access the specified service running on LIFs with the specified policy. Format: <IP Address/Mask>

=end html

=back



=over 2

=item * I<policy>  =>   B<string>

=begin html

<br>Specifies the name of the firewall policy

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the firewall policy on successful creation. Default: false

=end html

=back



=over 2

=item * I<service>  =>   B<fw-service>

=begin html

<br>Specifies the network service that is associated with the firewall policy. A firewall policy can be associated with multiple services. Possible values include: <ul> <li> 'http: - The HTTP protocol', <li> 'https: - The HTTPS protocol', <li> 'ntp: - The NTP protocol', <li> 'rsh: - The RSH protocol', <li> 'snmp: - The SNMP protocol', <li> 'ssh: - The SSH protocol', <li> 'telnet: - The Telnet protocol', </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Specifies the name of the vserver on which the firewall policy is defined.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"net-firewall-policy-info">, optional>

=begin html

<br>The firewall policy created (keys or the entire object if requested)

=end html

=back



=head2 net_firewall_policy_destroy

[B<Family:> cluster]


=begin html

Destroy an existing firewall policy

=end html



B<Inputs>

=over 2

=item * I<policy>  =>   B<string>

=begin html

<br>Specifies the name of the firewall policy

=end html

=back



=over 2

=item * I<service>  =>   B<fw-service>

=begin html

<br>Specifies the network service that is associated with the firewall policy. A firewall policy can be associated with multiple services. Possible values include: <ul> <li> 'http: - The HTTP protocol', <li> 'https: - The HTTPS protocol', <li> 'ntp: - The NTP protocol', <li> 'rsh: - The RSH protocol', <li> 'snmp: - The SNMP protocol', <li> 'ssh: - The SSH protocol', <li> 'telnet: - The Telnet protocol', </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Specifies the name of the vserver on which the firewall policy is defined.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_firewall_policy_get

[B<Family:> vserver]


=begin html

Get the attributes of a firewall policy.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-firewall-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy>  =>   B<string>

=begin html

<br>Specifies the name of the firewall policy

=end html

=back



=over 2

=item * I<service>  =>   B<fw-service>

=begin html

<br>Specifies the network service that is associated with the firewall policy. A firewall policy can be associated with multiple services. Possible values include: <ul> <li> 'http: - The HTTP protocol', <li> 'https: - The HTTPS protocol', <li> 'ntp: - The NTP protocol', <li> 'rsh: - The RSH protocol', <li> 'snmp: - The SNMP protocol', <li> 'ssh: - The SSH protocol', <li> 'telnet: - The Telnet protocol', </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-firewall-policy-info">>

=begin html

<br>The attributes of the firewall policy.

=end html

=back



=head2 net_firewall_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of firewall policy objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-firewall-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-firewall-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the firewall policy object. All firewall policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-firewall-policy-info">[], optional>

=begin html

<br>The list of attributes of firewall policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more firewall policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_firewall_policy_modify

[B<Family:> cluster]


=begin html

Modify an existing firewall policy.

=end html



B<Inputs>

=over 2

=item * I<allow-list>  =>   B<ip-and-mask[], optional>

=begin html

<br>Specifies the list of client IPs that are permitted to access the specified service running on LIFs with the specified policy. Format: <IP Address/Mask>

=end html

=back



=over 2

=item * I<policy>  =>   B<string>

=begin html

<br>Specifies the name of the firewall policy

=end html

=back



=over 2

=item * I<service>  =>   B<fw-service>

=begin html

<br>Specifies the network service that is associated with the firewall policy. A firewall policy can be associated with multiple services. Possible values include: <ul> <li> 'http: - The HTTP protocol', <li> 'https: - The HTTPS protocol', <li> 'ntp: - The NTP protocol', <li> 'rsh: - The RSH protocol', <li> 'snmp: - The SNMP protocol', <li> 'ssh: - The SSH protocol', <li> 'telnet: - The Telnet protocol', </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Specifies the name of the vserver on which the firewall policy is defined.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_hosts_create

[B<Family:> vserver]


=begin html

Create a new IP to host names mapping

=end html



B<Inputs>

=over 2

=item * I<aliases>  =>   B<string[], optional>

=begin html

<br>The list of aliases such as 'host1.sales.foo.com'.

=end html

=back



=over 2

=item * I<host-ip-address>  =>   B<ip-address>

=begin html

<br>IPv4 address in dotted form as '123.123.123.123'.

=end html

=back



=over 2

=item * I<hostname>  =>   B<string>

=begin html

<br>Canonical hostname in a simple string or in FQDN

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the hosts on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"hosts-info">, optional>

=begin html

<br>The hosts created (keys or the entire object if requested)

=end html

=back



=head2 net_hosts_destroy

[B<Family:> vserver]


=begin html

Delete an existing hosts object.

=end html



B<Inputs>

=over 2

=item * I<host-ip-address>  =>   B<ip-address>

=begin html

<br>IPv4 address in dotted form as '123.123.123.123'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_hosts_get

[B<Family:> vserver]


=begin html

Given an IP address, return the corresponding IP to host names mapping of the running Vserver context

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"hosts-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<host-ip-address>  =>   B<ip-address>

=begin html

<br>IPv4 address in dotted form as '123.123.123.123'.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"hosts-info">>

=begin html

<br>The attributes of the hosts.

=end html

=back



=head2 net_hosts_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate all IP to host name mappings (over all Vserver) of the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"hosts-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"hosts-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the hosts object. All hosts objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"hosts-info">[], optional>

=begin html

<br>The list of attributes of hosts objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more hosts objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_hosts_modify

[B<Family:> vserver]


=begin html

Given an IP address, modify the corresponding IP to host name mapping. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<aliases>  =>   B<string[], optional>

=begin html

<br>The list of aliases such as 'host1.sales.foo.com'.

=end html

=back



=over 2

=item * I<host-ip-address>  =>   B<ip-address>

=begin html

<br>IPv4 address in dotted form as '123.123.123.123'.

=end html

=back



=over 2

=item * I<hostname>  =>   B<string, optional>

=begin html

<br>Canonical hostname in a simple string or in FQDN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_interface_create

[B<Family:> cluster]


=begin html

Create a new logical interface.

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>Specifies the LIF's IP address. This element is valid for all data protocols except FCP.

=end html

=back



=over 2

=item * I<administrative-status>  =>   B<string, optional>

=begin html

<br>Specifies the administrative status of the LIF. The administrative status can differ from the operational status; for instance, if you specify the status as up but a network problem prevents the interface from functioning, the operational status remains as down. Possible values: <ul> <li> 'up', <li> 'down', </ul>

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment

=end html

=back



=over 2

=item * I<data-protocols>  =>   B<data-protocol[], optional>

=begin html

<br>Specifies the list of data protocols configured on the LIF. By default, the values in this element are nfs, cifs and fcache. Other supported protocols are iscsi and fcp. A LIF can be configured to not support any data protocols by specifying 'none'. Protocol values of none, iscsi or fcp can't be combined with any other data protocol(s). Possible values: <ul> <li> "nfs" - Used for NFS connections, <li> "cifs" - Used for CIFS connections, <li> "iscsi" - Used for iSCSI connections, <li> "fcp" - Used for Fibre Channel connections, <li> "fcache" - Used for FlexCache connections, <li> "none" - Used for management. Does not serve any file protocols., <li> "http" - Used for HTTP connections </ul>

=end html

=back



=over 2

=item * I<dns-domain-name>  =>   B<dns-zone, optional>

=begin html

<br>Specifies the unique, fully qualified domain name of the DNS zone of this LIF.

=end html

=back



=over 2

=item * I<failover-group>  =>   B<failover-group, optional>

=begin html

<br>Specifies the failover group name.

=end html

=back



=over 2

=item * I<failover-policy>  =>   B<string, optional>

=begin html

<br>Specifies the failover policy for the LIF. For FCP and iSCSI LIFs, the only failover policy is 'disabled'; for NFS, CIFs and fcache LIFs, the default policy is 'nextavail'.

=end html

=back



=over 2

=item * I<firewall-policy>  =>   B<string, optional>

=begin html

<br>Specifies the firewall policy for the LIF. Default firewall-policy is set as per the following table: <ul> <li> 'LIF Role Protocols Default policy', <li> '------- --------- --------------', <li> 'data none mgmt', <li> 'data any (except fcp) data', <li> 'node_mgmt any mgmt', <li> 'cluster_mgmt any mgmt', <li> 'cluster any cluster', <li> 'intercluster any intercluster' </ul>

=end html

=back



=over 2

=item * I<force-subnet-association>  =>   B<boolean, optional>

=begin html

<br>Force the LIF's Subnet Association

=end html

=back



=over 2

=item * I<home-node>  =>   B<string>

=begin html

<br>Specifies the LIF's home node.

=end html

=back



=over 2

=item * I<home-port>  =>   B<string>

=begin html

<br>Specifies the LIF's home port.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Specifies the logical interface (LIF) name.

=end html

=back



=over 2

=item * I<is-auto-revert>  =>   B<boolean, optional>

=begin html

<br>If true, data LIF will revert to its home node under certain circumstances such as startup, and load balancing migration capability is disabled automatically. Default: false

=end html

=back



=over 2

=item * I<is-dns-update-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if DNS update is enabled for this LIF. Dynamic updates will be sent for this LIF if updates are enabled at Vserver level

=end html

=back



=over 2

=item * I<is-ipv4-link-local>  =>   B<boolean, optional>

=begin html

<br>If true, automatically configure an interface with an IPv4 address. User can configure an interface by explicitly specifying &lt;address&gt; and &lt;netmask&gt (or &lt;netmask-length&gt;); or by enabling is-ipv4-link-local to true.

=end html

=back



=over 2

=item * I<listen-for-dns-query>  =>   B<boolean, optional>

=begin html

<br>If True, this IP address will listen for DNS queries for the dns-zone specified.

=end html

=back



=over 2

=item * I<netmask>  =>   B<ip-address, optional>

=begin html

<br>Specifies the LIF's netmask. This element is valid for all data protocols except FCP.

=end html

=back



=over 2

=item * I<netmask-length>  =>   B<integer, optional>

=begin html

<br>Specifies number of bits in the netmask.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the given network interface on successful creation. Default: false

=end html

=back



=over 2

=item * I<role>  =>   B<string>

=begin html

<br>Specifies the role of the LIF. Default: data Possible values: <ul> <li> "undef" - No defined role, <li> "cluster" - Used for communication using the private cluster network, <li> "data" - Used for communicating with file service clients, <li> "node_mgmt" - Used by administrators to configure the node, <li> "intercluster" - Used for communication with a different cluster, <li> "cluster_mgmt" - Used by administrators to configure the cluster </ul>

=end html

=back



=over 2

=item * I<routing-group-name>  =>   B<routing-group-type, optional>

=begin html

<br>Specifies the routing group, which enables multiple logical interfaces to share a set of routing table entries. For example: d192.168.1.0/24 ('d' stands for data LIF and 192.168.1.0/24 is subnet) c192.168.1.0/24 ('c' stands for cluster LIF and 192.168.1.0/24 is subnet) n192.168.1.0/24 ('n' stands for node management LIF and 192.168.1.0/24 is subnet) dfd20:13::0/50 ('d' stands for data LIF and fd20:13::0/50 is IPv6 subnet)

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name, optional>

=begin html

<br>Subnet where the interface address is allocated from. If the option is not used, the IP address will need to be provided by the administrator during configuration.

=end html

=back



=over 2

=item * I<use-failover-group>  =>   B<string, optional>

=begin html

<br>Specifies whether failover rules are automatically created, manually created by the administrator, or disabled. For FCP and iSCSI LIFs, the default policy is 'disabled'; for NFS, CIFs and fcache LIFs, the default policy is 'system_defined'. Possible values: <ul> <li> "system_defined" - Failover targets generated automatically by the system, <li> "disabled" - Failover targets generated manually by the admin, <li> "enabled" - Failover targets defined by failover-group, <li> "unused" - Failover targets are not generated based on this field </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies the Vserver name.

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>Specifies the LIF's WWPN. This element is valid for FCP LIFs only.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"net-interface-info">, optional>

=begin html

<br>The given network interface created (keys or the entire object if requested)

=end html

=back



=head2 net_interface_delete

[B<Family:> cluster]


=begin html

Destroy an existing network interface object.

=end html



B<Inputs>

=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Specifies the logical interface (LIF) name.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies the Vserver name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_interface_get

[B<Family:> vserver]


=begin html

Get the attributes of a network interface.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-interface-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Specifies the logical interface (LIF) name.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-interface-info">>

=begin html

<br>The attributes of the given network interface.

=end html

=back



=head2 net_interface_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of network interface objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-interface-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-interface-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the given network interface object. All given network interface objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-interface-info">[], optional>

=begin html

<br>The list of attributes of given network interface objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more given network interface objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_interface_migrate

[B<Family:> cluster]


=begin html

Migrate a Logical Interface between nodes and ports

=end html



B<Inputs>

=over 2

=item * I<destination-node>  =>   B<node-name>

=begin html

<br>Specifies the node to which the logical interface is to be migrated.

=end html

=back



=over 2

=item * I<destination-port>  =>   B<string, optional>

=begin html

<br>Specifies the port or interface group to which the logical interface is to be migrated. If not specified, this field will be set to the port name of the port on which the LIF currently resides. example: node2

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force the migration operation. If not specified, this field will be set to false. If set to true, migrating a LIF whos 'sticky' field is set to true, or whose current node is sick will be allowed. Otherwise they will not be permitted.

=end html

=back



=over 2

=item * I<lif>  =>   B<string>

=begin html

<br>Specifies the logical interface that is to be migrated. example: lif1

=end html

=back



=over 2

=item * I<source-node>  =>   B<node-name, optional>

=begin html

<br>(DEPRECATED)-Specifies the node from which the logical interface is to be migrated. If not specifed, this field will be set to the node on which the LIF currently resides. example: node1

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies the Vserver that owns the logical interface that is to be migrated. example: vs0

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_interface_modify

[B<Family:> cluster]


=begin html

Modify the attributes of network interface object.

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>Specifies the LIF's IP address. This element is valid for all data protocols except FCP.

=end html

=back



=over 2

=item * I<administrative-status>  =>   B<string, optional>

=begin html

<br>Specifies the administrative status of the LIF. The administrative status can differ from the operational status; for instance, if you specify the status as up but a network problem prevents the interface from functioning, the operational status remains as down. Possible values: <ul> <li> 'up', <li> 'down', </ul>

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment

=end html

=back



=over 2

=item * I<dns-domain-name>  =>   B<dns-zone, optional>

=begin html

<br>Specifies the unique, fully qualified domain name of the DNS zone of this LIF.

=end html

=back



=over 2

=item * I<failover-group>  =>   B<failover-group, optional>

=begin html

<br>Specifies the failover group name.

=end html

=back



=over 2

=item * I<failover-policy>  =>   B<string, optional>

=begin html

<br>Specifies the failover policy for the LIF. For FCP and iSCSI LIFs, the only failover policy is 'disabled'; for NFS, CIFs and fcache LIFs, the default policy is 'nextavail'.

=end html

=back



=over 2

=item * I<firewall-policy>  =>   B<string, optional>

=begin html

<br>Specifies the firewall policy for the LIF. Default firewall-policy is set as per the following table: <ul> <li> 'LIF Role Protocols Default policy', <li> '------- --------- --------------', <li> 'data none mgmt', <li> 'data any (except fcp) data', <li> 'node_mgmt any mgmt', <li> 'cluster_mgmt any mgmt', <li> 'cluster any cluster', <li> 'intercluster any intercluster' </ul>

=end html

=back



=over 2

=item * I<force-subnet-association>  =>   B<boolean, optional>

=begin html

<br>Force the LIF's Subnet Association

=end html

=back



=over 2

=item * I<home-node>  =>   B<string, optional>

=begin html

<br>Specifies the LIF's home node.

=end html

=back



=over 2

=item * I<home-port>  =>   B<string, optional>

=begin html

<br>Specifies the LIF's home port.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Specifies the logical interface (LIF) name.

=end html

=back



=over 2

=item * I<is-auto-revert>  =>   B<boolean, optional>

=begin html

<br>If true, data LIF will revert to its home node under certain circumstances such as startup, and load balancing migration capability is disabled automatically. Default: false

=end html

=back



=over 2

=item * I<is-dns-update-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if DNS update is enabled for this LIF. Dynamic updates will be sent for this LIF if updates are enabled at Vserver level

=end html

=back



=over 2

=item * I<is-ipv4-link-local>  =>   B<boolean, optional>

=begin html

<br>If true, automatically configure an interface with an IPv4 address. User can configure an interface by explicitly specifying &lt;address&gt; and &lt;netmask&gt (or &lt;netmask-length&gt;); or by enabling is-ipv4-link-local to true.

=end html

=back



=over 2

=item * I<listen-for-dns-query>  =>   B<boolean, optional>

=begin html

<br>If True, this IP address will listen for DNS queries for the dns-zone specified.

=end html

=back



=over 2

=item * I<netmask>  =>   B<ip-address, optional>

=begin html

<br>Specifies the LIF's netmask. This element is valid for all data protocols except FCP.

=end html

=back



=over 2

=item * I<netmask-length>  =>   B<integer, optional>

=begin html

<br>Specifies number of bits in the netmask.

=end html

=back



=over 2

=item * I<routing-group-name>  =>   B<routing-group-type, optional>

=begin html

<br>Specifies the routing group, which enables multiple logical interfaces to share a set of routing table entries. For example: d192.168.1.0/24 ('d' stands for data LIF and 192.168.1.0/24 is subnet) c192.168.1.0/24 ('c' stands for cluster LIF and 192.168.1.0/24 is subnet) n192.168.1.0/24 ('n' stands for node management LIF and 192.168.1.0/24 is subnet) dfd20:13::0/50 ('d' stands for data LIF and fd20:13::0/50 is IPv6 subnet)

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name, optional>

=begin html

<br>Subnet where the interface address is allocated from. If the option is not used, the IP address will need to be provided by the administrator during configuration.

=end html

=back



=over 2

=item * I<use-failover-group>  =>   B<string, optional>

=begin html

<br>Specifies whether failover rules are automatically created, manually created by the administrator, or disabled. For FCP and iSCSI LIFs, the default policy is 'disabled'; for NFS, CIFs and fcache LIFs, the default policy is 'system_defined'. Possible values: <ul> <li> "system_defined" - Failover targets generated automatically by the system, <li> "disabled" - Failover targets generated manually by the admin, <li> "enabled" - Failover targets defined by failover-group, <li> "unused" - Failover targets are not generated based on this field </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies the Vserver name.

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>Specifies the LIF's WWPN. This element is valid for FCP LIFs only.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_interface_modify_iter

[B<Family:> cluster]


=begin html

Modify the attributes of network interface or a group of network interface objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"net-interface-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple given network interface objects match a given query. If set to true, the API will continue modifying the next matching given network interface even when modification of a previous given network interface fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching given network interface even when the modification of a previous matching given network interface fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-interface-info">>

=begin html

<br>If modifying a specific given network interface, this input element must specify all keys. If modifying given network interface objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of given network interface objects (just keys) that were not modified due to some error. If set to false, the list of given network interface objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of given network interface objects (just keys) that were successfully updated. If set to false, the list of given network interface objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"net-interface-modify-iter-info">[], optional>

=begin html

<br>Information about given network interface objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching given network interface objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of given network interface objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of given network interface objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"net-interface-modify-iter-info">[], optional>

=begin html

<br>The given network interface objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 net_interface_revert

[B<Family:> cluster]


=begin html

Revert a logical interface back to its home port following a deliberate migration or failover.

=end html



B<Inputs>

=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Specifies the logical interface that is to be reverted.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies the Vserver that owns the logical interface that is to be reverted.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_ipspaces_create

[B<Family:> cluster]


=begin html

Create an IPspace

=end html



B<Inputs>

=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace name

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the given IPspace on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"net-ipspaces-info">, optional>

=begin html

<br>The given IPspace created (keys or the entire object if requested)

=end html

=back



=head2 net_ipspaces_destroy

[B<Family:> cluster]


=begin html

Delete an IPspace

=end html



B<Inputs>

=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_ipspaces_get

[B<Family:> cluster]


=begin html

Get the attributes of an IPspace.

=end html



B<Inputs>

=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace name

=end html

=back



B<Outputs>

=over 2

=item * I<broadcast-domains>  =>   B<broadcast-domain-name[], optional>

=begin html

<br>The broadcast domains that belong to the IPspace

=end html

=back



=over 2

=item * I<ports>  =>   B<net-qualified-port-name[], optional>

=begin html

<br>The ports that have been assigned to the IPspace. This field must be specified with the following format: <node>:<port>

=end html

=back



=over 2

=item * I<vservers>  =>   B<vserver-name[]>

=begin html

<br>The vservers that have been assigned to the IPspace

=end html

=back



=head2 net_ipspaces_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of IPspace objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ipspaces-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-ipspaces-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the given IPspace object. All given IPspace objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-ipspaces-info">[], optional>

=begin html

<br>The list of attributes of given IPspace objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more given IPspace objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_ipspaces_rename

[B<Family:> cluster]


=begin html

Rename an IPspace.

=end html



B<Inputs>

=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>Current IPspace name

=end html

=back



=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New IPspace name. Note: You cannot rename system defined ipspaces.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_ndp_active_neighbor_destroy

[B<Family:> cluster]


=begin html

Delete an existing network ndp active neighbor object.

=end html



B<Inputs>

=over 2

=item * I<neighbor>  =>   B<ip-address>

=begin html

<br>Specify the neighbor IPv6 address. Example: fd20:13::1

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Specify the name of the node.

=end html

=back



=over 2

=item * I<port>  =>   B<lif-bindable>

=begin html

<br>Specify the physical port.

=end html

=back



=over 2

=item * I<subnet-group>  =>   B<ip-and-mask>

=begin html

<br>Subnet Group

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>Specify the name of a System or Admin Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_ndp_active_neighbor_get

[B<Family:> cluster]


=begin html

Get the attributes of the network ndp active neighbor.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ndp-neighbor-cache-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<neighbor>  =>   B<ip-address>

=begin html

<br>Specify the neighbor IPv6 address. Example: fd20:13::1

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Specify the name of the node.

=end html

=back



=over 2

=item * I<port>  =>   B<lif-bindable>

=begin html

<br>Specify the physical port.

=end html

=back



=over 2

=item * I<subnet-group>  =>   B<ip-and-mask>

=begin html

<br>Subnet Group

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name>

=begin html

<br>Specify the name of a System or Admin Vserver.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-ndp-neighbor-cache-info">>

=begin html

<br>The attributes of the network ndp active neighbor.

=end html

=back



=head2 net_ndp_active_neighbor_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of network ndp active neighbor objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ndp-neighbor-cache-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-ndp-neighbor-cache-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network ndp active neighbor object. All network ndp active neighbor objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-ndp-neighbor-cache-info">[], optional>

=begin html

<br>The list of attributes of network ndp active neighbor objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network ndp active neighbor objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_ndp_default_router_delete_all

[B<Family:> cluster]


=begin html

Delete default routers on a given IPspace

=end html



B<Inputs>

=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>Speicifies the IPspace where the default router list will be deleted.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_ndp_default_router_get

[B<Family:> cluster]


=begin html

Get the attributes of the network ndp default-router.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ndp-default-router-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>Specify the name of the Ipspace.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Specify the name of the node.

=end html

=back



=over 2

=item * I<port>  =>   B<lif-bindable>

=begin html

<br>Specify the physical interface.

=end html

=back



=over 2

=item * I<router-addr>  =>   B<ip-address>

=begin html

<br>Specify the default router IPv6 address.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-ndp-default-router-info">>

=begin html

<br>The attributes of the network ndp default-router.

=end html

=back



=head2 net_ndp_default_router_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of network ndp default-router objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ndp-default-router-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-ndp-default-router-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network ndp default-router object. All network ndp default-router objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-ndp-default-router-info">[], optional>

=begin html

<br>The list of attributes of network ndp default-router objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network ndp default-router objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_ndp_neighbor_create

[B<Family:> vserver]


=begin html

Configure a new NDP neighbor entry

=end html



B<Inputs>

=over 2

=item * I<mac-address>  =>   B<mac-address>

=begin html

<br>Specifies the neighbor's MAC Address.

=end html

=back



=over 2

=item * I<neighbor-address>  =>   B<ip-address>

=begin html

<br>Specifies the neighbor's IPv6 Address.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the network NDP neighbor on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"ndp-neighbor-info">, optional>

=begin html

<br>The network NDP neighbor created (keys or the entire object if requested)

=end html

=back



=head2 net_ndp_neighbor_destroy

[B<Family:> vserver]


=begin html

Delete an existing static NDP neighbor entry

=end html



B<Inputs>

=over 2

=item * I<neighbor-address>  =>   B<ip-address>

=begin html

<br>Specifies the neighbor's IPv6 Address.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_ndp_neighbor_get

[B<Family:> vserver]


=begin html

Get a static configured NDP neighbor entry.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ndp-neighbor-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<neighbor-address>  =>   B<ip-address>

=begin html

<br>Specifies the neighbor's IPv6 Address.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ndp-neighbor-info">>

=begin html

<br>The attributes of the network NDP neighbor.

=end html

=back



=head2 net_ndp_neighbor_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterator over a list of static configured NDP neighbor entries.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ndp-neighbor-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ndp-neighbor-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network NDP neighbor object. All network NDP neighbor objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ndp-neighbor-info">[], optional>

=begin html

<br>The list of attributes of network NDP neighbor objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network NDP neighbor objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_ndp_prefix_delete_all

[B<Family:> cluster]


=begin html

Delete IPv6 prefixes on a given IPspace

=end html



B<Inputs>

=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>Speicifies the IPspace where the prefix list will be deleted.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_ndp_prefix_get

[B<Family:> cluster]


=begin html

Get the attributes of the network ndp prefix.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ndp-prefix-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>Specify the name of the Ipspace.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Specify the name of the node.

=end html

=back



=over 2

=item * I<port>  =>   B<lif-bindable>

=begin html

<br>Specify the physical port.

=end html

=back



=over 2

=item * I<prefix>  =>   B<ip-and-mask>

=begin html

<br>Specify the prefix.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-ndp-prefix-info">>

=begin html

<br>The attributes of the network ndp prefix.

=end html

=back



=head2 net_ndp_prefix_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of network ndp prefix objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ndp-prefix-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-ndp-prefix-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network ndp prefix object. All network ndp prefix objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-ndp-prefix-info">[], optional>

=begin html

<br>The list of attributes of network ndp prefix objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network ndp prefix objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_options_get

[B<Family:> cluster]


=begin html

Get the attributes of the net.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<net-options>  =>   B<L<"net-options">>

=begin html

<br>Network Options Typedef

=end html

=back



=head2 net_options_hypervisor_uplink_monitoring_get

[B<Family:> cluster]


=begin html

Get the hypervisor uplink monitoring status.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-options-hypervisor-uplink-monitoring-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-options-hypervisor-uplink-monitoring-info">>

=begin html

<br>The attributes of the net.

=end html

=back



=head2 net_options_hypervisor_uplink_monitoring_modify

[B<Family:> cluster]


=begin html

Modify the hypervisor uplink monitoring status.

=end html



B<Inputs>

=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>Hypervisor Uplink Monitoring

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_options_modify

[B<Family:> cluster]


=begin html

Modify the attributes of net object.

=end html



B<Inputs>

=over 2

=item * I<net-options>  =>   B<L<"net-options">>

=begin html

<br>Network Options Typedef

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_placement_cache_delete

[B<Family:> cluster]


=begin html

Delete LIF placement cached information.

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<ip-address>

=begin html

<br>The IP address that was searched.

=end html

=back



=over 2

=item * I<netmask-length>  =>   B<integer>

=begin html

<br>The number of bits in the subnet mask (i.e. 24 or 64).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Specifies the name of the node.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>The port name on the node.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_placement_cache_get_iter

[B<Family:> cluster]


=begin html

Iterate over the LIF placement cached information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-placement-cache">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-placement-cache">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network interface placement object. All network interface placement objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-placement-cache">[], optional>

=begin html

<br>The list of attributes of network interface placement objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network interface placement objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_placement_discover

[B<Family:> cluster]


=begin html

Find the ports direcly connected to the IP address

=end html



B<Inputs>

=over 2

=item * I<address>  =>   B<string>

=begin html

<br>IP Address

=end html

=back



=over 2

=item * I<mac>  =>   B<string, optional>

=begin html

<br>MAC Address

=end html

=back



=over 2

=item * I<netmask-length>  =>   B<integer>

=begin html

<br>Netmask Length

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_broadcast_domain_add_ports

[B<Family:> cluster]


=begin html

Add ports to a layer 2 broadcast domain.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



=over 2

=item * I<ports>  =>   B<net-qualified-port-name[]>

=begin html

<br>Ports to be added to the broadcast domain. Format:node-name:port-name

=end html

=back



B<Outputs>

=over 2

=item * I<port-update-status-combined>  =>   B<broadcast-domain-port-status>

=begin html

<br>Overall Port Update Status

=end html

=back



=head2 net_port_broadcast_domain_create

[B<Family:> cluster]


=begin html

Create a new layer 2 broadcast domain object.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



=over 2

=item * I<mtu>  =>   B<integer>

=begin html

<br>Maximum Transmission Unit (MTU) of the layer 2 broadcast domain. The MTU will be applied to all ports that belong to the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ports>  =>   B<net-qualified-port-name[], optional>

=begin html

<br>Ports added to the layer 2 broadcast domain. Ports added to a new layer 2 broadcast domain will be removed from their current layer 2 broadcast domain. Format: node-name:port-name

=end html

=back



B<Outputs>

=over 2

=item * I<port-update-status-combined>  =>   B<broadcast-domain-port-status, optional>

=begin html

<br>Overall status of the port updates. The value is 'in-progress' if any port is in progress, 'complete' if all port updates complete, or 'error' if any port update is unsuccessful.

=end html

=back



=head2 net_port_broadcast_domain_destroy

[B<Family:> cluster]


=begin html

Destroy an existing layer 2 broadcast domain object.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



B<Outputs>

=over 2

=item * I<port-update-status-combined>  =>   B<broadcast-domain-port-status, optional>

=begin html

<br>Overall status of the port updates. The value is 'in-progress' if any port is in progress, 'complete' if all port updates complete, or 'error' if any port update is unsuccessful.

=end html

=back



=head2 net_port_broadcast_domain_get

[B<Family:> cluster]


=begin html

Get the attributes of the layer 2 broadcast domain object.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"net-port-broadcast-domain-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-port-broadcast-domain-info">>

=begin html

<br>The attributes of the net-port-broadcast-domain.

=end html

=back



=head2 net_port_broadcast_domain_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of layer 2 broadcast domain objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-port-broadcast-domain-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-port-broadcast-domain-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net-port-broadcast-domain object. All net-port-broadcast-domain objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-port-broadcast-domain-info">[], optional>

=begin html

<br>The list of attributes of net-port-broadcast-domain objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net-port-broadcast-domain objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_port_broadcast_domain_merge

[B<Family:> cluster]


=begin html

Merges two layer 2 broadcast domains.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<into-broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>Merge with this layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_broadcast_domain_modify

[B<Family:> cluster]


=begin html

Modify the attributes of the layer 2 broadcast domain object.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



=over 2

=item * I<mtu>  =>   B<integer>

=begin html

<br>Maximum Transmission Unit (MTU) of the layer 2 broadcast domain. The MTU will be applied to all ports that belong to the layer 2 broadcast domain.

=end html

=back



B<Outputs>

=over 2

=item * I<port-update-status-combined>  =>   B<broadcast-domain-port-status, optional>

=begin html

<br>Overall status of the port updates. The value is 'in-progress' if any port is in progress, 'complete' if all port updates complete, or 'error' if any port update is unsuccessful.

=end html

=back



=head2 net_port_broadcast_domain_remove_ports

[B<Family:> cluster]


=begin html

Remove ports from a layer 2 broadcast domain.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



=over 2

=item * I<ports>  =>   B<net-qualified-port-name[]>

=begin html

<br>Ports to be removed from their current layer 2 broadcast domain.

=end html

=back



B<Outputs>

=over 2

=item * I<port-update-status-combined>  =>   B<broadcast-domain-port-status>

=begin html

<br>Overall Port Update Status

=end html

=back



=head2 net_port_broadcast_domain_rename

[B<Family:> cluster]


=begin html

Rename a layer 2 broadcast domain.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New name for the layer 2 broadcast domain

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_broadcast_domain_split

[B<Family:> cluster]


=begin html

Splits a layer 2 broadcast domain into two layer 2 broadcast domains.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>The name of the layer 2 broadcast domain.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'.

=end html

=back



=over 2

=item * I<new-broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>New layer 2 broadcast domain name.

=end html

=back



=over 2

=item * I<ports>  =>   B<net-qualified-port-name[]>

=begin html

<br>The ports to be split from current broadcast domain and added to the new broadcast domain. Format:node-name:port-name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_delete

[B<Family:> cluster]


=begin html

Delete a physical network port. This is typically used when there is an entry in the port table reffering to a physical port that was previously removed from a node. Any LIFs hosted on the port must be deleted or moved to another port before deletion of the port is permitted

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Specifies the name of node.

=end html

=back



=over 2

=item * I<port>  =>   B<lif-bindable>

=begin html

<br>Specifies the name of port.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_get

[B<Family:> cluster, vserver]


=begin html

Get the attributes of a network port.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-port-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Specifies the name of node.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Specifies the name of port.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-port-info">>

=begin html

<br>The attributes of the given network port.

=end html

=back



=head2 net_port_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of network port objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-port-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-port-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the given network port object. All given network port objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-port-info">[], optional>

=begin html

<br>The list of attributes of given network port objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more given network port objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_port_health_monitor_disable

[B<Family:> cluster]


=begin html

Disable one or more port health monitors

=end html



B<Inputs>

=over 2

=item * I<health-monitors>  =>   B<netport-degraded-reason[]>

=begin html

<br>List of Port Health Monitors to Disable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_health_monitor_enable

[B<Family:> cluster]


=begin html

Enable one or more port health monitors

=end html



B<Inputs>

=over 2

=item * I<health-monitors>  =>   B<netport-degraded-reason[]>

=begin html

<br>List of Port Health Monitors to Enable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_health_monitor_get

[B<Family:> cluster]


=begin html

Get the network port health monitors enabled for an IPspace.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-port-health-monitor-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-port-health-monitor-info">>

=begin html

<br>The attributes of the net.

=end html

=back



=head2 net_port_health_monitor_get_iter

[B<Family:> cluster]


=begin html

Iterate over the the network port health monitors enabled for each IPspace.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-port-health-monitor-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-port-health-monitor-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net object. All net objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-port-health-monitor-info">[], optional>

=begin html

<br>The list of attributes of net objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_port_ifgrp_add_port

[B<Family:> cluster]


=begin html

Add port to a network interface group.

=end html



B<Inputs>

=over 2

=item * I<ifgrp-name>  =>   B<lif-bindable>

=begin html

<br>Specifies the interface group name.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Specifies the name of node.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Specifies the name of port.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_ifgrp_create

[B<Family:> cluster]


=begin html

Create a new network interface group.

=end html



B<Inputs>

=over 2

=item * I<distribution-function>  =>   B<string>

=begin html

<br>Specifies the traffic distribution function for the ifgrp. Possible values: <ul> <li> "mac" - Network traffic is distributed on the basis of MAC addresses, <li> "ip" - Network traffic is distributed on the basis of IP addresses, <li> "sequential" - Network traffic is distributed round-robin to each interface, <li> "port" - Network traffic is distributed by transport layer address 4-tuple </ul>

=end html

=back



=over 2

=item * I<ifgrp-name>  =>   B<lif-bindable>

=begin html

<br>Specifies the interface group name.

=end html

=back



=over 2

=item * I<mode>  =>   B<string>

=begin html

<br>Specifies the link policy for the ifgrp. Possible values: <ul> <li> 'multimode - All links are simultaneously active', <li> 'multimode_lacp - Link state is managed by the switch using link aggregation control protocol (LACP) (IEEE 802.3ad)', <li> 'singlemode - Only one link is active at a time' </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Specifies the name of node.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the network interface group on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"net-ifgrp-info">, optional>

=begin html

<br>The network interface group created (keys or the entire object if requested)

=end html

=back



=head2 net_port_ifgrp_destroy

[B<Family:> cluster]


=begin html

Destroy an existing network interface group.

=end html



B<Inputs>

=over 2

=item * I<ifgrp-name>  =>   B<lif-bindable>

=begin html

<br>Specifies the interface group name.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Specifies the name of node.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_ifgrp_get

[B<Family:> cluster]


=begin html

Get the attributes of a network interface group (ifgrp).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-ifgrp-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<ifgrp-name>  =>   B<lif-bindable>

=begin html

<br>Specifies the interface group name.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Specifies the name of node.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-ifgrp-info">>

=begin html

<br>The attributes of the network interface group.

=end html

=back



=head2 net_port_ifgrp_remove_port

[B<Family:> cluster]


=begin html

Remove port from a network interface group.

=end html



B<Inputs>

=over 2

=item * I<ifgrp-name>  =>   B<lif-bindable>

=begin html

<br>Specifies the interface group name.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Specifies the name of node.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Specifies the name of port.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_modify

[B<Family:> cluster]


=begin html

Modify the given attributes of network port and the rest remain unchanged.

=end html



B<Inputs>

=over 2

=item * I<administrative-duplex>  =>   B<string, optional>

=begin html

<br>Specifies the user preferred duplex setting of the port. Possible values: <ul> <li> "undef" - No defined duplex, <li> "auto" - Auto-negotiate duplex setting for link, <li> "half" - Half-duplex link usage, <li> "full" - Full-duplex link usage </ul>

=end html

=back



=over 2

=item * I<administrative-flowcontrol>  =>   B<string, optional>

=begin html

<br>Specifies the user preferred flow control setting of the port.

=end html

=back



=over 2

=item * I<administrative-speed>  =>   B<string, optional>

=begin html

<br>Specifies the user preferred speed setting of the port. Possible values: <ul> <li> "undef" - No defined speed, <li> "auto" - Auto-negotiate speed for link, <li> "10" - 10 megabits per second, <li> "100" - 100 megabits per second, <li> "1000" - 1 gigabit per second, <li> "10000" - 10 gigabits per second, <li> "40000" - 40 gigabits per second, <li> "100000" - 100 gigabits per second, <li> "25000" - 25 gigabits per second </ul>

=end html

=back



=over 2

=item * I<autorevert-delay>  =>   B<integer, optional>

=begin html

<br>For a port with role 'cluster', specifies the delay in seconds before autoreverting a LIF to this port.

=end html

=back



=over 2

=item * I<ifgrp-distribution-function>  =>   B<string, optional>

=begin html

<br>For a port of type 'ifgrp', specifies the traffic distribution function. Possible values: <ul> <li> "mac" - Network traffic is distributed on the basis of MAC addresses, <li> "ip" - Network traffic is distributed on the basis of IP addresses, <li> "sequential" - Network traffic is distributed round-robin to each interface, <li> "port" - Network traffic is distributed by transport layer address 4-tuple </ul>

=end html

=back



=over 2

=item * I<ifgrp-mode>  =>   B<string, optional>

=begin html

<br>For a port of type 'ifgrp', specifies the link policy. Possible values: <ul> <li> 'multimode - All links are simultaneously active', <li> 'multimode_lacp - Link state is managed by the switch using link aggregation control protocol (LACP) (IEEE 802.3ad)', <li> 'singlemode - Only one link is active at a time' </ul>

=end html

=back



=over 2

=item * I<ifgrp-node>  =>   B<string, optional>

=begin html

<br>Specifies the name of the node on which interface group (ifgrp) is created.

=end html

=back



=over 2

=item * I<ifgrp-port>  =>   B<string, optional>

=begin html

<br>For a port of type 'ifgrp', specifies the name of the physical port on which ifgrp is created.

=end html

=back



=over 2

=item * I<ignore-health-status>  =>   B<boolean, optional>

=begin html

<br>Use this parameter to specify that the system ignore network port health status of the specified port for the purpose of hosting a logical interface. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>Specifies the port's associated IPspace name. Note: the 'Cluster' ipspace is reserved for cluster ports.

=end html

=back



=over 2

=item * I<is-administrative-auto-negotiate>  =>   B<boolean, optional>

=begin html

<br>Enables or disables Ethernet auto-negotiation of speed, duplex and flow control.

=end html

=back



=over 2

=item * I<is-administrative-up>  =>   B<boolean, optional>

=begin html

<br>If true, it changes the state of the port to 'up'.

=end html

=back



=over 2

=item * I<mtu>  =>   B<integer, optional>

=begin html

<br>Specifies the maximum transmission unit (MTU) reported by the port.

=end html

=back



=over 2

=item * I<mtu-admin>  =>   B<integer, optional>

=begin html

<br>Specifies the user preferred maximum transmission unit (MTU) of the port.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Specifies the name of node.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Specifies the name of port.

=end html

=back



=over 2

=item * I<port-type>  =>   B<string, optional>

=begin html

<br>Specifies the type of port. Possible values: <ul> <li> "physical" - Physical network interface, <li> "if_group" - Logical interface group (IEEE 802.3, section 43), <li> "vlan" - Virtual LAN (IEEE 802.1Q), <li> "undef" - No defined port type </ul>

=end html

=back



=over 2

=item * I<role>  =>   B<string, optional>

=begin html

<br>This parameter has been deprecated in Data ONTAP 8.3, but is still returned for compatibility and may be removed in a future release. Prefer instead to use the 'ipspace' parameter.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_port_modify_iter

[B<Family:> cluster]


=begin html

Modify the attributes of network port or a group of network port objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"net-port-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple given network port objects match a given query. If set to true, the API will continue modifying the next matching given network port even when modification of a previous given network port fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching given network port even when the modification of a previous matching given network port fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-port-info">>

=begin html

<br>If modifying a specific given network port, this input element must specify all keys. If modifying given network port objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of given network port objects (just keys) that were not modified due to some error. If set to false, the list of given network port objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of given network port objects (just keys) that were successfully updated. If set to false, the list of given network port objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"net-port-modify-iter-info">[], optional>

=begin html

<br>Information about given network port objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching given network port objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of given network port objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of given network port objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"net-port-modify-iter-info">[], optional>

=begin html

<br>The given network port objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 net_qos_marking_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of QoS Marking attributes

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-marking">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-marking">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net-qos-marking object. All net-qos-marking objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qos-marking">[], optional>

=begin html

<br>The list of attributes of net-qos-marking objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net-qos-marking objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_qos_marking_modify

[B<Family:> cluster]


=begin html

Modify the the QoS Marking attributes of a protocol

=end html



B<Inputs>

=over 2

=item * I<dscp>  =>   B<integer, optional>

=begin html

<br>DSCP marking value. Default value for NFS, CIFS, iSCSI, HTTP-fileserv, NDMP, and SnapMirror is 10 and for FTP, HTTP-admin, SSH, Telnet, and SNMP is 48.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace Name.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>QoS Marking status. Default setting is false.

=end html

=back



=over 2

=item * I<protocol>  =>   B<string>

=begin html

<br>Protocol name. Supported values are NFS, CIFS, iSCSI, SnapMirror, NDMP, FTP, HTTP-admin, HTTP-fileserv, SSH, Telnet, and SNMP.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_routes_create

[B<Family:> vserver]


=begin html

Create a new network route.

=end html



B<Inputs>

=over 2

=item * I<destination>  =>   B<ip-and-mask>

=begin html

<br>Specify the route destination. Example: 10.7.125.5/20, fd20:13::/64

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address>

=begin html

<br>Specify the route gateway. Example: 10.7.125.1, fd20:13::1

=end html

=back



=over 2

=item * I<metric>  =>   B<integer, optional>

=begin html

<br>Specify the route metric. If this field is not provided the default will be set to 30

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the network route on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"net-vs-routes-info">, optional>

=begin html

<br>The network route created (keys or the entire object if requested)

=end html

=back



=head2 net_routes_destroy

[B<Family:> vserver]


=begin html

Destroy an existing network route object.

=end html



B<Inputs>

=over 2

=item * I<destination>  =>   B<ip-and-mask>

=begin html

<br>Specify the route destination. Example: 10.7.125.5/20, fd20:13::/64

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address>

=begin html

<br>Specify the route gateway. Example: 10.7.125.1, fd20:13::1

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_routes_get

[B<Family:> vserver]


=begin html

Get the attributes of a network route.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-vs-routes-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination>  =>   B<ip-and-mask>

=begin html

<br>Specify the route destination. Example: 10.7.125.5/20, fd20:13::/64

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address>

=begin html

<br>Specify the route gateway. Example: 10.7.125.1, fd20:13::1

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-vs-routes-info">>

=begin html

<br>The attributes of the network route.

=end html

=back



=head2 net_routes_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of network route objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-vs-routes-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-vs-routes-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network route object. All network route objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-vs-routes-info">[], optional>

=begin html

<br>The list of attributes of network route objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network route objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_routes_lifs_get

[B<Family:> vserver]


=begin html

Get the logical interfaces (LIFs) associated with a network route.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-vs-routes-lif-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination>  =>   B<ip-and-mask>

=begin html

<br>Specify the route destination. Example: 10.7.125.5/20, fd20:13::/64

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address>

=begin html

<br>Specify the route gateway. Example: 10.7.125.1, fd20:13::1

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-vs-routes-lif-info">>

=begin html

<br>The attributes of the network route showlifs.

=end html

=back



=head2 net_routes_lifs_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of network route objects and get the associated logical interfaces (LIFs).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-vs-routes-lif-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-vs-routes-lif-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network route showlifs object. All network route showlifs objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-vs-routes-lif-info">[], optional>

=begin html

<br>The list of attributes of network route showlifs objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network route showlifs objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_routing_group_route_create

[B<Family:> cluster]


=begin html

Create a new network routing group route.

=end html



B<Inputs>

=over 2

=item * I<destination-address>  =>   B<string>

=begin html

<br>Specifies the IP address and subnet mask of destination. For example: '198.18.10.0/24', 'fd20:13::0/64'

=end html

=back



=over 2

=item * I<gateway-address>  =>   B<string>

=begin html

<br>Specifies the IP address of gateway. For example: '198.18.0.0', 'fd20:13::1'

=end html

=back



=over 2

=item * I<metric>  =>   B<integer, optional>

=begin html

<br>Specifies the metric (hop count) of the LIF. The default value is determined by the LIF role as follows: <ul> <li> If the LIF role is 'node_mgmt' or 'cluster_mgmt': 10, <li> If the LIF role is 'data' or 'undef': 20, <li> If the LIF role is 'cluster': 30, <li> If the LIF role is 'intercluster': 40 </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the network routing group route on successful creation. Default: false

=end html

=back



=over 2

=item * I<routing-group>  =>   B<string>

=begin html

<br>Specifies the name of routing group. For example: <ul> <li> d192.168.1.0/24 ('d' stands for data LIF and 192.168.1.0/24 is subnet), <li> c192.168.1.0/24 ('c' stands for cluster LIF and 192.168.1.0/24 is subnet), <li> n192.168.1.0/24 ('n' stands for node management LIF and 192.168.1.0/24 is subnet) <li> dfd20:13::0/64 ('d' stands for data LIF and fd20:13::0/64 is IPv6 subnet) </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies the name of Vserver.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"routing-group-route-info">, optional>

=begin html

<br>The network routing group route created (keys or the entire object if requested)

=end html

=back



=head2 net_routing_group_route_destroy

[B<Family:> cluster]


=begin html

Destroy an existing network routing group route.

=end html



B<Inputs>

=over 2

=item * I<destination-address>  =>   B<string>

=begin html

<br>Specifies the IP address and subnet mask of destination. For example: '198.18.10.0/24', 'fd20:13::0/64'

=end html

=back



=over 2

=item * I<routing-group>  =>   B<string>

=begin html

<br>Specifies the name of routing group. For example: <ul> <li> d192.168.1.0/24 ('d' stands for data LIF and 192.168.1.0/24 is subnet), <li> c192.168.1.0/24 ('c' stands for cluster LIF and 192.168.1.0/24 is subnet), <li> n192.168.1.0/24 ('n' stands for node management LIF and 192.168.1.0/24 is subnet) <li> dfd20:13::0/64 ('d' stands for data LIF and fd20:13::0/64 is IPv6 subnet) </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies the name of Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_routing_group_route_get

[B<Family:> vserver]


=begin html

Get the attributes of a network routing group route.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"routing-group-route-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination-address>  =>   B<string>

=begin html

<br>Specifies the IP address and subnet mask of destination. For example: '198.18.10.0/24', 'fd20:13::0/64'

=end html

=back



=over 2

=item * I<routing-group>  =>   B<string>

=begin html

<br>Specifies the name of routing group. For example: <ul> <li> d192.168.1.0/24 ('d' stands for data LIF and 192.168.1.0/24 is subnet), <li> c192.168.1.0/24 ('c' stands for cluster LIF and 192.168.1.0/24 is subnet), <li> n192.168.1.0/24 ('n' stands for node management LIF and 192.168.1.0/24 is subnet) <li> dfd20:13::0/64 ('d' stands for data LIF and fd20:13::0/64 is IPv6 subnet) </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"routing-group-route-info">>

=begin html

<br>The attributes of the network routing group route.

=end html

=back



=head2 net_routing_group_route_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of network routing group route.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"routing-group-route-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"routing-group-route-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the network routing group route object. All network routing group route objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"routing-group-route-info">[], optional>

=begin html

<br>The list of attributes of network routing group route objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more network routing group route objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_san_lif_placement_get

[B<Family:> cluster]


=begin html

Get the attributes of the SAN LIF Placement.

=end html



B<Inputs>

=over 2

=item * I<adapter-type>  =>   B<adapter-type>

=begin html

<br>Adapter type

=end html

=back



=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name, optional>

=begin html

<br>It is for iSCSI protocol only. If provided, only the candidate ports in the given broadcast domain will be returned; otherwise, all candidate ports will be returned. It is interchangeable with subnet-name. If both are provided but the given subnet is not in the given broadcast domain, then an error will be returned.

=end html

=back



=over 2

=item * I<ipspace-name>  =>   B<string, optional>

=begin html

<br>The IPspace that the given subnet or broadcast domain belongs to. It is required when either subnet-name or broadcast-domain is provided.

=end html

=back



=over 2

=item * I<lifs-per-node>  =>   B<integer>

=begin html

<br>LIFs per node

=end html

=back



=over 2

=item * I<nodelist>  =>   B<node-name[], optional>

=begin html

<br>If provided, LIF placement is returned only for the given nodes. Otherwise, they are returned for all nodes in the cluster.

=end html

=back



=over 2

=item * I<protocol>  =>   B<data-protocol>

=begin html

<br>Protocol

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name, optional>

=begin html

<br>It is for iSCSI protocol only. If provided, only the candidate ports in the broadcast domain that the subnet belongs to will be returned; otherwise, all candidate ports will be returned. It is interchangeable with broadcast-domain. If both are provide but the given subnet is not in the given broadcast domain, then an error will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<lif-placement>  =>   B<L<"lif-placement-info">[]>

=begin html

<br>SAN LIF placement

=end html

=back



=head2 net_subnet_add_ranges

[B<Family:> cluster]


=begin html

Add address ranges to a subnet.

=end html



B<Inputs>

=over 2

=item * I<force-update-lif-associations>  =>   B<boolean, optional>

=begin html

<br>This command will fail if any service processor interfaces or network interfaces are using the IP addresses in the ranges provided. Setting this value to true will associate any manually addressed interfaces with the subnet and will allow the command to succeed.

=end html

=back



=over 2

=item * I<ip-ranges>  =>   B<ip-range[]>

=begin html

<br>The list of ranges to add to the subnet

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name that the subnet belongs to. The default value for this parameter is the default IPspace, named 'Default'.

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name>

=begin html

<br>Layer 3 subnet. A specific subnet name, for example 'Mgmt' or 'Data', or a specific subnet IP value, 198.18.10.0/24 is allowed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_subnet_create

[B<Family:> cluster]


=begin html

Create a new subnet object. A subnet object represents a layer 3 subnet in a network.

=end html



B<Inputs>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name>

=begin html

<br>Layer 2 broadcast domain name that the subnet belongs to.

=end html

=back



=over 2

=item * I<force-update-lif-associations>  =>   B<boolean, optional>

=begin html

<br>This command will fail if any service processor interfaces or network interfaces are using the IP addresses in the ranges provided. Setting this value to true will associate any manually addressed interfaces with the subnet and will allow the command to succeed.

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address, optional>

=begin html

<br>The gateway for the default route of the subnet.

=end html

=back



=over 2

=item * I<ip-ranges>  =>   B<ip-range[], optional>

=begin html

<br>The list of IP address ranges associated with the subnet.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name that the subnet belongs to. The default value for this parameter is the default IPspace, named 'Default'.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the net-subnet on successful creation. Default: false

=end html

=back



=over 2

=item * I<subnet>  =>   B<ip-and-mask>

=begin html

<br>Layer 3 Subnet

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name>

=begin html

<br>Layer 3 subnet. A specific subnet name, for example 'Mgmt' or 'Data', or a specific subnet IP value, 198.18.10.0/24 is allowed.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"net-subnet-info">, optional>

=begin html

<br>The net-subnet created (keys or the entire object if requested)

=end html

=back



=head2 net_subnet_destroy

[B<Family:> cluster]


=begin html

Destroy an existing subnet object.

=end html



B<Inputs>

=over 2

=item * I<force-update-lif-associations>  =>   B<boolean, optional>

=begin html

<br>This command will fail if the subnet has ranges containing any existing service processor interface or network interface IP addresses. Setting this value to true will remove the network interface associations with the subnet and allow the command to succeed. However, it will not affect service processor interfaces.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name that the subnet belongs to. The default value for this parameter is the default IPspace, named 'Default'.

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name>

=begin html

<br>Layer 3 subnet. A specific subnet name, for example 'Mgmt' or 'Data', or a specific subnet IP value, 198.18.10.0/24 is allowed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_subnet_get

[B<Family:> cluster]


=begin html

Get the attributes of the subnet object.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-subnet-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string>

=begin html

<br>IPspace Name that the subnet belongs to. The default value for this parameter is the default IPspace, named 'Default'.

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name>

=begin html

<br>Layer 3 subnet. A specific subnet name, for example 'Mgmt' or 'Data', or a specific subnet IP value, 198.18.10.0/24 is allowed.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-subnet-info">>

=begin html

<br>The attributes of the net-subnet.

=end html

=back



=head2 net_subnet_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of subnet objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-subnet-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"net-subnet-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net-subnet object. All net-subnet objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"net-subnet-info">[], optional>

=begin html

<br>The list of attributes of net-subnet objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net-subnet objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 net_subnet_modify

[B<Family:> cluster]


=begin html

Modify an existing subnet object.

=end html



B<Inputs>

=over 2

=item * I<force-update-lif-associations>  =>   B<boolean, optional>

=begin html

<br>This command will fail if any service processor interfaces or network interfaces are using the IP addresses in the ranges provided. Setting this value to true will associate any manually addressed interfaces with the subnet and will allow the command to succeed.

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address, optional>

=begin html

<br>The gateway for the default route of the subnet.

=end html

=back



=over 2

=item * I<ip-ranges>  =>   B<ip-range[], optional>

=begin html

<br>The list of IP address ranges associated with the subnet.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name that the subnet belongs to. The default value for this parameter is the default IPspace, named 'Default'.

=end html

=back



=over 2

=item * I<subnet>  =>   B<ip-and-mask, optional>

=begin html

<br>Layer 3 Subnet

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name>

=begin html

<br>Layer 3 subnet. A specific subnet name, for example 'Mgmt' or 'Data', or a specific subnet IP value, 198.18.10.0/24 is allowed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_subnet_remove_ranges

[B<Family:> cluster]


=begin html

Remove address ranges from a subnet.

=end html



B<Inputs>

=over 2

=item * I<force-update-lif-associations>  =>   B<boolean, optional>

=begin html

<br>This command will fail if any existing service processor interfaces or network interfaces are using IP addresses in the ranges provided. Setting this value to true will remove the subnet's association with those interfaces and allow the command to succeed.

=end html

=back



=over 2

=item * I<ip-ranges>  =>   B<ip-range[]>

=begin html

<br>IP ranges to remove

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name that the subnet belongs to. The default value for this parameter is the default IPspace, named 'Default'.

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name>

=begin html

<br>Layer 3 subnet. A specific subnet name, for example 'Mgmt' or 'Data', or a specific subnet IP value, 198.18.10.0/24 is allowed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_subnet_rename

[B<Family:> cluster]


=begin html

Rename a layer 3 subnet.

=end html



B<Inputs>

=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name that the subnet belongs to. The default value for this parameter is the default IPspace, named 'Default'.

=end html

=back



=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New name for the layer 3 subnet

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name>

=begin html

<br>Layer 3 subnet. A specific subnet name, for example 'Mgmt' or 'Data', or a specific subnet IP value, 198.18.10.0/24 is allowed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_test_path

[B<Family:> cluster]


=begin html

Test performance between specified nodes

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<cluster-name>

=begin html

<br>The cluster containing the destination node.

=end html

=back



=over 2

=item * I<destination-node>  =>   B<string>

=begin html

<br>The node receiving the session request.

=end html

=back



=over 2

=item * I<session-type>  =>   B<csm-session-type>

=begin html

<br>Type of session used for session parameters. Possible values: <ul> <li> "asyncmirrorlocal" - Intra-cluster Async Mirror, <li> "asyncmirrorremote" - Inter-cluster Async Mirror, <li> "remotedatatransfer" - Intra-cluster File/Lun Read/Write </ul>

=end html

=back



=over 2

=item * I<source-node>  =>   B<node-name>

=begin html

<br>The node initiating the session request.

=end html

=back



B<Outputs>

=over 2

=item * I<average-latency>  =>   B<integer, optional>

=begin html

<br>Average request + response time in microseconds, for all request/response pairs.

=end html

=back



=over 2

=item * I<maximum-latency>  =>   B<integer, optional>

=begin html

<br>Maximum request + response time in microseconds, for all request/response pairs.

=end html

=back



=over 2

=item * I<minimum-latency>  =>   B<integer, optional>

=begin html

<br>Minimum request + response time in microseconds, for all request/response pairs.

=end html

=back



=over 2

=item * I<receive-throughput>  =>   B<integer, optional>

=begin html

<br>Receive throughput (destination to source node) in bytes/second.

=end html

=back



=over 2

=item * I<send-throughput>  =>   B<integer, optional>

=begin html

<br>Send throughput (source to destination node) in bytes/second.

=end html

=back



=over 2

=item * I<test-duration>  =>   B<integer, optional>

=begin html

<br>Test duration in microseconds.

=end html

=back



=head2 net_traceroute6

[B<Family:> cluster, vserver]


=begin html

Trace the route IPv6 packets take to a host. The input node is exclusive with the interface input. Only one is allowed. The interface input must be specified with interface owner.

=end html



B<Inputs>

=over 2

=item * I<debug-mode>  =>   B<boolean, optional>

=begin html

<br>Specifies the use of debug-mode for socket level debugging. Default: False

=end html

=back



=over 2

=item * I<destination-address>  =>   B<string>

=begin html

<br>Specifies the IPv6 address of the destination.

=end html

=back



=over 2

=item * I<first-hop>  =>   B<integer, optional>

=begin html

<br>Specifies the number of hops to skip in trace. Default: 1.

=end html

=back



=over 2

=item * I<gateway>  =>   B<remote-inet-address, optional>

=begin html

<br>Specifies the intermediate gateway.

=end html

=back



=over 2

=item * I<hop-limit>  =>   B<integer, optional>

=begin html

<br>Specifies the maximum hoplimit. Default: 64. Range: [1..255].

=end html

=back



=over 2

=item * I<interface>  =>   B<string, optional>

=begin html

<br>Specifies the LIF from where traceroute is to be started. This interface input must be specified with the interface-owner input.

=end html

=back



=over 2

=item * I<interface-owner>  =>   B<string, optional>

=begin html

<br>Specifies the optional Vserver from which traceroute is to be started. If Vserver is not specified, then traceroute will be started from cluster adminstration Vserver of the cluster.

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Specifies the node from which traceroute is to be started. The input node is exclusive with the interface input. Only one is allowed.

=end html

=back



=over 2

=item * I<nqueries>  =>   B<integer, optional>

=begin html

<br>Specifies the number of probes per hop. Default: 3.

=end html

=back



=over 2

=item * I<numeric>  =>   B<boolean, optional>

=begin html

<br>Specifies printing of hop addresses only numerically rather than symbolically and numerically. Default: False.

=end html

=back



=over 2

=item * I<packet-size>  =>   B<integer, optional>

=begin html

<br>Specifies the size of probe packets in bytes. Default: 16 for ICMP6 ECHO and 12 for UDP datagrams.

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>Specifies the base UDP port number used in probes. Default: 33434.

=end html

=back



=over 2

=item * I<use-icmp6>  =>   B<boolean, optional>

=begin html

<br>Specifies use of ICMP6 ECHO instead of UDP datagrams for probes. This parameter is mutually exclusive with the udp parameter. Default: False.

=end html

=back



=over 2

=item * I<use-udp>  =>   B<boolean, optional>

=begin html

<br>Specifies use of UDP datagrams for probes. This parameter is mutually exclusive with the icmp6 parameter. Default: True.

=end html

=back



=over 2

=item * I<verbose>  =>   B<boolean, optional>

=begin html

<br>Specifies that all received ICMP packets must be displayed rather than just TIME_EXCEEDED and UNREACHABLE packets. Default: False.

=end html

=back



=over 2

=item * I<wait-time>  =>   B<integer, optional>

=begin html

<br>Specifies the delay time between probes in seconds. Default: 5. Range: [1..65535].

=end html

=back



B<Outputs>

=over 2

=item * I<raw-output>  =>   B<string, optional>

=begin html

<br>The multi-line output of the OS level traceroute6 command.

=end html

=back



=head2 net_tuning_icmp_get

[B<Family:> cluster]


=begin html

Get ICMP tuning options.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-tuning-icmp-options">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-tuning-icmp-options">>

=begin html

<br>The attributes of the ICMP protocol tuning.

=end html

=back



=head2 net_tuning_icmp_modify

[B<Family:> cluster]


=begin html

Modify ICMP tuning options

=end html



B<Inputs>

=over 2

=item * I<is-drop-redirect-enabled>  =>   B<boolean, optional>

=begin html

<br>Drop redirect ICMP

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<redirect-timeout>  =>   B<integer, optional>

=begin html

<br>Maximum seconds for route redirect timeout

=end html

=back



=over 2

=item * I<tx-icmp-limit>  =>   B<integer, optional>

=begin html

<br>Maximum number of ICMP packets sent per second

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_tuning_icmp6_get

[B<Family:> cluster]


=begin html

Get ICMPv6 tuning options.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-tuning-icmp6-options">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-tuning-icmp6-options">>

=begin html

<br>The attributes of the ICMPv6 protocol tuning.

=end html

=back



=head2 net_tuning_icmp6_modify

[B<Family:> cluster]


=begin html

Modify ICMPv6 tuning options

=end html



B<Inputs>

=over 2

=item * I<is-v6-redirect-accepted>  =>   B<boolean, optional>

=begin html

<br>Accept redirects via ICMPv6

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<redirect-v6-timeout>  =>   B<integer, optional>

=begin html

<br>Maximum seconds for route redirect timeout

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_tuning_tcp_get

[B<Family:> cluster]


=begin html

Get TCP tuning options.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"net-tuning-tcp-options">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"net-tuning-tcp-options">>

=begin html

<br>The attributes of the TCP protocol tuning.

=end html

=back



=head2 net_tuning_tcp_modify

[B<Family:> cluster]


=begin html

Modify TCP tuning options

=end html



B<Inputs>

=over 2

=item * I<is-path-mtu-discovery-enabled>  =>   B<boolean, optional>

=begin html

<br>Path MTU discovery enabled

=end html

=back



=over 2

=item * I<is-rfc3390-enabled>  =>   B<boolean, optional>

=begin html

<br>RFC3390 enabled

=end html

=back



=over 2

=item * I<is-rfc3465-enabled>  =>   B<boolean, optional>

=begin html

<br>RFC3465 enabled

=end html

=back



=over 2

=item * I<is-sack-enabled>  =>   B<boolean, optional>

=begin html

<br>SACK supoort enabled

=end html

=back



=over 2

=item * I<max-cwnd-increment>  =>   B<integer, optional>

=begin html

<br>Maximum congestion window segments incrementation

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_vlan_create

[B<Family:> cluster]


=begin html

Create a new vlan interface. In Data ONTAP 7-Mode, changes made by this API are not persisted across system reboots. In Data ONTAP Cluster-Mode, changes made by this API are persisted across system reboots.

=end html



B<Inputs>

=over 2

=item * I<vlan-info>  =>   B<L<"vlan-info">>

=begin html

<br>Vlan to create.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_vlan_delete

[B<Family:> cluster]


=begin html

Delete a vlan interface. In Data ONTAP 7-Mode, changes made by this API are not persisted across system reboots. In Data ONTAP Cluster-Mode, changes made by this API are persisted across system reboots.

=end html



B<Inputs>

=over 2

=item * I<vlan-info>  =>   B<L<"vlan-info">>

=begin html

<br>Vlan to delete.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 net_vlan_get

[B<Family:> cluster]


=begin html

Get the attributes of a VLAN.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vlan-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of vlan interface. The name must be of the format &lt;parent-inteface&gt;-&lt;vlanid&gt;

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node name of vlan interface.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vlan-info">>

=begin html

<br>The attributes of the network VLAN

=end html

=back



=head2 net_vlan_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of VLAN objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vlan-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vlan-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the net-vlan object. All net-vlan objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vlan-info">[], optional>

=begin html

<br>The list of attributes of net-vlan objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more net-vlan objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 netgroups_file_delete

[B<Family:> cluster, vserver]


=begin html

Destroy an existing netgroups file configuration.

=end html



B<Inputs>

=over 2

=item * I<vserver-name>  =>   B<vserver-name>

=begin html

<br>Specifies the Vserver for the local netgroup file.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 netgroups_file_get

[B<Family:> cluster, vserver]


=begin html

Get netgroups file configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"netgroups-file-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>Specifies the domain name component of (host, user, domain) tuple where the tuple is a member of the specified netgroup. The domain name may be empty to specify a 'wildcard' value or may consist of the string '-' to specify 'no valid value'.

=end html

=back



=over 2

=item * I<host>  =>   B<string, optional>

=begin html

<br>Specifies the host name component of (host, user, domain) tuple where the tuple is a member of the specified netgroup. The host name may be empty to specify a 'wildcard' value or may consist of the string '-' to specify 'no valid value'.

=end html

=back



=over 2

=item * I<member-netgroup>  =>   B<string, optional>

=begin html

<br>Specifies the name of a member netgroup contained within this netgroup.

=end html

=back



=over 2

=item * I<netgroup-name>  =>   B<string, optional>

=begin html

<br>Specifies the name of a netgroup within the Vserver's local netgroup file. Each netgroup is composed of a list of members. Each member can be either the name of another netgroup or a specification of a tuple as follows: (host, user, domain). All of these members are given similar network access.

=end html

=back



=over 2

=item * I<user>  =>   B<string, optional>

=begin html

<br>Specifies the user name component of (host, user, domain) tuple where the tuple is a member of the specified netgroup. The user name may be empty to specify a 'wildcard' value or may consist of the string '-' to specify 'no valid value'.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Specifies the Vserver for the local netgroup file.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"netgroups-file-config-info">>

=begin html

<br>The attributes of the netgroup

=end html

=back



=head2 netgroups_file_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of netgroups file configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"netgroups-file-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"netgroups-file-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Netgroups file configuration object. All Netgroups file configuration objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"netgroups-file-config-info">[], optional>

=begin html

<br>The list of attributes of Netgroups file configuration objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Netgroups file configuration objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 nfs_disable

[B<Family:> vserver]


=begin html

In Data ONTAP 7-Mode, this API will disable NFS server access (effectively same as the CLI command "nfs off") In Data ONTAP Cluster-Mode, this will stop the Vserver's NFS service. If the NFS service was not explicitly created, this API does nothing.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nfs_enable

[B<Family:> vserver]


=begin html

In Data ONTAP 7-Mode, this API will enable NFS server access (effectively same as the CLI command "nfs on") In Data ONTAP Cluster-Mode, this will start the Vserver's NFS service. If the NFS service was not explicitly created, this API will create one with default options.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nfs_exportfs_append_rules

[B<Family:> vserver]


=begin html

Enables pathnames for mounting according to the rules specified. New rules for the pathnames take effect immediately, ignoring previous rules for specified pathnames. In the Data ONTAP 7-Mode, set the persistent option to true to save the rule in the etc/exports file and keep the option persistent upon loading or reboot whereas it must be true in Data ONTAP Cluster-Mode as the export entries are always persistent.

=end html



B<Inputs>

=over 2

=item * I<create-multi-clientmatch>  =>   B<boolean, optional>

=begin html

<br>If true, the export rules are created using multiple clientmatches per rule to minimize the number of export rules created. If false, each export rule contains a single clientmatch string. Default value is true.

=end html

=back



=over 2

=item * I<persistent>  =>   B<boolean, optional>

=begin html

<br>In Data ONTAP 7-Mode, default value is false. If true, modifies the etc/exports file to append the rule for a permanent change. (The new rule still takes effect immediately.) In Data ONTAP Cluster-Mode, the export entries are always persistent. Default value is true. If false, an error will be returned.

=end html

=back



=over 2

=item * I<rules>  =>   B<L<"exports-rule-info">[]>

=begin html

<br>List of rules to add to the exports table.

=end html

=back



=over 2

=item * I<verbose>  =>   B<boolean, optional>

=begin html

<br>If true, returns a list of directories which were appended. Errors during the append are recorded in the 'results' field error and 'loaded-pathnames' will contain which pathnames were successfully appended. Default value is false.

=end html

=back



B<Outputs>

=over 2

=item * I<exported-pathnames>  =>   B<L<"pathname-info">[], optional>

=begin html

<br>In Data ONTAP 7-Mode, this will return verbose output of what pathnames were successfully saved in the etc/exports file. Only returned if verbose and persistent options are set. In Data ONTAP Cluster-Mode, this will return verbose output of what pathnames were successfully appended. Only returned if verbose option is set.

=end html

=back



=over 2

=item * I<loaded-pathnames>  =>   B<L<"pathname-info">[], optional>

=begin html

<br>Verbose output of what pathnames were successfully appended Only returned if verbose option is set.

=end html

=back



=head2 nfs_exportfs_append_rules_2

[B<Family:> vserver]


=begin html

Enables pathnames for mounting according to the rules specified. New rules for the pathnames take effect immediately, ignoring previous rules for specified pathnames. In the Data ONTAP 7-Mode, set the persistent option to true to save the rule in the etc/exports file and keep the option persistent upon loading or reboot whereas it must be true in Data ONTAP Cluster-Mode as the export entries are always persistent. The new security-rule-info structure contains finer grained information about security rules than exports-rule-info.

=end html



B<Inputs>

=over 2

=item * I<create-multi-clientmatch>  =>   B<boolean, optional>

=begin html

<br>If true, the export rules are created using multiple clientmatches per rule to minimize the number of export rules created. If false, each export rule contains a single clientmatch string. Default value is true.

=end html

=back



=over 2

=item * I<persistent>  =>   B<boolean, optional>

=begin html

<br>In Data ONTAP 7-Mode, default value is false. If true, modifies the etc/exports file to append the rule for a permanent change. (The new rule still takes effect immediately.) In Data ONTAP Cluster-Mode, the export entries are always persistent. Default value is true. If false, an error will be returned.

=end html

=back



=over 2

=item * I<rules>  =>   B<L<"exports-rule-info-2">[]>

=begin html

<br>List of rules to add to the exports table.

=end html

=back



=over 2

=item * I<verbose>  =>   B<boolean, optional>

=begin html

<br>If true, returns a list of directories which were appended. Errors during the append are recorded in the 'results' field error and 'loaded-pathnames' will contain which pathnames were successfully appended. Default value is false.

=end html

=back



B<Outputs>

=over 2

=item * I<exported-pathnames>  =>   B<L<"pathname-info">[], optional>

=begin html

<br>In Data ONTAP 7-Mode, this will return verbose output of what pathnames were successfully saved in the etc/exports file. Only returned if verbose and persistent options are set. In Data ONTAP Cluster-Mode, this will return verbose output of what pathnames were successfully appended. Only returned if verbose option is set.

=end html

=back



=over 2

=item * I<loaded-pathnames>  =>   B<L<"pathname-info">[], optional>

=begin html

<br>Verbose output of what pathnames were successfully appended Only returned if verbose option is set.

=end html

=back



=head2 nfs_exportfs_check_permission

[B<Family:> vserver]


=begin html

Returns true if the host IP has mount permissions for a specified path.

=end html



B<Inputs>

=over 2

=item * I<host>  =>   B<string>

=begin html

<br>IP address of the host to check in dotted decimal format: AAA.BBB.CCC.DDD

=end html

=back



=over 2

=item * I<pathname>  =>   B<string>

=begin html

<br>Returns the permissions for this path.

=end html

=back



=over 2

=item * I<permission>  =>   B<string>

=begin html

<br>Possible values: &quot;read-only&quot;, &quot;read-write&quot;, and &quot;root&quot;.

=end html

=back



B<Outputs>

=over 2

=item * I<is-permissible>  =>   B<boolean>

=begin html

<br>True if host has permission to the path.

=end html

=back



=head2 nfs_exportfs_delete_rules

[B<Family:> vserver]


=begin html

Removes the rules for a set of pathnames. This returns an error if any of the pathnames don't have a rule. In the Data ONTAP 7-Mode, set the persistent option to modify the etc/exports file and keep this change persistent upon reboots whereas it must be true in Data ONTAP Cluster-Mode as the export entries are always persistent.

=end html



B<Inputs>

=over 2

=item * I<all-pathnames>  =>   B<boolean, optional>

=begin html

<br>Default value is false. Set to true to delete all rules. 'pathnames' option must be left empty if this option is true.

=end html

=back



=over 2

=item * I<pathnames>  =>   B<L<"pathname-info">[], optional>

=begin html

<br>In the Data ONTAP 7-Mode, these must be the pathnames to be deleted from the exports table. In Data ONTAP Cluster-Mode the pathname for a volume must be specified using the junction path (&quot;/junction&quot;). The pathname for a qtree must be specified as (&quot;/vol/volname/qtreename0&quot;) or (&quot;/junction/qtreename0&quot;).

=end html

=back



=over 2

=item * I<persistent>  =>   B<boolean, optional>

=begin html

<br>In Data ONTAP 7-Mode, default value is false. Modify the etc/exports file to delete the rules permanently. CAUTION: If 'all-pathnames' and 'persistent' are both true, all exports are removed permanently. In Data ONTAP Cluster-Mode, the export entries are always persistent. Default value is true. If false, an error will be returned.

=end html

=back



=over 2

=item * I<verbose>  =>   B<boolean, optional>

=begin html

<br>Return a verbose output of what occurred. If there is an error after deleting only a few rules, 'deleted-pathnames' will return which rules were deleted. Default value is false.

=end html

=back



B<Outputs>

=over 2

=item * I<deleted-pathnames>  =>   B<L<"pathname-info">[], optional>

=begin html

<br>In Data ONTAP 7-Mode, this will return the list of pathnames deleted from the exports table in memory. Only returned if verbose option is set. In Data ONTAP Cluster-Mode, this will return the list of pathnames unexported.

=end html

=back



=over 2

=item * I<unexported-pathnames>  =>   B<L<"pathname-info">[], optional>

=begin html

<br>In Data ONTAP 7-Mode, this will return the list of pathnames deleted from the exports file. Only returned if verbose and persistent options are set. In Data ONTAP Cluster-Mode, this will return the list of pathnames unexported.

=end html

=back



=head2 nfs_exportfs_list_rules

[B<Family:> vserver]


=begin html

Returns the export rules that were configured with a single security flavor. If a pathname is specified, the rules associated with the export matching that pathname are returned; otherwise, rules for all exports are returned.

=end html



B<Inputs>

=over 2

=item * I<pathname>  =>   B<string, optional>

=begin html

<br>The pathname, for whose matching export, the client wants a listing of the associated rules. If this parameter is provided, the persistent parameter is ignored.

=end html

=back



=over 2

=item * I<persistent>  =>   B<boolean, optional>

=begin html

<br>In Data ONTAP 7-Mode, default value is false. If true, the export entries that are present in the /etc/exports file are returned; otherwise, those loaded in memory are returned. This parameter is ignored, if the pathname parameter is provided. In Data ONTAP Cluster-Mode, the export entries are always persistent. Default value is true. If false, an empty list will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<rules>  =>   B<L<"exports-rule-info">[]>

=begin html

<br>Array of exports rules loaded in memory or found in the etc/exports file. If pathname parameter is provided, returns the corresponding rules that are loaded in memory.

=end html

=back



=head2 nfs_exportfs_list_rules_2

[B<Family:> vserver]


=begin html

Returns the export rules that were configured with more than one security flavor, using the new security info structure. If a pathname is specified, the rules associated with the export matching that pathname are returned; otherwise, rules for all exports are returned.

=end html



B<Inputs>

=over 2

=item * I<pathname>  =>   B<string, optional>

=begin html

<br>The pathname, for whose matching export, the client wants a listing of the associated rules. If this parameter is provided, the persistent parameter is ignored.

=end html

=back



=over 2

=item * I<persistent>  =>   B<boolean, optional>

=begin html

<br>In Data ONTAP 7-Mode, default value is false. If true, the export entries that are present in the /etc/exports file are returned; otherwise, those loaded in memory are returned. This parameter is ignored, if the pathname parameter is provided. In Data ONTAP Cluster-Mode, the export entries are always persistent. Default value is true. If false, an empty list will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<rules>  =>   B<L<"exports-rule-info-2">[]>

=begin html

<br>Array of exports rules loaded in memory or found in the etc/exports file. If pathname parameter is provided, returns the corresponding rules that are loaded in memory.

=end html

=back



=head2 nfs_exportfs_modify_rule

[B<Family:> vserver]


=begin html

Functionally similar to append with the following caveats. In Data ONTAP 7-Mode, returns an error if the rule does not exist. In Data ONTAP Cluster-Mode, returns an error if the export policy associated with the path doesn't contain any rules. Only works for one rule at a time.

=end html



B<Inputs>

=over 2

=item * I<create-multi-clientmatch>  =>   B<boolean, optional>

=begin html

<br>If true, the export rules are created using multiple clientmatches per rule to minimize the number of export rules created. If false, each export rule contains a single clientmatch string. Default value is true.

=end html

=back



=over 2

=item * I<persistent>  =>   B<boolean>

=begin html

<br>In Data ONTAP 7-Mode, default value is false. If true, modifies the etc/exports file to append the rule for a permanent change. (The new rule still takes effect immediately.) In Data ONTAP Cluster-Mode, the export entries are always persistent. Default value is true. If false, an error will be returned.

=end html

=back



=over 2

=item * I<rule>  =>   B<L<"exports-rule-info">>

=begin html

<br>The rule to modify. In Data ONTAP 7-mode, returns an error if a previous rule with the same pathname is not already loaded into memory.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nfs_exportfs_modify_rule_2

[B<Family:> vserver]


=begin html

Functionally similar to append-2 with the following caveats. In Data ONTAP 7-Mode, returns an error if the rule does not exist. In Data ONTAP Cluster-Mode, returns an error if the export policy associated with the path doesn't contain any rules. Only works for one rule at a time.

=end html



B<Inputs>

=over 2

=item * I<create-multi-clientmatch>  =>   B<boolean, optional>

=begin html

<br>If true, the export rules are created using multiple clientmatches per rule to minimize the number of export rules created. If false, each export rule contains a single clientmatch string. Default value is true.

=end html

=back



=over 2

=item * I<persistent>  =>   B<boolean>

=begin html

<br>In Data ONTAP 7-Mode, default value is false. If true, modifies the etc/exports file to append the rule for a permanent change. (The new rule still takes effect immediately.) In Data ONTAP Cluster-Mode, the export entries are always persistent. Default value is true. If false, an error will be returned.

=end html

=back



=over 2

=item * I<rule>  =>   B<L<"exports-rule-info-2">>

=begin html

<br>The rule to modify. In Data ONTAP 7-mode, returns an error if a previous rule with the same pathname is not already loaded into memory.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nfs_get_supported_sec_flavors

[B<Family:> vserver]


=begin html

Returns a list of currently supported security flavors. Hosts with permmisions and connecting via the proper security flavor have access to directories on the filer. Default security flavor for all exports is &quot;sys&quot;.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<sec-flavor>  =>   B<L<"sec-flavor-info">[]>

=begin html

<br>List of possible security flavors NFS supports.

=end html

=back



=head2 nfs_service_create

[B<Family:> vserver]


=begin html

Create a new NFS configuration.

=end html



B<Inputs>

=over 2

=item * I<auth-sys-extended-groups>  =>   B<boolean, optional>

=begin html

<br>If 'true', auxillary groups up to 'extended-groups-limit' are fetched from the name service rather than the RPC header for AUTH_SYS. Default value is 'false'.

=end html

=back



=over 2

=item * I<cached-cred-negative-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Negative Cached Credential. The range is 60000 ms to 604800000 ms. The default value is 7200000 ms.

=end html

=back



=over 2

=item * I<cached-cred-positive-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Positive Cached Credential. The range is 60000 ms to 604800000 ms. The default value is 86400000 ms.

=end html

=back



=over 2

=item * I<cached-transient-err-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Cached Entry for a Transient Error. The range is 30000 ms to 300000 ms. The default is 30000 ms.

=end html

=back



=over 2

=item * I<chown-mode>  =>   B<nfschownmode, optional>

=begin html

<br>Vserver Change Ownership Mode. Possible values are 'ignore', 'fail', 'use_export_policy'. If 'use_export_policy' is set, export policy option is used. Default value is 'use_export_policy'. Possible values: <ul> <li> "restricted" , <li> "unrestricted" , <li> "use_export_policy" </ul>

=end html

=back



=over 2

=item * I<default-windows-group>  =>   B<string, optional>

=begin html

<br>The default windows group for CIFS access.

=end html

=back



=over 2

=item * I<default-windows-user>  =>   B<string, optional>

=begin html

<br>The default windows user for CIFS access.

=end html

=back



=over 2

=item * I<enable-ejukebox>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the NFS server will send EJUKEBOX error on server delays.

=end html

=back



=over 2

=item * I<extended-groups-limit>  =>   B<integer, optional>

=begin html

<br>Maximum auxillary groups supported over AUTH_SYS and RPCSEC_GSS. This value always applies for RPCSEC_GSS and applies to AUTH_SYS only when 'auth-sys-extended-groups' is set to 'enabled'. Range is 32 to 1024. Default value is 32.

=end html

=back



=over 2

=item * I<file-session-io-grouping-count>  =>   B<integer, optional>

=begin html

<br>Number of I/O operations on a file to be grouped and considered as one session for event generation applications, such as FPolicy. The range is 1000 to 20000. The default is 5000.

=end html

=back



=over 2

=item * I<file-session-io-grouping-duration>  =>   B<integer, optional>

=begin html

<br>The duration for which I/O operations on a file will be grouped and considered as one session for event generation applications, such as FPolicy. The range is 60 seconds to 600 seconds. The default is 120s.

=end html

=back



=over 2

=item * I<ignore-nt-acl-for-root>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows the 'root' user to ignore the NT ACLs Check. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-checksum-enabled-for-replay-cache>  =>   B<boolean, optional>

=begin html

<br>Use Checksum for Replay-Cache, in order to identify invalid retransmitted requests.

=end html

=back



=over 2

=item * I<is-mount-rootonly-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the vserver allows MOUNT protocol calls only from privileged ports (port numbers less than 1024). Default value is 'true'.

=end html

=back



=over 2

=item * I<is-netgroup-dns-domain-search>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows for searching various DNS domains during netgroup lookup. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfs-access-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true',then NFS server access is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfs-rootonly-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the vserver allows NFS protocol calls only from privileged ports (port numbers less than 1024). Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv2-enabled>  =>   B<boolean, optional>

=begin html

<br>Starting Data ONTAP 8.2, NFS v2 is no longer supported. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv3-64bit-identifiers-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv3 clients see 64-bit values for FSID and File Identifiers. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv3-connection-drop-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then connection is dropped when an NFSv3 request is dropped. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv3-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 3 is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv3-fsid-change-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv3 clients see change in FSID as they traverse filesystems. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv4-fsid-change-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then clients see change in FSID as NFSv4 clients traverse filesystems. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv4-numeric-ids-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4 support for Numeric Owner IDs is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv40-acl-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 ACL feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 4.0 is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-migration-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 Migration feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-read-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.0 read delegation feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-referrals-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 Referrals feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-req-open-confirm-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the server will require an OPEN_CONFIRM operation for all NFSv4.0 clients. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-write-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.0 write delegation feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-acl-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 ACL feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-acl-preserve-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the NFSv4 server will preserve and modify ACL when chmod <mode> is done. Default value is 'true'. This is applicable to all NFSv4.x instances.

=end html

=back



=over 2

=item * I<is-nfsv41-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 4.1 is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-migration-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 Migration feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-pnfs-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then Parallel NFS support for NFS version 4.1 is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv41-pnfs-striped-volumes-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', Striped volume support for Parallel NFS is enabled . Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-read-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.1 read delegation feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-referrals-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 Referrals feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-state-protection-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 State Protection is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv41-write-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.1 write delegation feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-rquota-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then rquota is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-tcp-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enable NFS access over TCP. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-udp-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enable NFS access over UDP. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-v3-ms-dos-client-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows NFSv3 access for Windows clients. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-validate-qtree-export-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver performs additional validation for qtree. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-vstorage-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enables the usage of vStorage protocol for server side copies, which is mostly used in hypervisors. Default value is 'false'.

=end html

=back



=over 2

=item * I<map-unknown-uid-to-default-windows-user>  =>   B<boolean, optional>

=begin html

<br>Map Unknown UID to Default Windows User

=end html

=back



=over 2

=item * I<mountd-port>  =>   B<integer, optional>

=begin html

<br>Port that NFS mount daemon is listening to. Default value is 635.

=end html

=back



=over 2

=item * I<name-service-lookup-protocol>  =>   B<export-lookup-protos, optional>

=begin html

<br>Set the protocol used for name service lookups for exports. Valid inputs are TCP and UDP. Default value is UDP. Possible values: <ul> <li> "tcp" , <li> "udp" </ul>

=end html

=back



=over 2

=item * I<netgroup-trust-any-ns-switch-no-match>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver will consider a no-match from any one of the netgroup ns-switch sources to be authoritative even though other sources could not be consulted. Default value is 'false'.

=end html

=back



=over 2

=item * I<nfsv4-acl-max-aces>  =>   B<integer, optional>

=begin html

<br>Maximum Number of ACEs allowed in an ACL. Range is 192 to 1024. Default value is 400.

=end html

=back



=over 2

=item * I<nfsv4-grace-seconds>  =>   B<integer, optional>

=begin html

<br>NFSv4 Grace timeout value in seconds. Default value is 45 seconds.

=end html

=back



=over 2

=item * I<nfsv4-id-domain>  =>   B<string, optional>

=begin html

<br>NFSv4 ID mapping domain. Default value is 'defaultv4iddomain.com'.

=end html

=back



=over 2

=item * I<nfsv4-lease-seconds>  =>   B<integer, optional>

=begin html

<br>NFSv4 Lease timeout value in seconds. Default value is 30 seconds.

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-domain>  =>   B<string, optional>

=begin html

<br>NFSv4.1 Implementation id domain. Default value is 'defaultv41impliddomain.com'.

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-name>  =>   B<string, optional>

=begin html

<br>NFSv4.1 Implementation id name. Default value is 'defaultv41implidname'.

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-time>  =>   B<date, optional>

=begin html

<br>NFSv4.1 Implementation id time.The number of seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<nfsv4x-session-num-slots>  =>   B<integer, optional>

=begin html

<br>Number of Slots in the NFSv4.x Session Slot Tables. Default value is 180.

=end html

=back



=over 2

=item * I<nfsv4x-session-slot-reply-cache-size>  =>   B<integer, optional>

=begin html

<br>Size of the Reply that will be Cached in Each NFSv4.x Session Slot (in bytes). Default value is 640.

=end html

=back



=over 2

=item * I<nlm-port>  =>   B<integer, optional>

=begin html

<br>Port that network lock manager is listening to. Default value is 4045.

=end html

=back



=over 2

=item * I<nsm-port>  =>   B<integer, optional>

=begin html

<br>Port that network status monitor is listening to. Default value is 4046.

=end html

=back



=over 2

=item * I<ntacl-display-permissive-perms>  =>   B<boolean, optional>

=begin html

<br>This optional parameter controls the permissions that are displayed to NFS clients on a file or directory that has an NT ACL set. If 'true', the displayed permissions are based on the maximum access granted by the NT ACL to any user. When false, the displayed permissions are based on the minimum access granted by the NT ACL to any user. Default value is 'false'.

=end html

=back



=over 2

=item * I<ntfs-unix-security-ops>  =>   B<string, optional>

=begin html

<br>Ignore/Fail unix security operations on NTFS volumes. Possible values are 'ignore', 'fail','use_export_policy'. If 'use_export_policy' is set, export policy option is used. Default value is 'use_export_policy'.

=end html

=back



=over 2

=item * I<permitted-enc-types>  =>   B<string[], optional>

=begin html

<br>List of permitted encryption types for Kerberos over NFS. Default values are des, des3. Valid inputs are des, des-3, aes-128, and aes-256.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the NFS Server on successful creation. Default: false

=end html

=back



=over 2

=item * I<rpcsec-ctx-high>  =>   B<integer, optional>

=begin html

<br>High water mark for the RPCSEC_GSS Context Cache. Default value is 0.

=end html

=back



=over 2

=item * I<rpcsec-ctx-idle>  =>   B<integer, optional>

=begin html

<br>Time in seconds before an idle entry in RPCSEC_GSS context cache is deleted. Default value is 0.

=end html

=back



=over 2

=item * I<rquotad-port>  =>   B<integer, optional>

=begin html

<br>Port that NFS quota daemon is listening to. Default value is 4049.

=end html

=back



=over 2

=item * I<showmount>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows showmount. Default value is 'enabled'.

=end html

=back



=over 2

=item * I<skip-root-owner-write-perm-check>  =>   B<boolean, optional>

=begin html

<br>If 'true', then permission check will be avoided for NFS Write requests from root/owner. For copying read-only files, this must be true. Default value is 'false'.

=end html

=back



=over 2

=item * I<v3-search-unconverted-filename>  =>   B<boolean, optional>

=begin html

<br>Whether to continue the search as an unconverted name while doing lookup in a directory. Default value is disabled.

=end html

=back



=over 2

=item * I<v4-inherited-acl-preserve>  =>   B<boolean, optional>

=begin html

<br>Whether client specified mode bits should be ignored and inherited NFSv4 ACL should be preserved during creation of file or directory. Default value is disabled.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"nfs-info">, optional>

=begin html

<br>The NFS Server created (keys or the entire object if requested)

=end html

=back



=head2 nfs_service_destroy

[B<Family:> vserver]


=begin html

Delete an NFS configuration.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nfs_service_get

[B<Family:> vserver]


=begin html

Get the NFS server configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nfs-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"nfs-info">>

=begin html

<br>The attributes of the NFS Server.

=end html

=back



=head2 nfs_service_get_create_defaults

[B<Family:> cluster, vserver]


=begin html

Obtain the default values for NFS server configuration.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"nfs-info">, optional>

=begin html

<br>Optionally specify the value for attributes if available. The default values for some attributes may depend on the values specified for some other attribute.

=end html

=back



B<Outputs>

=over 2

=item * I<defaults>  =>   B<L<"nfs-info">>

=begin html

<br>The default attributes for the NFS Server.

=end html

=back



=head2 nfs_service_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of NFS servers.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nfs-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"nfs-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the NFS Server object. All NFS Server objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"nfs-info">[], optional>

=begin html

<br>The list of attributes of NFS Server objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more NFS Server objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 nfs_service_modify

[B<Family:> vserver]


=begin html

Modify an NFS configuration. If no values are given, the NFS configuration is not modified.

=end html



B<Inputs>

=over 2

=item * I<auth-sys-extended-groups>  =>   B<boolean, optional>

=begin html

<br>If 'true', auxillary groups up to 'extended-groups-limit' are fetched from the name service rather than the RPC header for AUTH_SYS. Default value is 'false'.

=end html

=back



=over 2

=item * I<cached-cred-negative-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Negative Cached Credential. The range is 60000 ms to 604800000 ms. The default value is 7200000 ms.

=end html

=back



=over 2

=item * I<cached-cred-positive-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Positive Cached Credential. The range is 60000 ms to 604800000 ms. The default value is 86400000 ms.

=end html

=back



=over 2

=item * I<cached-transient-err-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Cached Entry for a Transient Error. The range is 30000 ms to 300000 ms. The default is 30000 ms.

=end html

=back



=over 2

=item * I<chown-mode>  =>   B<nfschownmode, optional>

=begin html

<br>Vserver Change Ownership Mode. Possible values are 'ignore', 'fail', 'use_export_policy'. If 'use_export_policy' is set, export policy option is used. Default value is 'use_export_policy'. Possible values: <ul> <li> "restricted" , <li> "unrestricted" , <li> "use_export_policy" </ul>

=end html

=back



=over 2

=item * I<default-windows-group>  =>   B<string, optional>

=begin html

<br>The default windows group for CIFS access.

=end html

=back



=over 2

=item * I<default-windows-user>  =>   B<string, optional>

=begin html

<br>The default windows user for CIFS access.

=end html

=back



=over 2

=item * I<enable-ejukebox>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the NFS server will send EJUKEBOX error on server delays.

=end html

=back



=over 2

=item * I<extended-groups-limit>  =>   B<integer, optional>

=begin html

<br>Maximum auxillary groups supported over AUTH_SYS and RPCSEC_GSS. This value always applies for RPCSEC_GSS and applies to AUTH_SYS only when 'auth-sys-extended-groups' is set to 'enabled'. Range is 32 to 1024. Default value is 32.

=end html

=back



=over 2

=item * I<file-session-io-grouping-count>  =>   B<integer, optional>

=begin html

<br>Number of I/O operations on a file to be grouped and considered as one session for event generation applications, such as FPolicy. The range is 1000 to 20000. The default is 5000.

=end html

=back



=over 2

=item * I<file-session-io-grouping-duration>  =>   B<integer, optional>

=begin html

<br>The duration for which I/O operations on a file will be grouped and considered as one session for event generation applications, such as FPolicy. The range is 60 seconds to 600 seconds. The default is 120s.

=end html

=back



=over 2

=item * I<ignore-nt-acl-for-root>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows the 'root' user to ignore the NT ACLs Check. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-checksum-enabled-for-replay-cache>  =>   B<boolean, optional>

=begin html

<br>Use Checksum for Replay-Cache, in order to identify invalid retransmitted requests.

=end html

=back



=over 2

=item * I<is-mount-rootonly-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the vserver allows MOUNT protocol calls only from privileged ports (port numbers less than 1024). Default value is 'true'.

=end html

=back



=over 2

=item * I<is-netgroup-dns-domain-search>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows for searching various DNS domains during netgroup lookup. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfs-access-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true',then NFS server access is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfs-rootonly-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the vserver allows NFS protocol calls only from privileged ports (port numbers less than 1024). Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv2-enabled>  =>   B<boolean, optional>

=begin html

<br>Starting Data ONTAP 8.2, NFS v2 is no longer supported. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv3-64bit-identifiers-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv3 clients see 64-bit values for FSID and File Identifiers. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv3-connection-drop-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then connection is dropped when an NFSv3 request is dropped. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv3-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 3 is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv3-fsid-change-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv3 clients see change in FSID as they traverse filesystems. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv4-fsid-change-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then clients see change in FSID as NFSv4 clients traverse filesystems. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv4-numeric-ids-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4 support for Numeric Owner IDs is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv40-acl-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 ACL feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 4.0 is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-migration-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 Migration feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-read-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.0 read delegation feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-referrals-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 Referrals feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-req-open-confirm-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the server will require an OPEN_CONFIRM operation for all NFSv4.0 clients. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv40-write-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.0 write delegation feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-acl-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 ACL feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-acl-preserve-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the NFSv4 server will preserve and modify ACL when chmod <mode> is done. Default value is 'true'. This is applicable to all NFSv4.x instances.

=end html

=back



=over 2

=item * I<is-nfsv41-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 4.1 is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-migration-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 Migration feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-pnfs-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then Parallel NFS support for NFS version 4.1 is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv41-pnfs-striped-volumes-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', Striped volume support for Parallel NFS is enabled . Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-read-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.1 read delegation feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-referrals-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 Referrals feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-nfsv41-state-protection-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 State Protection is enabled. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-nfsv41-write-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.1 write delegation feature is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-rquota-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then rquota is enabled. Default value is 'false'.

=end html

=back



=over 2

=item * I<is-tcp-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enable NFS access over TCP. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-udp-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enable NFS access over UDP. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-v3-ms-dos-client-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows NFSv3 access for Windows clients. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-validate-qtree-export-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver performs additional validation for qtree. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-vstorage-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enables the usage of vStorage protocol for server side copies, which is mostly used in hypervisors. Default value is 'false'.

=end html

=back



=over 2

=item * I<map-unknown-uid-to-default-windows-user>  =>   B<boolean, optional>

=begin html

<br>Map Unknown UID to Default Windows User

=end html

=back



=over 2

=item * I<mountd-port>  =>   B<integer, optional>

=begin html

<br>Port that NFS mount daemon is listening to. Default value is 635.

=end html

=back



=over 2

=item * I<name-service-lookup-protocol>  =>   B<export-lookup-protos, optional>

=begin html

<br>Set the protocol used for name service lookups for exports. Valid inputs are TCP and UDP. Default value is UDP. Possible values: <ul> <li> "tcp" , <li> "udp" </ul>

=end html

=back



=over 2

=item * I<netgroup-trust-any-ns-switch-no-match>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver will consider a no-match from any one of the netgroup ns-switch sources to be authoritative even though other sources could not be consulted. Default value is 'false'.

=end html

=back



=over 2

=item * I<nfsv4-acl-max-aces>  =>   B<integer, optional>

=begin html

<br>Maximum Number of ACEs allowed in an ACL. Range is 192 to 1024. Default value is 400.

=end html

=back



=over 2

=item * I<nfsv4-grace-seconds>  =>   B<integer, optional>

=begin html

<br>NFSv4 Grace timeout value in seconds. Default value is 45 seconds.

=end html

=back



=over 2

=item * I<nfsv4-id-domain>  =>   B<string, optional>

=begin html

<br>NFSv4 ID mapping domain. Default value is 'defaultv4iddomain.com'.

=end html

=back



=over 2

=item * I<nfsv4-lease-seconds>  =>   B<integer, optional>

=begin html

<br>NFSv4 Lease timeout value in seconds. Default value is 30 seconds.

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-domain>  =>   B<string, optional>

=begin html

<br>NFSv4.1 Implementation id domain. Default value is 'defaultv41impliddomain.com'.

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-name>  =>   B<string, optional>

=begin html

<br>NFSv4.1 Implementation id name. Default value is 'defaultv41implidname'.

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-time>  =>   B<date, optional>

=begin html

<br>NFSv4.1 Implementation id time.The number of seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<nfsv4x-session-num-slots>  =>   B<integer, optional>

=begin html

<br>Number of Slots in the NFSv4.x Session Slot Tables. Default value is 180.

=end html

=back



=over 2

=item * I<nfsv4x-session-slot-reply-cache-size>  =>   B<integer, optional>

=begin html

<br>Size of the Reply that will be Cached in Each NFSv4.x Session Slot (in bytes). Default value is 640.

=end html

=back



=over 2

=item * I<nlm-port>  =>   B<integer, optional>

=begin html

<br>Port that network lock manager is listening to. Default value is 4045.

=end html

=back



=over 2

=item * I<nsm-port>  =>   B<integer, optional>

=begin html

<br>Port that network status monitor is listening to. Default value is 4046.

=end html

=back



=over 2

=item * I<ntacl-display-permissive-perms>  =>   B<boolean, optional>

=begin html

<br>This optional parameter controls the permissions that are displayed to NFS clients on a file or directory that has an NT ACL set. If 'true', the displayed permissions are based on the maximum access granted by the NT ACL to any user. When false, the displayed permissions are based on the minimum access granted by the NT ACL to any user. Default value is 'false'.

=end html

=back



=over 2

=item * I<ntfs-unix-security-ops>  =>   B<string, optional>

=begin html

<br>Ignore/Fail unix security operations on NTFS volumes. Possible values are 'ignore', 'fail','use_export_policy'. If 'use_export_policy' is set, export policy option is used. Default value is 'use_export_policy'.

=end html

=back



=over 2

=item * I<permitted-enc-types>  =>   B<string[], optional>

=begin html

<br>List of permitted encryption types for Kerberos over NFS. Default values are des, des3. Valid inputs are des, des-3, aes-128, and aes-256.

=end html

=back



=over 2

=item * I<rpcsec-ctx-high>  =>   B<integer, optional>

=begin html

<br>High water mark for the RPCSEC_GSS Context Cache. Default value is 0.

=end html

=back



=over 2

=item * I<rpcsec-ctx-idle>  =>   B<integer, optional>

=begin html

<br>Time in seconds before an idle entry in RPCSEC_GSS context cache is deleted. Default value is 0.

=end html

=back



=over 2

=item * I<rquotad-port>  =>   B<integer, optional>

=begin html

<br>Port that NFS quota daemon is listening to. Default value is 4049.

=end html

=back



=over 2

=item * I<showmount>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows showmount. Default value is 'enabled'.

=end html

=back



=over 2

=item * I<skip-root-owner-write-perm-check>  =>   B<boolean, optional>

=begin html

<br>If 'true', then permission check will be avoided for NFS Write requests from root/owner. For copying read-only files, this must be true. Default value is 'false'.

=end html

=back



=over 2

=item * I<v3-search-unconverted-filename>  =>   B<boolean, optional>

=begin html

<br>Whether to continue the search as an unconverted name while doing lookup in a directory. Default value is disabled.

=end html

=back



=over 2

=item * I<v4-inherited-acl-preserve>  =>   B<boolean, optional>

=begin html

<br>Whether client specified mode bits should be ignored and inherited NFSv4 ACL should be preserved during creation of file or directory. Default value is disabled.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nfs_status

[B<Family:> vserver]


=begin html

Returns the status of the NFS server.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<is-drained>  =>   B<boolean>

=begin html

<br>If true, then the NFS server has been disabled and all NFS messages have been drained. In Data ONTAP Cluster-Mode, there is no way of finding out if the NFS messages have been drained. Hence this field will always be false.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>True if NFS server is running.

=end html

=back



=head2 nis_create

[B<Family:> vserver]


=begin html

Create an NIS domain configuration. Multiple NIS domains can be configured on a single Vserver, but only one NIS domain can be active at any given time.

=end html



B<Inputs>

=over 2

=item * I<is-active>  =>   B<boolean, optional>

=begin html

<br>(DEPRECATED)-Specifies whether the NIS domain configuration is active or inactive.

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<string>

=begin html

<br>Specifies the NIS domain. For example: 'example.com'

=end html

=back



=over 2

=item * I<nis-fqdn>  =>   B<string[], optional>

=begin html

<br>Specifies the hostname/IP address of one or more NIS servers in the domain.

=end html

=back



=over 2

=item * I<nis-servers>  =>   B<ip-address[], optional>

=begin html

<br>(DEPRECATED)-Specifies the IP address of one or more NIS servers in the domain.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the NIS domain configuration on successful creation. Default: false

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>If true, validation of the the corresponding NIS configuration will be skipped.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"nis-domain-config-info">, optional>

=begin html

<br>The NIS domain configuration created (keys or the entire object if requested)

=end html

=back



=head2 nis_destroy

[B<Family:> vserver]


=begin html

Destroy an existing NIS configuration.

=end html



B<Inputs>

=over 2

=item * I<nis-domain>  =>   B<string>

=begin html

<br>Specifies the NIS domain. For example: 'example.com'

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 nis_get

[B<Family:> vserver]


=begin html

Get NIS domain configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nis-domain-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<string>

=begin html

<br>Specifies the NIS domain. For example: 'example.com'

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"nis-domain-config-info">>

=begin html

<br>The attributes of the NIS domain configuration.

=end html

=back



=head2 nis_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of NIS configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"nis-domain-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"nis-domain-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the NIS domain configuration object. All NIS domain configuration objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"nis-domain-config-info">[], optional>

=begin html

<br>The list of attributes of NIS domain configuration objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more NIS domain configuration objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 nis_modify

[B<Family:> vserver]


=begin html

Modify the attributes of NIS configuration.

=end html



B<Inputs>

=over 2

=item * I<is-active>  =>   B<boolean, optional>

=begin html

<br>(DEPRECATED)-Specifies whether the NIS domain configuration is active or inactive.

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<string>

=begin html

<br>Specifies the NIS domain. For example: 'example.com'

=end html

=back



=over 2

=item * I<nis-fqdn>  =>   B<string[], optional>

=begin html

<br>Specifies the hostname/IP address of one or more NIS servers in the domain.

=end html

=back



=over 2

=item * I<nis-servers>  =>   B<ip-address[], optional>

=begin html

<br>(DEPRECATED)-Specifies the IP address of one or more NIS servers in the domain.

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>If true, validation of the the corresponding NIS configuration will be skipped.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ntp_server_create

[B<Family:> cluster]


=begin html

Creates a configuration for an external time server to be used by NTP.

=end html



B<Inputs>

=over 2

=item * I<is-preferred>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the server is preferred as a time source. By default, this value is false. Only one NTP server may be preferred. All other servers will have preferred set to false when this is set.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the ntp server configuration on successful creation. Default: false

=end html

=back



=over 2

=item * I<server-name>  =>   B<string>

=begin html

<br>Host name, IPv4 address or IPv6 address for the external NTP time server

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>NTP protocol version which can be '3', '4' or 'auto'. The 'auto' value uses Data ONTAP's best practice value.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"ntp-server-info">, optional>

=begin html

<br>The ntp server configuration created (keys or the entire object if requested)

=end html

=back



=head2 ntp_server_delete

[B<Family:> cluster]


=begin html

Remove a configuration for an external time server used by NTP.

=end html



B<Inputs>

=over 2

=item * I<server-name>  =>   B<string>

=begin html

<br>Host name, IPv4 address or IPv6 address for the external NTP time server

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ntp_server_get

[B<Family:> cluster]


=begin html

Get the configuration of an external time server used by NTP.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ntp-server-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<server-name>  =>   B<string>

=begin html

<br>Host name, IPv4 address or IPv6 address for the external NTP time server

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ntp-server-info">>

=begin html

<br>The attributes of the ntp server configuration.

=end html

=back



=head2 ntp_server_get_iter

[B<Family:> cluster]


=begin html

Get the configuration of all the external time servers used by NTP.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ntp-server-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ntp-server-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ntp server configuration object. All ntp server configuration objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ntp-server-info">[], optional>

=begin html

<br>The list of attributes of ntp server configuration objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ntp server configuration objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ntp_server_modify

[B<Family:> cluster]


=begin html

Modify a configuration for an external time server used by NTP.

=end html



B<Inputs>

=over 2

=item * I<is-preferred>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the server is preferred as a time source. By default, this value is false. Only one NTP server may be preferred. All other servers will have preferred set to false when this is set.

=end html

=back



=over 2

=item * I<server-name>  =>   B<string>

=begin html

<br>Host name, IPv4 address or IPv6 address for the external NTP time server

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>NTP protocol version which can be '3', '4' or 'auto'. The 'auto' value uses Data ONTAP's best practice value.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ntp_server_reset

[B<Family:> cluster]


=begin html

Reset the external NTP server list to the desired default values. The table is emptied and then populated to the desired default values.

=end html



B<Inputs>

=over 2

=item * I<use-public>  =>   B<boolean, optional>

=begin html

<br>Reset server list to public identified defaults

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ntp_server_security_get

[B<Family:> cluster]


=begin html

Get the NTP security settings.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ntp-server-security-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ntp-server-security-info">>

=begin html

<br>The attributes of the ntp-server.

=end html

=back



=head2 ntp_server_security_set

[B<Family:> cluster]


=begin html

Set the NTP security settings.

=end html



B<Inputs>

=over 2

=item * I<is-query-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Querying of NTP Server Enabled?

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ntp_server_status_get

[B<Family:> cluster]


=begin html

Get the status of the selection of an external time server.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ntp-server-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<server>  =>   B<string>

=begin html

<br>Host name, IPv4 address or IPv6 address for the external NTP time server

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"ntp-server-status-info">>

=begin html

<br>The attributes of the ntp-server.

=end html

=back



=head2 ntp_server_status_get_iter

[B<Family:> cluster]


=begin html

Get the status of the selection of all configured external time servers.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"ntp-server-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"ntp-server-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ntp-server object. All ntp-server objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"ntp-server-status-info">[], optional>

=begin html

<br>The list of attributes of ntp-server objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ntp-server objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ntp_server_validate

[B<Family:> cluster]


=begin html

Validate an existing NTP external time server and report any validation problems

=end html



B<Inputs>

=over 2

=item * I<server-name>  =>   B<string>

=begin html

<br>Host name, IPv4 address or IPv6 address for the NTP external time server

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 options_get

[B<Family:> vserver]


=begin html

Get the value of a single option.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the option.

=end html

=back



B<Outputs>

=over 2

=item * I<cluster-constraint>  =>   B<string>

=begin html

<br>Indicates the cluster-specific constraints of option. <ul> <li> "none" - no constraint. <li> "same_preferred" - same value should be used on both nodes of a HA pair. <li> "same_required" - same value must be used on both nodes of a HA pair. <li> "only_one" - value is used for both nodes of a HA pair, when in takeover mode. <li> "unknown" - value is not valid. </ul> In Data ONTAP Cluster-Mode, this field will always be "none".

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value of the option.

=end html

=back



=head2 options_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of options objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"option-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"option-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the options object. All options objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"option-info">[], optional>

=begin html

<br>The list of attributes of options objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more options objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 options_list_info

[B<Family:> vserver]


=begin html

Get a list of all options

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<options>  =>   B<L<"option-info">[], optional>

=begin html

<br>null

=end html

=back



=head2 options_modify_iter

[B<Family:> cluster, vserver]


=begin html

Modify the attributes of options or a group of options objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"option-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple options objects match a given query. If set to true, the API will continue modifying the next matching options even when modification of a previous options fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching options even when the modification of a previous matching options fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"option-info">>

=begin html

<br>If modifying a specific options, this input element must specify all keys. If modifying options objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of options objects (just keys) that were not modified due to some error. If set to false, the list of options objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of options objects (just keys) that were successfully updated. If set to false, the list of options objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"options-modify-iter-info">[], optional>

=begin html

<br>Information about options objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching options objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of options objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of options objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"options-modify-iter-info">[], optional>

=begin html

<br>The options objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 options_set

[B<Family:> vserver]


=begin html

Set the value of a single option. For complete list of names and values of options, please refer to options man pages.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the option.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value of the option.

=end html

=back



B<Outputs>

=over 2

=item * I<cluster-constraint>  =>   B<string>

=begin html

<br>Cluster-specific constraint of the option. <ul> <li> "none" - no constraint. <li> "same_preferred" - same value should be used on both nodes of a HA pair. <li> "same_required" - same value must be used on both nodes of a HA pair. <li> "only_one" - value is used for both nodes of a HA pair, when in takeover mode. <li> "unknown" - value is not valid. </ul> In Data ONTAP Cluster-Mode, this field will always be "none".

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>Informative message that was issued as a result of setting (or trying to set) the option.

=end html

=back



=head2 perf_archive_config_get

[B<Family:> cluster]


=begin html

Display Cluster-Wide Performance Archive Configuration

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"archive-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"archive-config-info">>

=begin html

<br>The attributes of the perf-archive-config.

=end html

=back



=head2 perf_archive_config_modify

[B<Family:> cluster]


=begin html

Modify Cluster-Wide Performance Archive Configuration

=end html



B<Inputs>

=over 2

=item * I<asup-file-rotation>  =>   B<integer, optional>

=begin html

<br>Minutes Between ASUP Data File Rotations

=end html

=back



=over 2

=item * I<asup-max-retention>  =>   B<integer, optional>

=begin html

<br>Days to Retain ASUP Archive Data

=end html

=back



=over 2

=item * I<datastore-file-rotation>  =>   B<integer, optional>

=begin html

<br>Minutes Between Performance Archive Data File Rotations

=end html

=back



=over 2

=item * I<datastore-max-percent>  =>   B<integer, optional>

=begin html

<br>Maximum Percentage of Root Volume Used for Performance Archive Data

=end html

=back



=over 2

=item * I<datastore-max-retention>  =>   B<integer, optional>

=begin html

<br>Days to Retain Performance Archive Data

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is the Performance Archive Enabled?

=end html

=back



=over 2

=item * I<opm-file-rotation>  =>   B<integer, optional>

=begin html

<br>Minutes Between OPM Data File Rotations

=end html

=back



=over 2

=item * I<perfstat-duration>  =>   B<integer, optional>

=begin html

<br>Minutes after Which Perfstat Collection Is Stopped

=end html

=back



=over 2

=item * I<perfstat-sampling-period>  =>   B<integer, optional>

=begin html

<br>Minutes Between Perfstat Collections

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_archive_create

[B<Family:> cluster]


=begin html

Save a new Performance Archive

=end html



B<Inputs>

=over 2

=item * I<archive>  =>   B<string>

=begin html

<br>Performance Archive Name

=end html

=back



=over 2

=item * I<case-number>  =>   B<string, optional>

=begin html

<br>Support Case Number Associated with Archive

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Performance Archive Comment

=end html

=back



=over 2

=item * I<end-time>  =>   B<integer>

=begin html

<br>End of Performance Archive's time range (UTC)

=end html

=back



=over 2

=item * I<source-nodes>  =>   B<node-name[], optional>

=begin html

<br>Originating Nodes for Archive Data

=end html

=back



=over 2

=item * I<start-time>  =>   B<integer>

=begin html

<br>Start of Performance Archive's time range (UTC)

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"perf-archive-info">, optional>

=begin html

<br>The perf-archive created (keys or the entire object if requested)

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The ID of the job that was spawned to create this perf-archive.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded" if creation completed successfully, "in_progress" if creation is in progress, "failed" if creation failed.

=end html

=back



=head2 perf_archive_datastore_get_iter

[B<Family:> cluster]


=begin html

API retrieves information about all the performance archive datastores in the cluster and their datafiles.<p>Each performance archive-enabled process in the Data ONTAP cluster will have one or more datastores in which the archive datafiles are stored. These datastores encapsulate the archived performance data in groupings specified by the Data ONTAP cluster's performance preset configurations.

=end html



B<Inputs>

=over 2

=item * I<age-filter>  =>   B<perf-archive-datafile-age-filter, optional>

=begin html

<br>Filters the retrieved information to only include specific datafiles. By default, all datafiles within each datastore are retrieved.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"perf-archive-datastore-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<is-partial-shown>  =>   B<boolean, optional>

=begin html

<br>Specifies whether or not to include partial datafiles. By default, all datafiles within each datastore are retrieved.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"perf-archive-datastore-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the perf-archive-datastore object. All perf-archive-datastore objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"perf-archive-datastore-info">[], optional>

=begin html

<br>The list of attributes of perf-archive-datastore objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more perf-archive-datastore objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 perf_archive_destroy

[B<Family:> cluster]


=begin html

Destroy a Performance Archive

=end html



B<Inputs>

=over 2

=item * I<archive>  =>   B<string>

=begin html

<br>Performance Archive Name

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 perf_archive_get_iter

[B<Family:> cluster]


=begin html

Iteratively get information about Performance Archives

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"perf-archive-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"perf-archive-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the perf-archive object. All perf-archive objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"perf-archive-info">[], optional>

=begin html

<br>The list of attributes of perf-archive objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more perf-archive objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 perf_archive_modify

[B<Family:> cluster]


=begin html

Modify properties of a Performance Archive

=end html



B<Inputs>

=over 2

=item * I<archive>  =>   B<string>

=begin html

<br>Performance Archive Name

=end html

=back



=over 2

=item * I<case-number>  =>   B<string, optional>

=begin html

<br>Support Case Number Associated with Archive

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Performance Archive Comment

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_awa_start

[B<Family:> cluster]


=begin html

Starting AWA

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<aggr-name, optional>

=begin html

<br>Aggregate

=end html

=back



=over 2

=item * I<debug-level>  =>   B<integer, optional>

=begin html

<br>Debug Level

=end html

=back



=over 2

=item * I<flash-cache>  =>   B<boolean, optional>

=begin html

<br>Flash Cache Node-wide Modeling

=end html

=back



=over 2

=item * I<interval-length>  =>   B<integer, optional>

=begin html

<br>Interval Length (secs)

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node Name

=end html

=back



=over 2

=item * I<num-intervals>  =>   B<integer, optional>

=begin html

<br>Number of Intervals

=end html

=back



=over 2

=item * I<pcache-size>  =>   B<integer, optional>

=begin html

<br>Pseudo Cache Size (MB)

=end html

=back



=over 2

=item * I<sampling-factor>  =>   B<integer, optional>

=begin html

<br>Sampling Factor

=end html

=back



=over 2

=item * I<size-limit>  =>   B<integer, optional>

=begin html

<br>Size-limit (Mega-Blocks)

=end html

=back



=over 2

=item * I<sync>  =>   B<boolean, optional>

=begin html

<br>Perf Run Sync

=end html

=back



=over 2

=item * I<working-set-size>  =>   B<boolean, optional>

=begin html

<br>Working Set Size

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_awa_stop

[B<Family:> cluster]


=begin html

Stoping AWA

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<aggr-name, optional>

=begin html

<br>Aggregate

=end html

=back



=over 2

=item * I<flash-cache>  =>   B<boolean, optional>

=begin html

<br>Flash cache node-wide modeling

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_object_counter_list_info

[B<Family:> cluster, vserver]


=begin html

Get information about the counters of an object. This information is static and independent of any particular instance of the object. It includes counter names and descriptions, as well as properties which are necessary to to interpret counter values.

=end html



B<Inputs>

=over 2

=item * I<filter-data>  =>   B<filter-data, optional>

=begin html

<br>Allows selecting counters from a particular node. An example filter is "node_name=hostname".<br><br> This element is <b>deprecated</b> in Data ONTAP 8.2 and later, as filtering by node is no longer necessary. Each node contains the same set of counter definitions, so filtering by node yields the same results as not filtering at all.

=end html

=back



=over 2

=item * I<objectname>  =>   B<string>

=begin html

<br>Name of the object to get information for.

=end html

=back



B<Outputs>

=over 2

=item * I<counters>  =>   B<L<"counter-info">[]>

=begin html

<br>List of counters available for instances of this object.

=end html

=back



=head2 perf_object_get_instances

[B<Family:> cluster, vserver]


=begin html

Get a list of current counter values of instances of an object. This will return the values of all specified counters and instances of the specified object with one call.<p>

=end html



B<Inputs>

=over 2

=item * I<counters>  =>   B<counter[], optional>

=begin html

<br>List of counters whose values will be retrieved. This element can be used to limit data collection to a specified subset of the counters of instances of the object. If this element is absent, values of all counters will be retrieved.

=end html

=back



=over 2

=item * I<filter-data>  =>   B<filter-data, optional>

=begin html

<br>Filter to apply to the performance data.

=end html

=back



=over 2

=item * I<instance-uuids>  =>   B<instance-uuid[], optional>

=begin html

<br>List of instance UUIDs for which to get counter values. This element can be used to limit data collection to a specified subset of the instances of the object. Either instances or instance-uuids input must be provided. The API errors out if both of these inputs are provided or neither of these inputs is provided, or if more than 500 instances are requested.

=end html

=back



=over 2

=item * I<instances>  =>   B<instance[], optional>

=begin html

<br>List of instance names for which to get counter values. This element can be used to limit data collection to a specified subset of the instances of the object.<p> Either instances or instance-uuids input must be provided. The API errors out if both of these inputs are provided or neither of these inputs is provided, or if more than 500 instances are requested.

=end html

=back



=over 2

=item * I<max>  =>   B<integer, optional>

=begin html

<br>Maximum number of instances.

=end html

=back



=over 2

=item * I<objectname>  =>   B<string>

=begin html

<br>Name of the object to get counter values for.

=end html

=back



=over 2

=item * I<privilege-level>  =>   B<string, optional>

=begin html

<br>Name of the privilege level. Possible values: "basic", "admin", "advanced", "diag" If the element is absent, the default privilege of the object will be used.

=end html

=back



=over 2

=item * I<sample-id>  =>   B<string, optional>

=begin html

<br>Name of the sample.

=end html

=back



=over 2

=item * I<sort-key>  =>   B<string, optional>

=begin html

<br>Counter used for sorting instances.

=end html

=back



=over 2

=item * I<sort-order>  =>   B<string, optional>

=begin html

<br>Sort order. Possible values are 'ascending' and 'descending'.

=end html

=back



B<Outputs>

=over 2

=item * I<instances>  =>   B<L<"instance-data">[]>

=begin html

<br>List of instances of the object. Each element of this list

=end html

=back



=over 2

=item * I<timestamp>  =>   B<string>

=begin html

<br>Timestamp in seconds since January 1, 1970.

=end html

=back



=head2 perf_object_instance_list_info_iter

[B<Family:> cluster, vserver]


=begin html

Gets the list of names and UUIDs of current instances of an object. This iterative API will return names and UUIDs of the current instances of the specified object; the number of records returned is specified by the max-records input element.<p> To retrieve all the instances of the specified object, the value of the next-tag output element should be passed in as the value of the tag input element on the subsequent API call.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"instance-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<filter-data>  =>   B<string, optional>

=begin html

<br>Filter to apply to instance list; see <a href='#filter-data'>filter-data</a> type for details.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 1000

=end html

=back



=over 2

=item * I<objectname>  =>   B<string>

=begin html

<br>Name of the object for which to get instance information.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"instance-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the perf object. All perf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"instance-info">[], optional>

=begin html

<br>The list of attributes of perf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more perf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 perf_object_list_info

[B<Family:> cluster, vserver]


=begin html

Get list of performance objects in the system.

=end html



B<Inputs>

=over 2

=item * I<filter-data>  =>   B<filter-data, optional>

=begin html

<br>Allows selecting objects from a particular node. An example filter is "node_name=hostname". <br><br> This element is <b>deprecated</b> in Data ONTAP 8.2 and later as filtering by node is no longer necessary. Each node contains the same set of object definitions, so filtering by node yields the same results as not filtering at all.

=end html

=back



B<Outputs>

=over 2

=item * I<objects>  =>   B<L<"object-info">[]>

=begin html

<br>List of performance objects.

=end html

=back



=head2 perf_object_start

[B<Family:> cluster, vserver]


=begin html

null

=end html



B<Inputs>

=over 2

=item * I<counter>  =>   B<string, optional>

=begin html

<br>Counter

=end html

=back



=over 2

=item * I<duration>  =>   B<integer, optional>

=begin html

<br>Sample Duration in Minutes

=end html

=back



=over 2

=item * I<filter>  =>   B<string, optional>

=begin html

<br>Filter

=end html

=back



=over 2

=item * I<instance>  =>   B<string, optional>

=begin html

<br>Instance

=end html

=back



=over 2

=item * I<max>  =>   B<integer, optional>

=begin html

<br>Tracker Size

=end html

=back



=over 2

=item * I<object>  =>   B<string, optional>

=begin html

<br>Object

=end html

=back



=over 2

=item * I<preset>  =>   B<string, optional>

=begin html

<br>Preset

=end html

=back



=over 2

=item * I<sample-id>  =>   B<string>

=begin html

<br>Sample Identifier

=end html

=back



=over 2

=item * I<sample-type>  =>   B<sample-type, optional>

=begin html

<br>Sample Type

=end html

=back



=over 2

=item * I<sort-key>  =>   B<string, optional>

=begin html

<br>Counter Used For Sorting

=end html

=back



=over 2

=item * I<sort-order>  =>   B<sort-order, optional>

=begin html

<br>Sort Order

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_object_stop

[B<Family:> cluster, vserver]


=begin html

null

=end html



B<Inputs>

=over 2

=item * I<sample-id>  =>   B<string>

=begin html

<br>Sample Identifier

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_preset_create

[B<Family:> cluster]


=begin html

Create a single Performance Preset configuration and all of its details

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Preset Description

=end html

=back



=over 2

=item * I<expiration-length>  =>   B<integer, optional>

=begin html

<br>Default expiration length (in minutes) until the Performance Preset will be automatically disabled.

=end html

=back



=over 2

=item * I<is-archive-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Preset Enabled?

=end html

=back



=over 2

=item * I<preset>  =>   B<string>

=begin html

<br>Preset Name

=end html

=back



=over 2

=item * I<preset-detail-infos>  =>   B<L<"preset-detail-info">[], optional>

=begin html

<br>Details of the Performance Preset

=end html

=back



=over 2

=item * I<privilege>  =>   B<string, optional>

=begin html

<br>Privilege level <br/>Possible Values: admin, advanced, diagnostic

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_preset_delete

[B<Family:> cluster]


=begin html

Delete a Performance Preset and all of its Preset Details

=end html



B<Inputs>

=over 2

=item * I<preset>  =>   B<string>

=begin html

<br>Preset Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_preset_detail_get

[B<Family:> cluster]


=begin html

Get detailed information about a single Performance Preset configuration

=end html



B<Inputs>

=over 2

=item * I<preset>  =>   B<string>

=begin html

<br>Preset Name

=end html

=back



B<Outputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Preset Description

=end html

=back



=over 2

=item * I<expiration-end-date>  =>   B<integer, optional>

=begin html

<br>Date when the Preset will be automatically disabled, represented as the number of seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<expiration-length>  =>   B<integer, optional>

=begin html

<br>Default expiration length (in minutes) until the Performance Preset will be automatically disabled.

=end html

=back



=over 2

=item * I<generation-id>  =>   B<integer>

=begin html

<br>Preset Generation ID

=end html

=back



=over 2

=item * I<is-archive-enabled>  =>   B<boolean>

=begin html

<br>Is Preset Archive-Enabled?

=end html

=back



=over 2

=item * I<is-read-only>  =>   B<boolean>

=begin html

<br>Is Preset Read-Only?

=end html

=back



=over 2

=item * I<preset>  =>   B<string>

=begin html

<br>Preset Name

=end html

=back



=over 2

=item * I<preset-detail-infos>  =>   B<L<"preset-detail-info">[]>

=begin html

<br>The details of the Performance Preset configuration

=end html

=back



=over 2

=item * I<privilege>  =>   B<string, optional>

=begin html

<br>Preset Privilege Level <br/>Possible Values: admin, advanced, diagnostic

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid>

=begin html

<br>Preset UUID

=end html

=back



=head2 perf_preset_get_iter

[B<Family:> cluster]


=begin html

Iteratively get information about Performance Presets

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"preset-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"preset-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the perf-preset object. All perf-preset objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"preset-info">[], optional>

=begin html

<br>The list of attributes of perf-preset objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more perf-preset objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 perf_preset_import

[B<Family:> cluster]


=begin html

Import Performance Preset configuration from source URI

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Preset Description

=end html

=back



=over 2

=item * I<expiration-length>  =>   B<integer, optional>

=begin html

<br>Default Expiration Length (Minutes)

=end html

=back



=over 2

=item * I<is-archive-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Preset Archive-Enabled?

=end html

=back



=over 2

=item * I<preset>  =>   B<string, optional>

=begin html

<br>Preset name

=end html

=back



=over 2

=item * I<privilege>  =>   B<privilege-level, optional>

=begin html

<br>Preset Privilege Level

=end html

=back



=over 2

=item * I<source-uri>  =>   B<uri>

=begin html

<br>Source URI pointing to a preset file

=end html

=back



=over 2

=item * I<uri-password>  =>   B<string, optional>

=begin html

<br>Source URI password

=end html

=back



=over 2

=item * I<uri-username>  =>   B<string, optional>

=begin html

<br>Source URI username

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_preset_modify

[B<Family:> cluster]


=begin html

Modify a Performance Preset

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Preset Description

=end html

=back



=over 2

=item * I<expiration-length>  =>   B<integer, optional>

=begin html

<br>Default Expiration Length (Minutes)

=end html

=back



=over 2

=item * I<is-archive-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Preset Archive-Enabled?

=end html

=back



=over 2

=item * I<new-name>  =>   B<string, optional>

=begin html

<br>New Preset Name

=end html

=back



=over 2

=item * I<preset>  =>   B<string>

=begin html

<br>Preset Name

=end html

=back



=over 2

=item * I<privilege>  =>   B<privilege-level, optional>

=begin html

<br>Preset Privilege Level

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_samples_delete

[B<Family:> cluster, vserver]


=begin html

null

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force Delete

=end html

=back



=over 2

=item * I<sample-id>  =>   B<string>

=begin html

<br>Sample Identifier

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 perf_samples_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns list of samples

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"sample-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"sample-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the perf object. All perf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"sample-info">[], optional>

=begin html

<br>The list of attributes of perf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more perf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 platform_cap_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of Platform Capability Support objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"platform-cap-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"platform-cap-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Platform Capability Support object. All Platform Capability Support objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"platform-cap-info">[], optional>

=begin html

<br>The list of attributes of Platform Capability Support objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Platform Capability Support objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 portset_add

[B<Family:> vserver]


=begin html

Add a port to an existing port set

=end html



B<Inputs>

=over 2

=item * I<portset-name>  =>   B<string>

=begin html

<br>Name of port set.

=end html

=back



=over 2

=item * I<portset-port-name>  =>   B<string>

=begin html

<br>This is the name of the port that is to be added to the portset. In Data ONTAP 7-Mode, it can be input in two styles. The filername:slotletter format will add the port from a specific filer. For example: "buxton:4a" The slotletter format will add the port from both the local and partner filers. For example: "4a" In Data ONTAP Cluster-Mode, the port name is the name of either an FCP data lif or an iSCSI target portal group.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 portset_create

[B<Family:> vserver]


=begin html

Create a port set

=end html



B<Inputs>

=over 2

=item * I<portset-name>  =>   B<string>

=begin html

<br>Name of the port set to create.

=end html

=back



=over 2

=item * I<portset-type>  =>   B<string>

=begin html

<br>Protocols accepted for this portset. Possible values: "fcp", "iscsi", "mixed". "iscsi" and "mixed" are available in Data ONTAP Cluster-Mode only.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 portset_destroy

[B<Family:> vserver]


=begin html

Destroys an existing port set. By default a set cannot be destroyed if there are existing igroup associated with that portset.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If 'false' or not specified, the request will fail if there are any igroups bound to this portset. If 'true', forcibly destroy the portset, even if there are existing igroup bindings. Best practice is to unbind all the associated igroups before destroying the igroup.

=end html

=back



=over 2

=item * I<portset-name>  =>   B<string>

=begin html

<br>Name of the port set to destroy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 portset_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of portset objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"portset-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"portset-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the portset object. All portset objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"portset-info">[], optional>

=begin html

<br>The list of attributes of portset objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more portset objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 portset_remove

[B<Family:> vserver]


=begin html

Removes a port from a port set.

=end html



B<Inputs>

=over 2

=item * I<portset-name>  =>   B<string>

=begin html

<br>Name of the port set.

=end html

=back



=over 2

=item * I<portset-port-name>  =>   B<string>

=begin html

<br>This is the name of the port that is to be removed from the portset. In Data ONTAP 7-Mode, it can be input in two styles. The filername:slotletter format will remove the port from a specific filer. For example: "buxton:4a" The slotletter format will remove the port from both the local and partner filers. For example: "4a" In Data ONTAP Cluster-Mode, the port name is the name of either an FCP data lif or an iSCSI target portal group.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cache_policy_get

[B<Family:> cluster]


=begin html

Get the attributes of an Cache policy.

=end html



B<Inputs>

=over 2

=item * I<cache-policy-name>  =>   B<string>

=begin html

<br>Name of the QoS Cache policy

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"cache-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"cache-info">>

=begin html

<br>The attributes of the qos-settings-cache.

=end html

=back



=head2 cache_policy_get_iter

[B<Family:> cluster]


=begin html

Iterate over the list of available Cache policies.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"cache-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cache-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the qos-settings-cache object. All qos-settings-cache objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"cache-info">[], optional>

=begin html

<br>The list of attributes of qos-settings-cache objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more qos-settings-cache objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 cache_policy_modify

[B<Family:> cluster]


=begin html

Modify an existing Cache policy. Only default field in the row is modifiable

=end html



B<Inputs>

=over 2

=item * I<cache-policy-name>  =>   B<string>

=begin html

<br>Name of the QoS Cache policy

=end html

=back



=over 2

=item * I<is-default>  =>   B<boolean, optional>

=begin html

<br>Identifies the default Cache policy. If this field is true then QoS workloads with the special value 'default' in the cache field will use this cache policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 cache_policy_modify_iter

[B<Family:> cluster]


=begin html

Modify multiple Cache settings

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"cache-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-settings-cache objects match a given query. If set to true, the API will continue modifying the next matching qos-settings-cache even when modification of a previous qos-settings-cache fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching qos-settings-cache even when the modification of a previous matching qos-settings-cache fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"cache-info">>

=begin html

<br>If modifying a specific qos-settings-cache, this input element must specify all keys. If modifying qos-settings-cache objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-settings-cache objects (just keys) that were not modified due to some error. If set to false, the list of qos-settings-cache objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-settings-cache objects (just keys) that were successfully updated. If set to false, the list of qos-settings-cache objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"cache-policy-modify-iter-info">[], optional>

=begin html

<br>Information about qos-settings-cache objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-settings-cache objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-settings-cache objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-settings-cache objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"cache-policy-modify-iter-info">[], optional>

=begin html

<br>The qos-settings-cache objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_adaptive_policy_group_create

[B<Family:> cluster]


=begin html

Create an adaptive policy group. A unique name must be provided for the new adaptive policy group. A QoS adaptive policy group defines measurable Service Level Objectives (SLOs) that apply to the storage object with which the adaptive policy group is associated.

=end html



B<Inputs>

=over 2

=item * I<absolute-min-iops>  =>   B<qos-tput, optional>

=begin html

<br>Absolute Minimum IOPS. Specifies the absolute minimum IOPS which is used as an override when the expected_iops is less than this value. The default value is computed as follows: if expected-iops >= 6144/TB, then absolute-min-iops = 1000; if expected-iops >= 2048/TB and expected-iops < 6144/TB, then absolute-min-iops = 500; if expected-iops >= 1/MB and expected-iops < 2048/TB, then absolute-min-iops = 75.

=end html

=back



=over 2

=item * I<expected-iops>  =>   B<qos-tput-capacity>

=begin html

<br>Expected IOPS. Specifies the minimum expected IOPS per TB|GB allocated based on volume allocated size.

=end html

=back



=over 2

=item * I<peak-iops>  =>   B<qos-tput-capacity>

=begin html

<br>Peak IOPS. Specifies the maximum possible IOPS per TB|GB allocated based on volume allocated size or volume used size.

=end html

=back



=over 2

=item * I<peak-iops-allocation>  =>   B<qos-peak-iops-allocation, optional>

=begin html

<br>Peak IOPS Allocation. Specifies the peak-iops allocation policy. The allocation policy is either allocated-space or used-space. When the peak-iops-allocation policy is set to allocated-space, the peak-iops is calculated based on the size of the volume. When the peak-iops-allocation policy is set to used-space, the peak-iops is calculated based on the amount of data stored in the volume taking into account storage efficiencies. The default value is used-space. Possible values: <ul> <li> "allocated_space" , <li> "used_space" </ul>

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string>

=begin html

<br>Name of the adaptive policy group. Adaptive policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the qos-adaptive-policy-group on successful creation. Default: false

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>The Data Vserver to which the adaptive policy group belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"qos-adaptive-policy-group-info">, optional>

=begin html

<br>The qos-adaptive-policy-group created (keys or the entire object if requested)

=end html

=back



=head2 qos_adaptive_policy_group_delete

[B<Family:> cluster]


=begin html

Delete single adaptive policy group. The default adaptive policy group may not be deleted. An error will be returned if the policy group is attached to any workloads unless 'force' is set to true.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Setting to 'true' forces the deletion of the workloads associated with the adaptive policy group along with the adaptive policy group. The default is 'false'.

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string>

=begin html

<br>Name of the adaptive policy group. Adaptive policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_adaptive_policy_group_delete_iter

[B<Family:> cluster]


=begin html

Delete multiple policy groups

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-adaptive-policy-group objects match a given query. If set to true, the API will continue with the next matching qos-adaptive-policy-group even when the operation fails for the qos-adaptive-policy-group. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Setting to 'true' forces the deletion of the workloads associated with the adaptive policy group along with the adaptive policy group. The default is 'false'.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching qos-adaptive-policy-group even when the operation on a previous matching qos-adaptive-policy-group fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of qos-adaptive-policy-group objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-adaptive-policy-group-info">>

=begin html

<br>If operating on a specific qos-adaptive-policy-group, this input element must specify all keys. If operating on qos-adaptive-policy-group objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-adaptive-policy-group objects (just keys) that were not operated on due to some error. If set to false, the list of qos-adaptive-policy-group objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-adaptive-policy-group objects (just keys) that were successfully operated on. If set to false, the list of qos-adaptive-policy-group objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-adaptive-policy-group-delete-iter-info">[], optional>

=begin html

<br>Information about qos-adaptive-policy-group objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-adaptive-policy-group objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of qos-adaptive-policy-group objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-adaptive-policy-group objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-adaptive-policy-group-delete-iter-info">[], optional>

=begin html

<br>The qos-adaptive-policy-group objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 qos_adaptive_policy_group_get

[B<Family:> cluster]


=begin html

Get the attributes of an adaptive policy group.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-adaptive-policy-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string>

=begin html

<br>Name of the adaptive policy group. Adaptive policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-adaptive-policy-group-info">>

=begin html

<br>The attributes of the qos-adaptive-policy-group.

=end html

=back



=head2 qos_adaptive_policy_group_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of adaptive policy groups.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-adaptive-policy-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-adaptive-policy-group-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the qos-adaptive-policy-group object. All qos-adaptive-policy-group objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qos-adaptive-policy-group-info">[], optional>

=begin html

<br>The list of attributes of qos-adaptive-policy-group objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more qos-adaptive-policy-group objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 qos_adaptive_policy_group_modify

[B<Family:> cluster]


=begin html

Modify an adaptive policy group.

=end html



B<Inputs>

=over 2

=item * I<absolute-min-iops>  =>   B<qos-tput, optional>

=begin html

<br>Absolute Minimum IOPS. Specifies the absolute minimum IOPS which is used as an override when the expected_iops is less than this value. The default value is computed as follows: if expected-iops >= 6144/TB, then absolute-min-iops = 1000; if expected-iops >= 2048/TB and expected-iops < 6144/TB, then absolute-min-iops = 500; if expected-iops >= 1/MB and expected-iops < 2048/TB, then absolute-min-iops = 75.

=end html

=back



=over 2

=item * I<expected-iops>  =>   B<qos-tput-capacity, optional>

=begin html

<br>Expected IOPS. Specifies the minimum expected IOPS per TB|GB allocated based on volume allocated size.

=end html

=back



=over 2

=item * I<peak-iops>  =>   B<qos-tput-capacity, optional>

=begin html

<br>Peak IOPS. Specifies the maximum possible IOPS per TB|GB allocated based on volume allocated size or volume used size.

=end html

=back



=over 2

=item * I<peak-iops-allocation>  =>   B<qos-peak-iops-allocation, optional>

=begin html

<br>Peak IOPS Allocation. Specifies the peak-iops allocation policy. The allocation policy is either allocated-space or used-space. When the peak-iops-allocation policy is set to allocated-space, the peak-iops is calculated based on the size of the volume. When the peak-iops-allocation policy is set to used-space, the peak-iops is calculated based on the amount of data stored in the volume taking into account storage efficiencies. The default value is used-space. Possible values: <ul> <li> "allocated_space" , <li> "used_space" </ul>

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string>

=begin html

<br>Name of the adaptive policy group. Adaptive policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_adaptive_policy_group_modify_iter

[B<Family:> cluster]


=begin html

Modify multiple adaptive policy groups

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-adaptive-policy-group-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-adaptive-policy-group objects match a given query. If set to true, the API will continue modifying the next matching qos-adaptive-policy-group even when modification of a previous qos-adaptive-policy-group fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching qos-adaptive-policy-group even when the modification of a previous matching qos-adaptive-policy-group fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-adaptive-policy-group-info">>

=begin html

<br>If modifying a specific qos-adaptive-policy-group, this input element must specify all keys. If modifying qos-adaptive-policy-group objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-adaptive-policy-group objects (just keys) that were not modified due to some error. If set to false, the list of qos-adaptive-policy-group objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-adaptive-policy-group objects (just keys) that were successfully updated. If set to false, the list of qos-adaptive-policy-group objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-adaptive-policy-group-modify-iter-info">[], optional>

=begin html

<br>Information about qos-adaptive-policy-group objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-adaptive-policy-group objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-adaptive-policy-group objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-adaptive-policy-group objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-adaptive-policy-group-modify-iter-info">[], optional>

=begin html

<br>The qos-adaptive-policy-group objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_adaptive_policy_group_rename

[B<Family:> cluster]


=begin html

Rename a QoS adaptive policy group

=end html



B<Inputs>

=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New adaptive policy group name

=end html

=back



=over 2

=item * I<policy-group-name>  =>   B<string>

=begin html

<br>Name of the adaptive policy group. Adaptive policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_policy_create

[B<Family:> cluster]


=begin html

Create a new policy. A unique name must be provided for the new policy, and a uuid will be returned. The policy will not affect any work until it is assigned to a workload. Therefore a workload referencing the policy should usually be created along with the policy.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>User visible name of QoS policy.

=end html

=back



B<Outputs>

=over 2

=item * I<policy-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the QoS policy.

=end html

=back



=head2 qos_policy_destroy

[B<Family:> cluster]


=begin html

Delete single policy. The policy may not be attached to any workloads. Only user defined policies may be deleted.

=end html



B<Inputs>

=over 2

=item * I<policy-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the QoS policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_policy_destroy_iter

[B<Family:> cluster]


=begin html

Delete multiple policies. The policies may not be attached to any workloads. Only user defined policies may be deleted.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-policy objects match a given query. If set to true, the API will continue deleting the next matching qos-policy even when the deletion of a previous qos-policy fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching qos-policy even when the deletion of a previous matching qos-policy fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of qos-policy objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-info">>

=begin html

<br>If deleting a specific qos-policy, this input element must specify all keys. If deleting multiple qos-policy objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy objects (just keys) that were not deleted due to some error. If set to false, the list of qos-policy objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy objects (just keys) that were successfully deleted. If set to false, the list of qos-policy objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-policy-destroy-iter-info">[], optional>

=begin html

<br>Information about qos-policy objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-policy objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-policy objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-policy objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-policy-destroy-iter-info">[], optional>

=begin html

<br>The qos-policy objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_policy_get

[B<Family:> cluster]


=begin html

Get the attributes of a policy.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the QoS policy.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-policy-info">>

=begin html

<br>The attributes of the qos-policy.

=end html

=back



=head2 qos_policy_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of policies.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the qos-policy object. All qos-policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qos-policy-info">[], optional>

=begin html

<br>The list of attributes of qos-policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more qos-policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 qos_policy_group_create

[B<Family:> cluster]


=begin html

Create a policy group. A unique name must be provided for the new policy group. A QoS Policy group defines measurable Service Level Objectives (SLOs) that apply to the storage object with which the policy group is associated.

=end html



B<Inputs>

=over 2

=item * I<max-throughput>  =>   B<qos-tput, optional>

=begin html

<br>Maximum throughput defined by this policy. It is specified in terms of IOPS or MB/s or a combination of comma separated IOPS and MB/s, and the range is zero to infinity. The values entered here are case-insensitive, and the units are base ten. There should be no space between the number and the units. The default value for max-throughput is infinity. The default unit is IOPS. Two reserved keywords, 'none' and 'INF', are available for the situation that requires removal of a value, and the situation that needs to specify the maximum available value. Examples of valid specifications are: 100B/s, 10KB/s, 1gb/s, 500MB/s, 1tb/s, 100iops. Examples of valid specification of combination of iops and throughput are 100iops,400KB/s, and 800KB/s,800iops.

=end html

=back



=over 2

=item * I<min-throughput>  =>   B<qos-tput, optional>

=begin html

<br>Minimum throughput defined by this policy. It is specified in terms of IOPS. The values entered here are case-insensitive, and the units are base ten. There should be no space between the number and the units. The default value for min-throughput is 0. The default unit is IOPS. One reserved keywords, 'none' is available for the situation that requires removal of a value. Examples of valid specifications are: 100iops and 100.

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string>

=begin html

<br>Name of the policy group. Policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the qos-policy-group on successful creation. Default: false

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>The Data Vserver to which the policy group belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"qos-policy-group-info">, optional>

=begin html

<br>The qos-policy-group created (keys or the entire object if requested)

=end html

=back



=head2 qos_policy_group_delete

[B<Family:> cluster]


=begin html

Delete single policy group. The default policy group may not be deleted. An error will be returned if the policy group is attached to any workloads unless 'force' is set to true. Only user defined policy groups may be deleted.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Setting to 'true' forces the deletion of the workloads associated with the policy group along with the policy group. The default is 'false'.

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string>

=begin html

<br>Name of the policy group. Policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_policy_group_delete_iter

[B<Family:> cluster]


=begin html

Delete multiple policy groups

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-policy-group objects match a given query. If set to true, the API will continue with the next matching qos-policy-group even when the operation fails for the qos-policy-group. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Setting to 'true' forces the deletion of the workloads associated with the policy group along with the policy group. The default is 'false'.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching qos-policy-group even when the operation on a previous matching qos-policy-group fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of qos-policy-group objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-group-info">>

=begin html

<br>If operating on a specific qos-policy-group, this input element must specify all keys. If operating on qos-policy-group objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy-group objects (just keys) that were not operated on due to some error. If set to false, the list of qos-policy-group objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy-group objects (just keys) that were successfully operated on. If set to false, the list of qos-policy-group objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-policy-group-delete-iter-info">[], optional>

=begin html

<br>Information about qos-policy-group objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-policy-group objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of qos-policy-group objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-policy-group objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-policy-group-delete-iter-info">[], optional>

=begin html

<br>The qos-policy-group objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 qos_policy_group_get

[B<Family:> cluster]


=begin html

Get the attributes of a policy group.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-policy-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string>

=begin html

<br>Name of the policy group. Policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-policy-group-info">>

=begin html

<br>The attributes of the qos-policy-group.

=end html

=back



=head2 qos_policy_group_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of policy groups.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-policy-group-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-group-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the qos-policy-group object. All qos-policy-group objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qos-policy-group-info">[], optional>

=begin html

<br>The list of attributes of qos-policy-group objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more qos-policy-group objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 qos_policy_group_modify

[B<Family:> cluster]


=begin html

Modify an existing policy group.

=end html



B<Inputs>

=over 2

=item * I<max-throughput>  =>   B<qos-tput, optional>

=begin html

<br>Maximum throughput defined by this policy. It is specified in terms of IOPS or MB/s or a combination of comma separated IOPS and MB/s, and the range is zero to infinity. The values entered here are case-insensitive, and the units are base ten. There should be no space between the number and the units. The default value for max-throughput is infinity. The default unit is IOPS. Two reserved keywords, 'none' and 'INF', are available for the situation that requires removal of a value, and the situation that needs to specify the maximum available value. Examples of valid specifications are: 100B/s, 10KB/s, 1gb/s, 500MB/s, 1tb/s, 100iops. Examples of valid specification of combination of iops and throughput are 100iops,400KB/s, and 800KB/s,800iops.

=end html

=back



=over 2

=item * I<min-throughput>  =>   B<qos-tput, optional>

=begin html

<br>Minimum throughput defined by this policy. It is specified in terms of IOPS. The values entered here are case-insensitive, and the units are base ten. There should be no space between the number and the units. The default value for min-throughput is 0. The default unit is IOPS. One reserved keywords, 'none' is available for the situation that requires removal of a value. Examples of valid specifications are: 100iops and 100.

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string>

=begin html

<br>Name of the policy group. Policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_policy_group_modify_iter

[B<Family:> cluster]


=begin html

Modify multiple policy groups

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-policy-group-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-policy-group objects match a given query. If set to true, the API will continue modifying the next matching qos-policy-group even when modification of a previous qos-policy-group fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching qos-policy-group even when the modification of a previous matching qos-policy-group fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-group-info">>

=begin html

<br>If modifying a specific qos-policy-group, this input element must specify all keys. If modifying qos-policy-group objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy-group objects (just keys) that were not modified due to some error. If set to false, the list of qos-policy-group objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy-group objects (just keys) that were successfully updated. If set to false, the list of qos-policy-group objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-policy-group-modify-iter-info">[], optional>

=begin html

<br>Information about qos-policy-group objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-policy-group objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-policy-group objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-policy-group objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-policy-group-modify-iter-info">[], optional>

=begin html

<br>The qos-policy-group objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_policy_group_rename

[B<Family:> cluster]


=begin html

Rename a QoS Policy Group

=end html



B<Inputs>

=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New Policy Group Name

=end html

=back



=over 2

=item * I<policy-group-name>  =>   B<string>

=begin html

<br>Name of the policy group. Policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_policy_modify

[B<Family:> cluster]


=begin html

Modify an existing policy.

=end html



B<Inputs>

=over 2

=item * I<cache-policy-name>  =>   B<string, optional>

=begin html

<br>Name of an entry in the cache policy table. Identifies cache settings that will be used by workloads using this policy. If this field contains the special value 'default' then the default cache policies will be used. Modifying this field is not recommended.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string, optional>

=begin html

<br>User visible name of QoS policy.

=end html

=back



=over 2

=item * I<policy-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the QoS policy.

=end html

=back



=over 2

=item * I<read-ahead-policy-name>  =>   B<string, optional>

=begin html

<br>Name of an entry in the read-ahead policy table. Identifies read-ahead settings that will be used by workloads using this policy. If this field contains the special value 'default' then the default read-ahead policies will be used. Modifying this field is not recommended.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_policy_modify_iter

[B<Family:> cluster]


=begin html

Modify multiple policies

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-policy-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-policy objects match a given query. If set to true, the API will continue modifying the next matching qos-policy even when modification of a previous qos-policy fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching qos-policy even when the modification of a previous matching qos-policy fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-info">>

=begin html

<br>If modifying a specific qos-policy, this input element must specify all keys. If modifying qos-policy objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy objects (just keys) that were not modified due to some error. If set to false, the list of qos-policy objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy objects (just keys) that were successfully updated. If set to false, the list of qos-policy objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-policy-modify-iter-info">[], optional>

=begin html

<br>Information about qos-policy objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-policy objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-policy objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-policy objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-policy-modify-iter-info">[], optional>

=begin html

<br>The qos-policy objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_policy_read_ahead_create

[B<Family:> cluster]


=begin html

Create a new read-ahead policy. A unique name must be provided for the new read-ahead policy. If the 'default' field is set to true, these become the default read-ahead settings for policies that don't otherwise name read-ahead settings. Unless creating a new default, creating read-ahead policies should usually be assigned to an existing QoS policy.

=end html



B<Inputs>

=over 2

=item * I<align-blocks>  =>   B<integer, optional>

=begin html

<br>Block Alignment

=end html

=back



=over 2

=item * I<default>  =>   B<boolean, optional>

=begin html

<br>Default

=end html

=back



=over 2

=item * I<disk-response-factor>  =>   B<integer, optional>

=begin html

<br>Disk Response Time Factor

=end html

=back



=over 2

=item * I<disk-response-weight>  =>   B<integer, optional>

=begin html

<br>Weight for Disk Response Time Aging (%)

=end html

=back



=over 2

=item * I<early-count>  =>   B<integer, optional>

=begin html

<br>Number of IO Operations Cautiously Predicted

=end html

=back



=over 2

=item * I<force-dump>  =>   B<boolean, optional>

=begin html

<br>Force DUMP-Style Readahead

=end html

=back



=over 2

=item * I<force-full>  =>   B<boolean, optional>

=begin html

<br>Force Full-File Readahead

=end html

=back



=over 2

=item * I<force-none>  =>   B<boolean, optional>

=begin html

<br>Disable Readahead

=end html

=back



=over 2

=item * I<interarrival-weight>  =>   B<integer, optional>

=begin html

<br>Weight for Interarrival Time Aging (%)

=end html

=back



=over 2

=item * I<jitter>  =>   B<integer, optional>

=begin html

<br>Threshold for Detecting Jitter (%)

=end html

=back



=over 2

=item * I<max-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum Blocks to Speculate

=end html

=back



=over 2

=item * I<max-deadline>  =>   B<integer, optional>

=begin html

<br>Maximum Deadline Offset (us)

=end html

=back



=over 2

=item * I<max-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Maximum Disk Response Time (us)

=end html

=back



=over 2

=item * I<max-gap>  =>   B<integer, optional>

=begin html

<br>Maximum Speculative Blocks Outstanding

=end html

=back



=over 2

=item * I<max-range>  =>   B<integer, optional>

=begin html

<br>Maximum Range Used When Aging Streams (Blocks)

=end html

=back



=over 2

=item * I<max-retire-time>  =>   B<integer, optional>

=begin html

<br>Maximum Time Before a Stream is Retired (us)

=end html

=back



=over 2

=item * I<metadata-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum Blocks for Which Metadata is Predicted

=end html

=back



=over 2

=item * I<min-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum Blocks to Speculate

=end html

=back



=over 2

=item * I<min-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Minimum Disk Response Time (us)

=end html

=back



=over 2

=item * I<min-range>  =>   B<integer, optional>

=begin html

<br>Minimum Range Used When Aging Streams (Blocks)

=end html

=back



=over 2

=item * I<min-retire-time>  =>   B<integer, optional>

=begin html

<br>Minimum Time Before a Stream is Retired (us)

=end html

=back



=over 2

=item * I<overshoot>  =>   B<integer, optional>

=begin html

<br>Allowable Overshoot (%)

=end html

=back



=over 2

=item * I<read-ahead-class>  =>   B<qos-class, optional>

=begin html

<br>Readahead Policy Class Possible values: <ul> <li> "preset" - Preset, <li> "user_defined" - User Defined </ul>

=end html

=back



=over 2

=item * I<read-ahead-policy-name>  =>   B<string>

=begin html

<br>Name of QoS Readahead Policy.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the qos-policy-read-ahead on successful creation. Default: false

=end html

=back



=over 2

=item * I<smallfile-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum Blocks for Small-File Handling

=end html

=back



=over 2

=item * I<use-async>  =>   B<boolean, optional>

=begin html

<br>Use Asynchronous Speculation

=end html

=back



=over 2

=item * I<use-feedback>  =>   B<boolean, optional>

=begin html

<br>Provide Cache-Miss Feedback

=end html

=back



=over 2

=item * I<use-timing>  =>   B<boolean, optional>

=begin html

<br>Use Timing Algorithms

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"qos-policy-read-ahead-info">, optional>

=begin html

<br>The qos-policy-read-ahead created (keys or the entire object if requested)

=end html

=back



=head2 qos_policy_read_ahead_destroy

[B<Family:> cluster]


=begin html

Delete single read-ahead policy. The default policy may not be deleted. The policy may not be attached to any workloads. Only user defined policies may be deleted.

=end html



B<Inputs>

=over 2

=item * I<read-ahead-policy-name>  =>   B<string>

=begin html

<br>Name of QoS Readahead Policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_policy_read_ahead_destroy_iter

[B<Family:> cluster]


=begin html

Delete multiple read-ahead policies.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-policy-read-ahead objects match a given query. If set to true, the API will continue deleting the next matching qos-policy-read-ahead even when the deletion of a previous qos-policy-read-ahead fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching qos-policy-read-ahead even when the deletion of a previous matching qos-policy-read-ahead fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of qos-policy-read-ahead objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-read-ahead-info">>

=begin html

<br>If deleting a specific qos-policy-read-ahead, this input element must specify all keys. If deleting multiple qos-policy-read-ahead objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy-read-ahead objects (just keys) that were not deleted due to some error. If set to false, the list of qos-policy-read-ahead objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy-read-ahead objects (just keys) that were successfully deleted. If set to false, the list of qos-policy-read-ahead objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-policy-read-ahead-destroy-iter-info">[], optional>

=begin html

<br>Information about qos-policy-read-ahead objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-policy-read-ahead objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-policy-read-ahead objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-policy-read-ahead objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-policy-read-ahead-destroy-iter-info">[], optional>

=begin html

<br>The qos-policy-read-ahead objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_policy_read_ahead_get

[B<Family:> cluster]


=begin html

Get the attributes of a read-ahead policy.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-policy-read-ahead-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<read-ahead-policy-name>  =>   B<string>

=begin html

<br>Name of QoS Readahead Policy.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-policy-read-ahead-info">>

=begin html

<br>The attributes of the qos-policy-read-ahead.

=end html

=back



=head2 qos_policy_read_ahead_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of read-ahead policies.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-policy-read-ahead-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-read-ahead-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the qos-policy-read-ahead object. All qos-policy-read-ahead objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qos-policy-read-ahead-info">[], optional>

=begin html

<br>The list of attributes of qos-policy-read-ahead objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more qos-policy-read-ahead objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 qos_policy_read_ahead_modify

[B<Family:> cluster]


=begin html

Modify an existing read-ahead policy.

=end html



B<Inputs>

=over 2

=item * I<align-blocks>  =>   B<integer, optional>

=begin html

<br>Block Alignment

=end html

=back



=over 2

=item * I<default>  =>   B<boolean, optional>

=begin html

<br>Default

=end html

=back



=over 2

=item * I<disk-response-factor>  =>   B<integer, optional>

=begin html

<br>Disk Response Time Factor

=end html

=back



=over 2

=item * I<disk-response-weight>  =>   B<integer, optional>

=begin html

<br>Weight for Disk Response Time Aging (%)

=end html

=back



=over 2

=item * I<early-count>  =>   B<integer, optional>

=begin html

<br>Number of IO Operations Cautiously Predicted

=end html

=back



=over 2

=item * I<force-dump>  =>   B<boolean, optional>

=begin html

<br>Force DUMP-Style Readahead

=end html

=back



=over 2

=item * I<force-full>  =>   B<boolean, optional>

=begin html

<br>Force Full-File Readahead

=end html

=back



=over 2

=item * I<force-none>  =>   B<boolean, optional>

=begin html

<br>Disable Readahead

=end html

=back



=over 2

=item * I<interarrival-weight>  =>   B<integer, optional>

=begin html

<br>Weight for Interarrival Time Aging (%)

=end html

=back



=over 2

=item * I<jitter>  =>   B<integer, optional>

=begin html

<br>Threshold for Detecting Jitter (%)

=end html

=back



=over 2

=item * I<max-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum Blocks to Speculate

=end html

=back



=over 2

=item * I<max-deadline>  =>   B<integer, optional>

=begin html

<br>Maximum Deadline Offset (us)

=end html

=back



=over 2

=item * I<max-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Maximum Disk Response Time (us)

=end html

=back



=over 2

=item * I<max-gap>  =>   B<integer, optional>

=begin html

<br>Maximum Speculative Blocks Outstanding

=end html

=back



=over 2

=item * I<max-range>  =>   B<integer, optional>

=begin html

<br>Maximum Range Used When Aging Streams (Blocks)

=end html

=back



=over 2

=item * I<max-retire-time>  =>   B<integer, optional>

=begin html

<br>Maximum Time Before a Stream is Retired (us)

=end html

=back



=over 2

=item * I<metadata-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum Blocks for Which Metadata is Predicted

=end html

=back



=over 2

=item * I<min-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum Blocks to Speculate

=end html

=back



=over 2

=item * I<min-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Minimum Disk Response Time (us)

=end html

=back



=over 2

=item * I<min-range>  =>   B<integer, optional>

=begin html

<br>Minimum Range Used When Aging Streams (Blocks)

=end html

=back



=over 2

=item * I<min-retire-time>  =>   B<integer, optional>

=begin html

<br>Minimum Time Before a Stream is Retired (us)

=end html

=back



=over 2

=item * I<overshoot>  =>   B<integer, optional>

=begin html

<br>Allowable Overshoot (%)

=end html

=back



=over 2

=item * I<read-ahead-policy-name>  =>   B<string>

=begin html

<br>Name of QoS Readahead Policy.

=end html

=back



=over 2

=item * I<smallfile-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum Blocks for Small-File Handling

=end html

=back



=over 2

=item * I<use-async>  =>   B<boolean, optional>

=begin html

<br>Use Asynchronous Speculation

=end html

=back



=over 2

=item * I<use-feedback>  =>   B<boolean, optional>

=begin html

<br>Provide Cache-Miss Feedback

=end html

=back



=over 2

=item * I<use-timing>  =>   B<boolean, optional>

=begin html

<br>Use Timing Algorithms

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_policy_read_ahead_modify_iter

[B<Family:> cluster]


=begin html

Modify multiple read-ahead policies

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-policy-read-ahead-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-policy-read-ahead objects match a given query. If set to true, the API will continue modifying the next matching qos-policy-read-ahead even when modification of a previous qos-policy-read-ahead fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching qos-policy-read-ahead even when the modification of a previous matching qos-policy-read-ahead fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-policy-read-ahead-info">>

=begin html

<br>If modifying a specific qos-policy-read-ahead, this input element must specify all keys. If modifying qos-policy-read-ahead objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy-read-ahead objects (just keys) that were not modified due to some error. If set to false, the list of qos-policy-read-ahead objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-policy-read-ahead objects (just keys) that were successfully updated. If set to false, the list of qos-policy-read-ahead objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-policy-read-ahead-modify-iter-info">[], optional>

=begin html

<br>Information about qos-policy-read-ahead objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-policy-read-ahead objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-policy-read-ahead objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-policy-read-ahead objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-policy-read-ahead-modify-iter-info">[], optional>

=begin html

<br>The qos-policy-read-ahead objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_settings_archived_workload_get

[B<Family:> cluster]


=begin html

Get the cluster-wide QoS workload archival settings.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-settings-archived-workload-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-settings-archived-workload-info">>

=begin html

<br>The attributes of the qos-settings-archived-workload.

=end html

=back



=head2 qos_settings_archived_workload_modify

[B<Family:> cluster]


=begin html

Modify the cluster-wide QoS workload archival settings.

=end html



B<Inputs>

=over 2

=item * I<max-workloads>  =>   B<integer, optional>

=begin html

<br>Maximum Number of Workloads to be Archived

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_settings_control_get

[B<Family:> cluster]


=begin html

Get the cluster-wide QoS control settings.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-settings-control-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-settings-control-info">>

=begin html

<br>The attributes of the qos-settings-control.

=end html

=back



=head2 qos_settings_control_modify

[B<Family:> cluster]


=begin html

Modify the existing cluster-wide QoS control settings.

=end html



B<Inputs>

=over 2

=item * I<enforcement>  =>   B<boolean, optional>

=begin html

<br>Cluster-wide QoS enforcement

=end html

=back



=over 2

=item * I<policy-deactivation>  =>   B<boolean, optional>

=begin html

<br>Deactivation of QoS policies on lower priority policy groups

=end html

=back



=over 2

=item * I<ratebucket-rebalance>  =>   B<boolean, optional>

=begin html

<br>Manage QoS ratebucket budgets across the cluster

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_settings_read_ahead_create

[B<Family:> cluster]


=begin html

Create a new read-ahead setting. A unique name must be provided for the new read-ahead setting. If the 'default' field is set to true, these become the default read-ahead settings for settings that don't otherwise name read-ahead settings. Unless creating a new default, creating read-ahead settings should usually be assigned to an existing QoS setting.

=end html



B<Inputs>

=over 2

=item * I<align-blocks>  =>   B<integer, optional>

=begin html

<br>Block alignment

=end html

=back



=over 2

=item * I<default>  =>   B<boolean, optional>

=begin html

<br>Specifies whether this is the default readahead setting

=end html

=back



=over 2

=item * I<disk-response-factor>  =>   B<integer, optional>

=begin html

<br>Disk response time factor

=end html

=back



=over 2

=item * I<disk-response-weight>  =>   B<integer, optional>

=begin html

<br>Weight for disk response time aging (%)

=end html

=back



=over 2

=item * I<early-count>  =>   B<integer, optional>

=begin html

<br>Number of IO operations cautiously predicted

=end html

=back



=over 2

=item * I<force-dump>  =>   B<boolean, optional>

=begin html

<br>Force DUMP-style readahead

=end html

=back



=over 2

=item * I<force-full>  =>   B<boolean, optional>

=begin html

<br>Force full-file readahead

=end html

=back



=over 2

=item * I<force-none>  =>   B<boolean, optional>

=begin html

<br>Disable readahead

=end html

=back



=over 2

=item * I<interarrival-weight>  =>   B<integer, optional>

=begin html

<br>Weight for interarrival time aging (%)

=end html

=back



=over 2

=item * I<jitter>  =>   B<integer, optional>

=begin html

<br>Threshold for detecting jitter (%)

=end html

=back



=over 2

=item * I<max-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum blocks to speculate

=end html

=back



=over 2

=item * I<max-deadline>  =>   B<integer, optional>

=begin html

<br>Maximum deadline Offset (ms)

=end html

=back



=over 2

=item * I<max-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Maximum disk response time (ms)

=end html

=back



=over 2

=item * I<max-gap>  =>   B<integer, optional>

=begin html

<br>Maximum speculative blocks outstanding

=end html

=back



=over 2

=item * I<max-range>  =>   B<integer, optional>

=begin html

<br>Maximum range used when aging streams (Blocks)

=end html

=back



=over 2

=item * I<max-retire-time>  =>   B<integer, optional>

=begin html

<br>Maximum Time Before a Stream is Retired (us)

=end html

=back



=over 2

=item * I<metadata-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum blocks for which metadata is predicted

=end html

=back



=over 2

=item * I<min-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum blocks to speculate

=end html

=back



=over 2

=item * I<min-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Minimum disk response time (ms)

=end html

=back



=over 2

=item * I<min-file-histogram>  =>   B<integer, optional>

=begin html

<br>Minimum filesize for Histogram-based predictions (blocks)

=end html

=back



=over 2

=item * I<min-range>  =>   B<integer, optional>

=begin html

<br>Minimum range used when aging streams (Blocks)

=end html

=back



=over 2

=item * I<min-retire-time>  =>   B<integer, optional>

=begin html

<br>Minimum Time Before a Stream is Retired (us)

=end html

=back



=over 2

=item * I<overshoot>  =>   B<integer, optional>

=begin html

<br>Allowable overshoot (%)

=end html

=back



=over 2

=item * I<read-ahead-class>  =>   B<qos-class, optional>

=begin html

<br>Readahead setting class Possible values: <ul> <li> "undefined" - undefined, <li> "preset" - Preset, <li> "user_defined" - User Defined, <li> "system_defined" - System Defined, <li> "autovolume" - Autovolume </ul>

=end html

=back



=over 2

=item * I<read-ahead-setting-name>  =>   B<string>

=begin html

<br>Name of QoS Readahead Setting.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the qos-settings-read-ahead on successful creation. Default: false

=end html

=back



=over 2

=item * I<smallfile-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum blocks for small-file handling

=end html

=back



=over 2

=item * I<use-async>  =>   B<boolean, optional>

=begin html

<br>Use asynchronous speculation

=end html

=back



=over 2

=item * I<use-feedback>  =>   B<boolean, optional>

=begin html

<br>Provide cache-miss feedback

=end html

=back



=over 2

=item * I<use-histogram>  =>   B<boolean, optional>

=begin html

<br>Use Histogram-based predictions

=end html

=back



=over 2

=item * I<use-timing>  =>   B<boolean, optional>

=begin html

<br>Use timing algorithms

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"qos-settings-read-ahead-info">, optional>

=begin html

<br>The qos-settings-read-ahead created (keys or the entire object if requested)

=end html

=back



=head2 qos_settings_read_ahead_destroy

[B<Family:> cluster]


=begin html

Destroy single read-ahead setting. The default setting may not be destroyed. The setting may not be attached to any workloads. Only user defined settings may be destroyed.

=end html



B<Inputs>

=over 2

=item * I<read-ahead-setting-name>  =>   B<string>

=begin html

<br>Name of QoS Readahead Setting.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_settings_read_ahead_destroy_iter

[B<Family:> cluster]


=begin html

Destroy multiple read-ahead settings.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-settings-read-ahead objects match a given query. If set to true, the API will continue deleting the next matching qos-settings-read-ahead even when the deletion of a previous qos-settings-read-ahead fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching qos-settings-read-ahead even when the deletion of a previous matching qos-settings-read-ahead fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of qos-settings-read-ahead objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-settings-read-ahead-info">>

=begin html

<br>If deleting a specific qos-settings-read-ahead, this input element must specify all keys. If deleting multiple qos-settings-read-ahead objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-settings-read-ahead objects (just keys) that were not deleted due to some error. If set to false, the list of qos-settings-read-ahead objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-settings-read-ahead objects (just keys) that were successfully deleted. If set to false, the list of qos-settings-read-ahead objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-settings-read-ahead-destroy-iter-info">[], optional>

=begin html

<br>Information about qos-settings-read-ahead objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-settings-read-ahead objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-settings-read-ahead objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-settings-read-ahead objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-settings-read-ahead-destroy-iter-info">[], optional>

=begin html

<br>The qos-settings-read-ahead objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_settings_read_ahead_get

[B<Family:> cluster]


=begin html

Get the attributes of a read-ahead setting.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-settings-read-ahead-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<read-ahead-setting-name>  =>   B<string>

=begin html

<br>Name of QoS Readahead Setting.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-settings-read-ahead-info">>

=begin html

<br>The attributes of the qos-settings-read-ahead.

=end html

=back



=head2 qos_settings_read_ahead_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of read-ahead settings.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-settings-read-ahead-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-settings-read-ahead-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the qos-settings-read-ahead object. All qos-settings-read-ahead objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qos-settings-read-ahead-info">[], optional>

=begin html

<br>The list of attributes of qos-settings-read-ahead objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more qos-settings-read-ahead objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 qos_settings_read_ahead_modify

[B<Family:> cluster]


=begin html

Modify an existing read-ahead setting.

=end html



B<Inputs>

=over 2

=item * I<align-blocks>  =>   B<integer, optional>

=begin html

<br>Block alignment

=end html

=back



=over 2

=item * I<default>  =>   B<boolean, optional>

=begin html

<br>Specifies whether this is the default readahead setting

=end html

=back



=over 2

=item * I<disk-response-factor>  =>   B<integer, optional>

=begin html

<br>Disk response time factor

=end html

=back



=over 2

=item * I<disk-response-weight>  =>   B<integer, optional>

=begin html

<br>Weight for disk response time aging (%)

=end html

=back



=over 2

=item * I<early-count>  =>   B<integer, optional>

=begin html

<br>Number of IO operations cautiously predicted

=end html

=back



=over 2

=item * I<force-dump>  =>   B<boolean, optional>

=begin html

<br>Force DUMP-style readahead

=end html

=back



=over 2

=item * I<force-full>  =>   B<boolean, optional>

=begin html

<br>Force full-file readahead

=end html

=back



=over 2

=item * I<force-none>  =>   B<boolean, optional>

=begin html

<br>Disable readahead

=end html

=back



=over 2

=item * I<interarrival-weight>  =>   B<integer, optional>

=begin html

<br>Weight for interarrival time aging (%)

=end html

=back



=over 2

=item * I<jitter>  =>   B<integer, optional>

=begin html

<br>Threshold for detecting jitter (%)

=end html

=back



=over 2

=item * I<max-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum blocks to speculate

=end html

=back



=over 2

=item * I<max-deadline>  =>   B<integer, optional>

=begin html

<br>Maximum deadline Offset (ms)

=end html

=back



=over 2

=item * I<max-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Maximum disk response time (ms)

=end html

=back



=over 2

=item * I<max-gap>  =>   B<integer, optional>

=begin html

<br>Maximum speculative blocks outstanding

=end html

=back



=over 2

=item * I<max-range>  =>   B<integer, optional>

=begin html

<br>Maximum range used when aging streams (Blocks)

=end html

=back



=over 2

=item * I<max-retire-time>  =>   B<integer, optional>

=begin html

<br>Maximum Time Before a Stream is Retired (us)

=end html

=back



=over 2

=item * I<metadata-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum blocks for which metadata is predicted

=end html

=back



=over 2

=item * I<min-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum blocks to speculate

=end html

=back



=over 2

=item * I<min-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Minimum disk response time (ms)

=end html

=back



=over 2

=item * I<min-file-histogram>  =>   B<integer, optional>

=begin html

<br>Minimum filesize for Histogram-based predictions (blocks)

=end html

=back



=over 2

=item * I<min-range>  =>   B<integer, optional>

=begin html

<br>Minimum range used when aging streams (Blocks)

=end html

=back



=over 2

=item * I<min-retire-time>  =>   B<integer, optional>

=begin html

<br>Minimum Time Before a Stream is Retired (us)

=end html

=back



=over 2

=item * I<overshoot>  =>   B<integer, optional>

=begin html

<br>Allowable overshoot (%)

=end html

=back



=over 2

=item * I<read-ahead-setting-name>  =>   B<string>

=begin html

<br>Name of QoS Readahead Setting.

=end html

=back



=over 2

=item * I<smallfile-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum blocks for small-file handling

=end html

=back



=over 2

=item * I<use-async>  =>   B<boolean, optional>

=begin html

<br>Use asynchronous speculation

=end html

=back



=over 2

=item * I<use-feedback>  =>   B<boolean, optional>

=begin html

<br>Provide cache-miss feedback

=end html

=back



=over 2

=item * I<use-histogram>  =>   B<boolean, optional>

=begin html

<br>Use Histogram-based predictions

=end html

=back



=over 2

=item * I<use-timing>  =>   B<boolean, optional>

=begin html

<br>Use timing algorithms

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_settings_read_ahead_modify_iter

[B<Family:> cluster]


=begin html

Modify multiple read-ahead settings

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-settings-read-ahead-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-settings-read-ahead objects match a given query. If set to true, the API will continue modifying the next matching qos-settings-read-ahead even when modification of a previous qos-settings-read-ahead fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching qos-settings-read-ahead even when the modification of a previous matching qos-settings-read-ahead fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-settings-read-ahead-info">>

=begin html

<br>If modifying a specific qos-settings-read-ahead, this input element must specify all keys. If modifying qos-settings-read-ahead objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-settings-read-ahead objects (just keys) that were not modified due to some error. If set to false, the list of qos-settings-read-ahead objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-settings-read-ahead objects (just keys) that were successfully updated. If set to false, the list of qos-settings-read-ahead objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-settings-read-ahead-modify-iter-info">[], optional>

=begin html

<br>Information about qos-settings-read-ahead objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-settings-read-ahead objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-settings-read-ahead objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-settings-read-ahead objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-settings-read-ahead-modify-iter-info">[], optional>

=begin html

<br>The qos-settings-read-ahead objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_stream_create

[B<Family:> cluster]


=begin html

Create a new stream. A workload uuid and stream properties must be provided, and a new stream-id is returned.

=end html



B<Inputs>

=over 2

=item * I<characteristics>  =>   B<L<"qos-stream-characteristics">>

=begin html

<br>QoS stream characteristics. The set of parameters that defines this stream.

=end html

=back



=over 2

=item * I<workload-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the workload to which the stream is attached.

=end html

=back



B<Outputs>

=over 2

=item * I<stream-id>  =>   B<integer>

=begin html

<br>Identifier for this stream. Together with the workload-uuid, uniquely identifies the stream.

=end html

=back



=head2 qos_stream_destroy

[B<Family:> cluster]


=begin html

Delete single stream.

=end html



B<Inputs>

=over 2

=item * I<stream-id>  =>   B<integer>

=begin html

<br>Identifier for this stream. Together with the workload-uuid, uniquely identifies the stream.

=end html

=back



=over 2

=item * I<workload-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the workload to which the stream is attached.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_stream_destroy_iter

[B<Family:> cluster]


=begin html

Delete multiple streams.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-stream objects match a given query. If set to true, the API will continue deleting the next matching qos-stream even when the deletion of a previous qos-stream fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching qos-stream even when the deletion of a previous matching qos-stream fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of qos-stream objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-stream-info">>

=begin html

<br>If deleting a specific qos-stream, this input element must specify all keys. If deleting multiple qos-stream objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-stream objects (just keys) that were not deleted due to some error. If set to false, the list of qos-stream objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-stream objects (just keys) that were successfully deleted. If set to false, the list of qos-stream objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-stream-destroy-iter-info">[], optional>

=begin html

<br>Information about qos-stream objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-stream objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-stream objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-stream objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-stream-destroy-iter-info">[], optional>

=begin html

<br>The qos-stream objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_stream_get

[B<Family:> cluster]


=begin html

Get the attributes of a stream.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-stream-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<stream-id>  =>   B<integer>

=begin html

<br>Identifier for this stream. Together with the workload-uuid, uniquely identifies the stream.

=end html

=back



=over 2

=item * I<workload-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the workload to which the stream is attached.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-stream-info">>

=begin html

<br>The attributes of the qos-stream.

=end html

=back



=head2 qos_stream_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of streams.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-stream-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-stream-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the qos-stream object. All qos-stream objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qos-stream-info">[], optional>

=begin html

<br>The list of attributes of qos-stream objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more qos-stream objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 qos_test_smf_zapi_error

[B<Family:> cluster]


=begin html

Returns SMF error with ZAPI error codes

=end html



B<Inputs>

=over 2

=item * I<error-op-code>  =>   B<integer>

=begin html

<br>OP code of code to display

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_workload_create

[B<Family:> cluster]


=begin html

Create a new workload. A unique name must be provided for the new workload, and a uuid is returned. Subsequent management operations should index workloads by uuid as the name may be modified. No work will be classified to a workload unless the workload has at least one stream. Therefore at least one stream should usually be created along with a workload. If the performance of the workload is to be controlled by QoS, a policy must also be defined and attached to the workload.

=end html



B<Inputs>

=over 2

=item * I<workload-name>  =>   B<string>

=begin html

<br>User visible name of QoS workload.

=end html

=back



B<Outputs>

=over 2

=item * I<workload-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the QoS workload.

=end html

=back



=head2 qos_workload_delete

[B<Family:> cluster]


=begin html

Delete a single workload. Only user defined workloads may be deleted.

=end html



B<Inputs>

=over 2

=item * I<workload-name>  =>   B<string>

=begin html

<br>User visible name of QoS workload.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_workload_delete_iter

[B<Family:> cluster]


=begin html

Delete multiple workloads. Only user defined workloads may be deleted.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-workload objects match a given query. If set to true, the API will continue deleting the next matching qos-workload even when the deletion of a previous qos-workload fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching qos-workload even when the deletion of a previous matching qos-workload fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of qos-workload objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-workload-info">>

=begin html

<br>If deleting a specific qos-workload, this input element must specify all keys. If deleting multiple qos-workload objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-workload objects (just keys) that were not deleted due to some error. If set to false, the list of qos-workload objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-workload objects (just keys) that were successfully deleted. If set to false, the list of qos-workload objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-workload-delete-iter-info">[], optional>

=begin html

<br>Information about qos-workload objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-workload objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-workload objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-workload objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-workload-delete-iter-info">[], optional>

=begin html

<br>The qos-workload objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_workload_destroy

[B<Family:> cluster]


=begin html

Delete single workload. This also deletes any streams attached to the workload. Only user defined workloads may be deleted.

=end html



B<Inputs>

=over 2

=item * I<workload-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the QoS workload.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_workload_destroy_iter

[B<Family:> cluster]


=begin html

Delete multiple workloads. This also deletes any streams attached to the workloads. Only user defined workloads may be deleted.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-workload objects match a given query. If set to true, the API will continue deleting the next matching qos-workload even when the deletion of a previous qos-workload fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching qos-workload even when the deletion of a previous matching qos-workload fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of qos-workload objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-workload-info">>

=begin html

<br>If deleting a specific qos-workload, this input element must specify all keys. If deleting multiple qos-workload objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-workload objects (just keys) that were not deleted due to some error. If set to false, the list of qos-workload objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-workload objects (just keys) that were successfully deleted. If set to false, the list of qos-workload objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-workload-destroy-iter-info">[], optional>

=begin html

<br>Information about qos-workload objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-workload objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-workload objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-workload objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-workload-destroy-iter-info">[], optional>

=begin html

<br>The qos-workload objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_workload_get

[B<Family:> cluster]


=begin html

Get the attributes of a workload.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-workload-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<workload-name>  =>   B<string>

=begin html

<br>User visible name of QoS workload.

=end html

=back



=over 2

=item * I<workload-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the QoS workload.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-workload-info">>

=begin html

<br>The attributes of the qos-workload.

=end html

=back



=head2 qos_workload_get_iter

[B<Family:> cluster]


=begin html

Iterate over list of workloads.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-workload-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-workload-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the qos-workload object. All qos-workload objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qos-workload-info">[], optional>

=begin html

<br>The list of attributes of qos-workload objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more qos-workload objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 qos_workload_modify

[B<Family:> cluster]


=begin html

Modify an existing workload. This may be used to rename the workload, modify the workload's ID, its class, or its category.

=end html



B<Inputs>

=over 2

=item * I<match-priority>  =>   B<integer, optional>

=begin html

<br>Priority of workload if a request can be classified into multiple workloads. The request will be classified to the workload with the highest match-priority. If the workloads have the same match priority then default matching rules are used. Modifying this field is not recommended.

=end html

=back



=over 2

=item * I<policy-uuid>  =>   B<uuid, optional>

=begin html

<br>Universally unique identifier of the policy that the workload is using. If not set, the 'Default' policy will be used.

=end html

=back



=over 2

=item * I<read-ahead>  =>   B<string, optional>

=begin html

<br>Name for a read-ahead tunable policy.

=end html

=back



=over 2

=item * I<workload-name>  =>   B<string>

=begin html

<br>User visible name of QoS workload.

=end html

=back



=over 2

=item * I<workload-uuid>  =>   B<uuid>

=begin html

<br>Universally unique identifier for the QoS workload.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qos_workload_modify_iter

[B<Family:> cluster]


=begin html

Modify multiple workloads

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-workload-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple qos-workload objects match a given query. If set to true, the API will continue modifying the next matching qos-workload even when modification of a previous qos-workload fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching qos-workload even when the modification of a previous matching qos-workload fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qos-workload-info">>

=begin html

<br>If modifying a specific qos-workload, this input element must specify all keys. If modifying qos-workload objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-workload objects (just keys) that were not modified due to some error. If set to false, the list of qos-workload objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of qos-workload objects (just keys) that were successfully updated. If set to false, the list of qos-workload objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"qos-workload-modify-iter-info">[], optional>

=begin html

<br>Information about qos-workload objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching qos-workload objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of qos-workload objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of qos-workload objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"qos-workload-modify-iter-info">[], optional>

=begin html

<br>The qos-workload objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 qos_workload_policy_count_get

[B<Family:> cluster]


=begin html

Get the cluster-wide QoS policy-group and workload count.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qos-workload-policy-count-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"qos-workload-policy-count-info">>

=begin html

<br>The attributes of the qos-workload-policy-count.

=end html

=back



=head2 qtree_create

[B<Family:> vserver]


=begin html

Create a new qtree.

=end html



B<Inputs>

=over 2

=item * I<export-policy>  =>   B<string, optional>

=begin html

<br>Export policy of the qtree. If this input is not specified, the qtree will inherit the export policy of the parent volume.

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>The file permission bits of the qtree. Similar to UNIX permission bits: 0755 gives read/write/execute permissions to owner and read/execute to group and other users. It consists of 4 octal digits derived by adding up bits 4, 2, and 1. Omitted digits are assumed to be zeros. First digit selects the set user ID (4), set group ID (2), and sticky (1) attributes. The second digit selects permissions for the owner of the file: read (4), write (2), and execute (1); the third selects permissions for other users in the same group; the fourth for other users not in the group. <p> For unclustered volumes, if this argument is missing, use the value specified in the option "wafl.default_qtree_mode". <p> For clustered volumes, if this argument is missing, the permissions of the volume is used.

=end html

=back



=over 2

=item * I<oplocks>  =>   B<string, optional>

=begin html

<br>Opportunistic locks mode of the qtree. Possible values: "enabled", "disabled". Default value is the oplock mode of the volume.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>The path of the qtree, relative to the volume.

=end html

=back



=over 2

=item * I<security-style>  =>   B<string, optional>

=begin html

<br>Security style of the qtree. Possible values: "unix", "ntfs", or "mixed". Default value is the security style of the volume.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which to create the qtree

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qtree_delete

[B<Family:> vserver]


=begin html

Delete the specified qtree. <p> For clustered volumes, all the quota rules that reference this qtree will be automatically deleted.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force the deletion of the qtree even if it not empty. On using "force" option, ZAPI may take a long time to complete because the contents of the entire qtree will have to be deleted before it returns. Default: false <p> For clustered volumes, if the qtree has a large number of files, it is recommended that the qtree-delete-async API be used.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Path of an existing qtree. The path should be in this format: /vol/< volume name >/< qtree name >.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qtree_delete_async

[B<Family:> vserver]


=begin html

Delete the specified qtree by spawning a background job. The jobid will be returned. The progress of the job can be tracked using the job APIs. All the quota rules that reference this qtree will be automatically deleted.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force the deletion of the qtree even if it not empty. Default: false

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Path of an existing qtree. The path should be in this format: /vol/< volume name >/< qtree name >.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer>

=begin html

<br>The job id of the job that was queued to delete the qtree.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in-progress", "failed".

=end html

=back



=head2 qtree_list_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of qtrees in the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"qtree-info">, optional>

=begin html

<br>Specify the attributes that should be returned in the qtree-info object. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this response.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"qtree-info">, optional>

=begin html

<br>A query that specifies which qtrees need to be returned. A query could be specified on any number of attributes in the qtree-info object. All qtree objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the previous iteration. It is usually not specified for the first iteration. For subsequent iterations, copy the value from the 'next-tag' obtained from the previous iteration.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"qtree-info">[], optional>

=begin html

<br>The list of attributes of qtree objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next iteration. Not present when there are no more qtree objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this response.

=end html

=back



=head2 qtree_modify

[B<Family:> vserver]


=begin html

Modify the attributes of a qtree. If values are not provided for any of the fields, then that field will not be modified.

=end html



B<Inputs>

=over 2

=item * I<export-policy>  =>   B<string, optional>

=begin html

<br>Export policy of the qtree. If empty string, the qtree will inherit the export policy of the parent volume.

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>The file permission bits of the qtree. Similar to UNIX permission bits: 0755 gives read/write/execute permissions to owner and read/execute to group and other users. It consists of 4 octal digits derived by adding up bits 4, 2, and 1. Omitted digits are assumed to be zeros. First digit selects the set user ID (4), set group ID (2), and sticky (1) attributes. The second digit selects permissions for the owner of the file: read (4), write (2), and execute (1); the third selects permissions for other users in the same group; the fourth for other users not in the group.

=end html

=back



=over 2

=item * I<oplocks>  =>   B<string, optional>

=begin html

<br>Opportunistic locks mode of the qtree. Possible values: "enabled", "disabled".

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Name of the qtree.

=end html

=back



=over 2

=item * I<security-style>  =>   B<string, optional>

=begin html

<br>Security style of the qtree. Possible values: "unix", "ntfs", or "mixed". Changing the security style of a qtree will change the visibility of existing Windows security descriptors (i.e. ACLs). This may affect the disk space usage values in the quota database. Turn quotas off and then on to re-compute disk space usage.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume containing the qtree to be modified.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 qtree_rename

[B<Family:> vserver]


=begin html

Renames the specified qtree to a new name specified by "new-qtree-name". <p> For clustered volumes, the qtree name in the quota rules will be automatically updated with the new qtree name.

=end html



B<Inputs>

=over 2

=item * I<new-qtree-name>  =>   B<string>

=begin html

<br>Path of new qtree. The path should be in this format: /vol/< volume name >/< dst qtree name >.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Path of an existing qtree. The path should be in this format: /vol/< volume name >/< src qtree name >.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_add_entry

[B<Family:> vserver]


=begin html

Adds a quota entry. If the type, target, volume, and tree do not exist, a new entry is created. If the type, target, volume, and tree exist, then an error is returned.

=end html



B<Inputs>

=over 2

=item * I<disk-limit>  =>   B<string, optional>

=begin html

<br>This is the amount of disk space that is reserved for the the target. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited. Default is unlimited.

=end html

=back



=over 2

=item * I<file-limit>  =>   B<string, optional>

=begin html

<br>This is the number of files that the target can have. Set the value to "-" if the limit is to be unlimited. Default is unlimited.

=end html

=back



=over 2

=item * I<perform-user-mapping>  =>   B<boolean, optional>

=begin html

<br>If the value is true, quota management will perform user mapping for the user specified in quota-target. Only valid for user quotas when the quota-target refers to a Windows/UNIX user name. Not valid for multiple user targets. Default is false.

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Name of the quota policy in which the quota rule should be added. If this field is not provided, then the current policy that has been assigned to the vserver will be used.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>This is the qtree name that the quota resides on. For user or group rules, it can be the qtree name or "" if no qtree. For tree type rules, this field must be "".

=end html

=back



=over 2

=item * I<quota-target>  =>   B<string>

=begin html

<br>This is the quota target of the type specified. The target can be of the form: &lt;name&gt;, &lt;number&gt;, or &lt;path name&gt;. Multiple targets can be specified by a comma-separated list. Path should be entered in a format that starts with the following "/vol/< volume name >/". For explicit tree rules, the qtree should be specified as "/vol/< volume name >/ < qtree name >"

=end html

=back



=over 2

=item * I<quota-type>  =>   B<string>

=begin html

<br>The type of quota rule. Possible values are "user", "group", or "tree".

=end html

=back



=over 2

=item * I<soft-disk-limit>  =>   B<string, optional>

=begin html

<br>This is the amount of disk space the target would have to exceed before a message is logged and an SNMP trap is generated. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited. Default is unlimited.

=end html

=back



=over 2

=item * I<soft-file-limit>  =>   B<string, optional>

=begin html

<br>This is the number of files the target would have to exceed before a message is logged and an SNMP trap is generated. Set the value to "-" if the limit is to be unlimited. Default is unlimited.

=end html

=back



=over 2

=item * I<threshold>  =>   B<string, optional>

=begin html

<br>This is the amount of disk space the target would have to exceed before a message is logged. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited. Default is unlimited.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>This is the volume name that the quota resides on.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_delete_entry

[B<Family:> vserver]


=begin html

Deletes a quota entry specified by type, target, volume, and tree.

=end html



B<Inputs>

=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Name of the quota policy in which the quota rule should be deleted. If this field is not provided, then the current policy that has been assigned to the vserver will be used.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Name of the qtree for the quota. For user or group rules, it can be the qtree name or "" if no qtree. For tree type rules, this field must be "".

=end html

=back



=over 2

=item * I<quota-target>  =>   B<string>

=begin html

<br>The quota target of the type specified. Possible values are: &lt;name&gt;, &lt;number&gt;, or &lt;path name&gt;. Multiple targets can be specified by a comma-separated list. Path should be entered in a format that starts with the following "/vol/< volume name >/". For explicit tree rules, the qtree should be specified as "/vol/< volume name >/ < qtree name >"

=end html

=back



=over 2

=item * I<quota-type>  =>   B<string>

=begin html

<br>The type of quota rule. Possible values are "user", "group", or "tree".

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume for the quota.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_get_entry

[B<Family:> vserver]


=begin html

Obtains a quota entry specified by type, target, volume, and tree.

=end html



B<Inputs>

=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Name of the quota policy from which the quota rule should be obtained. If this field is not provided, then the current policy that has been assigned to the vserver will be used.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Name of the qtree for the quota. For user or group rules, it can be the qtree name or "" if no qtree. For tree type rules, this field must be "".

=end html

=back



=over 2

=item * I<quota-target>  =>   B<string>

=begin html

<br>The quota target of the type specified. Possible values are: &lt;name&gt;, &lt;number&gt;, or &lt;path name&gt;. Multiple targets can be specified by a comma-separated list. Path should be entered in a format that starts with the following "/vol/< volume name >/". For explicit tree rules, the qtree should be specified as "/vol/< volume name >/ < qtree name >"

=end html

=back



=over 2

=item * I<quota-type>  =>   B<string>

=begin html

<br>The type of quota rule. Possible values are "user", "group", or "tree".

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume for the quota.

=end html

=back



B<Outputs>

=over 2

=item * I<disk-limit>  =>   B<string>

=begin html

<br>The amount of disk space that is reserved for the the target. The value is expressed in kilobytes (1024). The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<file-limit>  =>   B<string>

=begin html

<br>The number of files that the target can have. The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<perform-user-mapping>  =>   B<boolean, optional>

=begin html

<br>If the value is true, quota management will perform user according to the user mapping configured for the vserver to which the volume belongs.

=end html

=back



=over 2

=item * I<quota-error>  =>   B<L<"quota-error">, optional>

=begin html

<br>This value is only present if there is an error, and gives complete details on the error in a specific quota entry.

=end html

=back



=over 2

=item * I<soft-disk-limit>  =>   B<string>

=begin html

<br>The amount of disk space the target would have to exceed before a message is logged and an SNMP trap is generated. The value is expressed in kilobytes (1024). The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<soft-file-limit>  =>   B<string>

=begin html

<br>The number of files the target would have to exceed before a message is logged and an SNMP trap is generated. The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<threshold>  =>   B<string>

=begin html

<br>The amount of disk space the target would have to exceed before a message is logged. The value is expressed in kilobytes (1024). The value is "-" if the limit is unlimited.

=end html

=back



=head2 quota_list_entries_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of quota rules in the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"quota-entry">, optional>

=begin html

<br>Specify the attributes that should be returned in the quota-entry object. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this response.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"quota-entry">, optional>

=begin html

<br>A query that specifies which quota rules need to be returned. A query could be specified on any number of attributes in the quota-entry object. All quota entry objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the previous iteration. It is usually not specified for the first iteration. For subsequent iterations, copy the value from the 'next-tag' obtained from the previous iteration.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"quota-entry">[], optional>

=begin html

<br>The list of attributes of quota entry objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next iteration. Not present when there are no more quota entry objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this response.

=end html

=back



=head2 quota_modify_entry

[B<Family:> vserver]


=begin html

Modifys a quota entry. If the type, target, volume, and tree exist, the entry is modified. If the type, target, volume, and tree do not exist, then an error is returned.

=end html



B<Inputs>

=over 2

=item * I<disk-limit>  =>   B<string, optional>

=begin html

<br>This is the amount of disk space that is reserved for the the target. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited. Default is the current value.

=end html

=back



=over 2

=item * I<file-limit>  =>   B<string, optional>

=begin html

<br>This is the number of files that the target can have. Set the value to "-" if the limit is to be unlimited. Default is the current value.

=end html

=back



=over 2

=item * I<perform-user-mapping>  =>   B<boolean, optional>

=begin html

<br>If the value is true, quota management will perform user mapping for the user specified in quota-target. Only valid for user quotas when the quota-target refers to a Windows/UNIX user name. Not valid for multiple user targets. Default is the current value.

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Name of the quota policy in which the quota rule should be modified. If this field is not provided, then the current policy that has been assigned to the vserver will be used.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>This is the qtree name that the quota resides on. For user or group rules, it can be the qtree name or "" if no qtree. For tree type rules, this field must be "".

=end html

=back



=over 2

=item * I<quota-target>  =>   B<string>

=begin html

<br>This is the quota target of the type specified. The target can be of the form: &lt;name&gt;, &lt;number&gt;, or &lt;path name&gt;. Multiple targets can be specified by a comma-separated list. Path should be entered in a format that starts with the following "/vol/< volume name >/". For explicit tree rules, the qtree should be specified as "/vol/< volume name >/ < qtree name >"

=end html

=back



=over 2

=item * I<quota-type>  =>   B<string>

=begin html

<br>The type of quota rule. Possible values are "user", "group", or "tree".

=end html

=back



=over 2

=item * I<soft-disk-limit>  =>   B<string, optional>

=begin html

<br>This is the amount of disk space the target would have to exceed before a message is logged and an SNMP trap is generated. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited. Default is the current value.

=end html

=back



=over 2

=item * I<soft-file-limit>  =>   B<string, optional>

=begin html

<br>This is the number of files the target would have to exceed before a message is logged and an SNMP trap is generated. Set the value to "-" if the limit is to be unlimited. Default is the current value.

=end html

=back



=over 2

=item * I<threshold>  =>   B<string, optional>

=begin html

<br>This is the amount of disk space the target would have to exceed before a message is logged. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited. Default is the current value.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>This is the volume name that the quota resides on.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_off

[B<Family:> vserver]


=begin html

Turns the quota subsystem off for a volume. <p> For clustered volumes, a jobid will also be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which to turn quotas off.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The job id of the job that was queued to turn off quotas.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded", "in-progress", "failed".

=end html

=back



=head2 quota_on

[B<Family:> vserver]


=begin html

Starts to turn quotas on for a volume. A successful return from this API does not mean that quotas are on, merely that an attempt to start it has been triggered. Use the quota-status API to check the status. <p> For clustered volumes, a jobid will also be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which to enable quotas.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The job id of the job that was queued to turn on quotas.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded", "in-progress", "failed".

=end html

=back



=head2 quota_policy_copy

[B<Family:> cluster, vserver]


=begin html

Copy a quota policy

=end html



B<Inputs>

=over 2

=item * I<new-policy-name>  =>   B<string>

=begin html

<br>New Policy Name

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>Policy Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_policy_create

[B<Family:> cluster, vserver]


=begin html

Creates a quota policy

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>Policy Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_policy_delete

[B<Family:> vserver]


=begin html

Deletes a specified quota policy

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>Policy Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_policy_delete_iter

[B<Family:> cluster, vserver]


=begin html

Deletes a list of specified quota policies

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple quota-policy objects match a given query. If set to true, the API will continue deleting the next matching quota-policy even when the deletion of a previous quota-policy fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching quota-policy even when the deletion of a previous matching quota-policy fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of quota-policy objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"quota-policy-info">>

=begin html

<br>If deleting a specific quota-policy, this input element must specify all keys. If deleting multiple quota-policy objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of quota-policy objects (just keys) that were not deleted due to some error. If set to false, the list of quota-policy objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of quota-policy objects (just keys) that were successfully deleted. If set to false, the list of quota-policy objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"quota-policy-delete-iter-info">[], optional>

=begin html

<br>Information about quota-policy objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching quota-policy objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of quota-policy objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of quota-policy objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"quota-policy-delete-iter-info">[], optional>

=begin html

<br>The quota-policy objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 quota_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Return a list of quota policies

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"quota-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"quota-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the quota-policy object. All quota-policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"quota-policy-info">[], optional>

=begin html

<br>The list of attributes of quota-policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more quota-policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 quota_policy_rename

[B<Family:> cluster, vserver]


=begin html

Rename a quota policy

=end html



B<Inputs>

=over 2

=item * I<new-policy-name>  =>   B<string>

=begin html

<br>New Policy Name

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>Policy Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_policy_rule_count_get

[B<Family:> vserver]


=begin html

Get the attributes of the quota-policy-rule-count.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"quota-policy-rule-count-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy>  =>   B<string>

=begin html

<br>Policy Name

=end html

=back



=over 2

=item * I<qtree>  =>   B<qtree-name>

=begin html

<br>Qtree Name

=end html

=back



=over 2

=item * I<quota-type>  =>   B<quota-type>

=begin html

<br>Type Possible values: <ul> <li> "tree" , <li> "user" , <li> "group" </ul>

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"quota-policy-rule-count-info">>

=begin html

<br>The attributes of the quota-policy-rule-count.

=end html

=back



=head2 quota_policy_rule_count_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of quota-policy-rule-count objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"quota-policy-rule-count-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"quota-policy-rule-count-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the quota-policy-rule-count object. All quota-policy-rule-count objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"quota-policy-rule-count-info">[], optional>

=begin html

<br>The list of attributes of quota-policy-rule-count objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more quota-policy-rule-count objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 quota_report_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the quota report in the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"quota">, optional>

=begin html

<br>Specify the attributes that should be returned in the quota report object. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this response.

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>A path (including a /vol/<volumename> prefix). If specified, the report will contain only quotas that apply to the specified path name.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"quota">, optional>

=begin html

<br>A query that specifies which quota report needs to be returned. A query could be specified on any number of attributes in the quota report object. All quota report objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the previous iteration. It is usually not specified for the first iteration. For subsequent iterations, copy the value from the 'next-tag' obtained from the previous iteration.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"quota">[], optional>

=begin html

<br>The list of attributes of quota report objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next iteration. Not present when there are no more quota report objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this response.

=end html

=back



=head2 quota_resize

[B<Family:> vserver]


=begin html

Starts an ONTAP operation to resize quotas for a volume. A successful return from this API does not mean that the operation has finished, merely that an attempt to start it been triggered. Use the quota-status API to check the status. <p> For clustered volumes, a jobid will also be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which to resize quotas.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The job id of the job that was queued to resize quotas.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded", "in-progress", "failed".

=end html

=back



=head2 quota_set_entry

[B<Family:> vserver]


=begin html

Sets a quota entry. If the type, target, volume, and tree do not exist, a new entry is created. If the type, target, volume, and tree exist, then the entry is modified.

=end html



B<Inputs>

=over 2

=item * I<disk-limit>  =>   B<string, optional>

=begin html

<br>The amount of disk space that is reserved for the the target. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited.

=end html

=back



=over 2

=item * I<file-limit>  =>   B<string, optional>

=begin html

<br>The number of files that the target can have. Set the value to "-" if the limit is to be unlimited.

=end html

=back



=over 2

=item * I<perform-user-mapping>  =>   B<boolean, optional>

=begin html

<br>If the value is true, quota management will perform user mapping for the user specified in quota-target. Only valid for user quotas when the quota-target refers to a Windows/UNIX user name. Not valid for multiple user targets. Default is false.

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Name of the quota policy in which the quota rule should be set. If this field is not provided, then the current policy that has been assigned to the vserver will be used.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Name of the qtree for the quota. For user or group rules, it can be the qtree name or "" if no qtree. For tree type rules, this field must be "".

=end html

=back



=over 2

=item * I<quota-target>  =>   B<string>

=begin html

<br>The quota target of the type specified. Possible values are &lt;name&gt;, &lt;number&gt;, or &lt;path name&gt;. Multiple targets can be specified by a comma-separated list. Path should be entered in a format that starts with the following "/vol/< volume name >/". For explicit tree rules, the qtree should be specified as "/vol/< volume name >/ < qtree name >"

=end html

=back



=over 2

=item * I<quota-type>  =>   B<string>

=begin html

<br>The type of quota rule. Possible values are "user", "group", or "tree".

=end html

=back



=over 2

=item * I<soft-disk-limit>  =>   B<string, optional>

=begin html

<br>The amount of disk space the target would have to exceed before a message is logged and an SNMP trap is generated. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited.

=end html

=back



=over 2

=item * I<soft-file-limit>  =>   B<string, optional>

=begin html

<br>The number of files the target would have to exceed before a message is logged and an SNMP trap is generated. Set the value to "-" if the limit is to be unlimited.

=end html

=back



=over 2

=item * I<threshold>  =>   B<string, optional>

=begin html

<br>The amount of disk space the target would have to exceed before a message is logged. The value is expressed in kilobytes (1024). Set the value to "-" if the limit is to be unlimited.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume for the quota.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 quota_status

[B<Family:> vserver]


=begin html

Obtains the status of quotas

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume whose quota status should be obtained.

=end html

=back



B<Outputs>

=over 2

=item * I<percent-complete>  =>   B<integer, optional>

=begin html

<br>The percentage complete for an "on" or "resize" operation. This is present when the status is "upgrading", "resizing" or "initializing".

=end html

=back



=over 2

=item * I<quota-errors>  =>   B<string, optional>

=begin html

<br>Collection of quota errors including the value of the reason tag above. Each error will be separated by a newline, '\n'. Since the quota parser does not stop when a parsing error occurs, this tag returns all the errors from the quota parser. <p> This field is not populated for FlexGroups.

=end html

=back



=over 2

=item * I<reason>  =>   B<string, optional>

=begin html

<br>The last quota error message. If not present, there are no errors.

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>Primary status of quotas on the indicated volume; Possible values: <ul> <li> "corrupt" </li> <li> "initializing" </li> <li> "mixed" </li> <li> "off" </li> <li> "on" </li> <li> "resizing" </li> <li> "reverting" </li> <li> "unknown" </li> <li> "upgrading" </li> </ul> <p> If a FlexGroup's constituents have differing quota statuses, the FlexGroup will return a 'mixed' quota status. If one or more of a FlexGroup's constituents are not online or otherwise cannot be reached, the FlexGroup will return an 'unknown' quota status.

=end html

=back



=over 2

=item * I<substatus>  =>   B<string>

=begin html

<br>Minor quota status on the indicated volume. This status is only valid when primary status is "resizing" or "initializing". Possible values are: <ul> <li> "done" </li> <li> "etc scanning" </li> <li> "finishing" </li> <li> "mixed" </li> <li> "none" </li> <li> "queue scan" </li> <li> "scanning" </li> <li> "setup" </li> <li> "transferring rules" </li> <li> "unknown" </li> <li> "upgrading" </li> </ul> <p> If a FlexGroup's constituents have differing quota substatuses, the FlexGroup will return a 'mixed' quota substatus. If one or more of a FlexGroup's constituents are not online or otherwise cannot be reached, the FlexGroup will return an 'unknown' quota substatus.

=end html

=back



=head2 quota_status_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over quota status for all volumes in the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"quota-status-attributes">, optional>

=begin html

<br>Specify the attributes that should be returned in the quota status object. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this response.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"quota-status-attributes">, optional>

=begin html

<br>A query that specifies which quota status attributes need to be returned. A query could be specified on any number of attributes in the quota status object. All quota status objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the previous iteration. It is usually not specified for the first iteration. For subsequent iterations, copy the value from the 'next-tag' obtained from the previous iteration.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"quota-status-attributes">[], optional>

=begin html

<br>The list of attributes of quota status objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next iteration. Not present when there are no more quota status objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this response.

=end html

=back



=head2 secd_auth_get_claim_name

[B<Family:> cluster]


=begin html

Get Claim-Name from Claim-cn

=end html



B<Inputs>

=over 2

=item * I<claim-cn>  =>   B<string>

=begin html

<br>The common name of claim used for getting claim name

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which command will be run

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver where the lookup has to be done

=end html

=back



B<Outputs>

=over 2

=item * I<claim-name>  =>   B<string>

=begin html

<br>The claim name corresponding to the input claim CN

=end html

=back



=head2 secd_auth_get_dc_info

[B<Family:> cluster]


=begin html

Get the Active DC informartion give vfiler

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which command will be run

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver where the lookup has to be done

=end html

=back



B<Outputs>

=over 2

=item * I<client-site>  =>   B<string>

=begin html

<br>The client site corresponding to the domain controller

=end html

=back



=over 2

=item * I<domain-name>  =>   B<string>

=begin html

<br>The domain name corresponding to the domain controller

=end html

=back



=over 2

=item * I<flags>  =>   B<integer>

=begin html

<br>flags correspondiing to the domain controller

=end html

=back



=over 2

=item * I<forest-name>  =>   B<string>

=begin html

<br>The forest name corresponding to the domain controller

=end html

=back



=over 2

=item * I<guid>  =>   B<string>

=begin html

<br>128 bit global unique identifier corresponding to the domain controller

=end html

=back



=over 2

=item * I<netbios-hostname>  =>   B<string>

=begin html

<br>The NetBIOS hostname corresponding to the domain controller

=end html

=back



=over 2

=item * I<netbios-name>  =>   B<string>

=begin html

<br>The NetBIOS name corresponding to the domain controller

=end html

=back



=over 2

=item * I<server-site>  =>   B<string>

=begin html

<br>The server site corresponding to the domain controller

=end html

=back



=head2 secd_auth_sid_to_uid

[B<Family:> cluster]


=begin html

Get UNIX User ID from Windows SID

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which command will be run

=end html

=back



=over 2

=item * I<sid>  =>   B<string>

=begin html

<br>The Windows SID to be looked up for its corresponding User ID

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver where the lookup has to be done

=end html

=back



B<Outputs>

=over 2

=item * I<uid>  =>   B<integer>

=begin html

<br>The UNIX User ID corresponding to the input SID

=end html

=back



=head2 secd_auth_sid_to_unix_user_name

[B<Family:> cluster]


=begin html

Get UNIX User Name from Windows SID

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which command will be run

=end html

=back



=over 2

=item * I<sid>  =>   B<string>

=begin html

<br>The Windows SID to be looked up for its corresponding User Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver where the lookup has to be done

=end html

=back



B<Outputs>

=over 2

=item * I<unix-user-name>  =>   B<string>

=begin html

<br>The UNIX User Name corresponding to the input SID

=end html

=back



=head2 secd_auth_translate_gid_to_groupname

[B<Family:> cluster]


=begin html

Translate Group ID to UNIX Group Name

=end html



B<Inputs>

=over 2

=item * I<gid>  =>   B<integer>

=begin html

<br>The UNIX Group ID which needs to be translated

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which the command has to be run

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver for which the translation has to run

=end html

=back



B<Outputs>

=over 2

=item * I<unix-group-name>  =>   B<string>

=begin html

<br>The UNIX Group Name which needs to be translated

=end html

=back



=head2 secd_auth_translate_sid_to_win_user_name

[B<Family:> cluster]


=begin html

Translate SID to Windows User Name

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which the command has to be run

=end html

=back



=over 2

=item * I<sid>  =>   B<string>

=begin html

<br>The Windows SID which needs to be translated

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver for which the translation has to run

=end html

=back



B<Outputs>

=over 2

=item * I<win-name>  =>   B<string>

=begin html

<br>The Windows Name which needs to be translated

=end html

=back



=head2 secd_auth_translate_uid_to_username

[B<Family:> cluster]


=begin html

Translate User ID to UNIX User Name

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which the command has to be run

=end html

=back



=over 2

=item * I<uid>  =>   B<integer>

=begin html

<br>The UNIX User ID which needs to be translated

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver for which the translation has to run

=end html

=back



B<Outputs>

=over 2

=item * I<unix-user-name>  =>   B<string>

=begin html

<br>The UNIX User Name which needs to be translated

=end html

=back



=head2 secd_auth_translate_unix_group_name_to_gid

[B<Family:> cluster]


=begin html

Translate UNIX Group Name to Group ID

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which the command has to be run

=end html

=back



=over 2

=item * I<unix-group-name>  =>   B<string>

=begin html

<br>The UNIX Group Name which needs to be translated

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver for which the translation has to run

=end html

=back



B<Outputs>

=over 2

=item * I<gid>  =>   B<integer>

=begin html

<br>The UNIX Group ID which needs to be translated

=end html

=back



=head2 secd_auth_translate_unix_user_name_to_uid

[B<Family:> cluster]


=begin html

Translate UNIX User Name to User ID

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which the command has to be run

=end html

=back



=over 2

=item * I<unix-user-name>  =>   B<string>

=begin html

<br>The UNIX User Name which needs to be translated

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver for which the translation has to run

=end html

=back



B<Outputs>

=over 2

=item * I<uid>  =>   B<integer>

=begin html

<br>The UNIX User ID which needs to be translated

=end html

=back



=head2 secd_auth_translate_windows_user_name_to_sid

[B<Family:> cluster]


=begin html

Translate Windows User Name to SID

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which the command has to be run

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver for which the translation has to run

=end html

=back



=over 2

=item * I<win-name>  =>   B<string>

=begin html

<br>The Windows Name which needs to be translated

=end html

=back



B<Outputs>

=over 2

=item * I<sid>  =>   B<string>

=begin html

<br>The Windows SID which needs to be translated

=end html

=back



=head2 secd_auth_uid_to_sid

[B<Family:> cluster]


=begin html

Get Windows SID from UNIX User ID

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which command will be run

=end html

=back



=over 2

=item * I<uid>  =>   B<integer>

=begin html

<br>The UNIX User ID to be looked up for its corresponding Windows SID

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The Vserver where the lookup has to be done

=end html

=back



B<Outputs>

=over 2

=item * I<sid>  =>   B<string>

=begin html

<br>The Windows SID corresponding to the input User ID

=end html

=back



=head2 security_trace_filter_create

[B<Family:> vserver]


=begin html

Creates a new Security trace entry.

=end html



B<Inputs>

=over 2

=item * I<client-ip>  =>   B<ip-address, optional>

=begin html

<br>The IP address of the client.

=end html

=back



=over 2

=item * I<enabled>  =>   B<enable, optional>

=begin html

<br>This is used to enable or disable the filter.

=end html

=back



=over 2

=item * I<index>  =>   B<integer>

=begin html

<br>internally created index for the filter.

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path to match.

=end html

=back



=over 2

=item * I<protocols>  =>   B<sectrace-protocol[], optional>

=begin html

<br>The protocols for which the permission tracing is applicable. Possible values: <ul> <li> "cifs" - CIFS Protocol, <li> "nfs" - NFS Protocol </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the security-trace-filter on successful creation. Default: false

=end html

=back



=over 2

=item * I<time-enabled>  =>   B<integer, optional>

=begin html

<br>The admin can specify a timeout for this filter after which it would be disabled.

=end html

=back



=over 2

=item * I<trace-allow>  =>   B<boolean, optional>

=begin html

<br>The deny events are traced by default. This option is to record trace results for allow events as well.

=end html

=back



=over 2

=item * I<unix-name>  =>   B<string, optional>

=begin html

<br>UNIX user name or user ID to trace.

=end html

=back



=over 2

=item * I<windows-name>  =>   B<string, optional>

=begin html

<br>Windows User Name to trace.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"security-trace-filter-attributes">, optional>

=begin html

<br>The security-trace-filter created (keys or the entire object if requested)

=end html

=back



=head2 security_trace_filter_delete

[B<Family:> vserver]


=begin html

Deletes the specified Security trace entry.

=end html



B<Inputs>

=over 2

=item * I<index>  =>   B<integer>

=begin html

<br>internally created index for the filter.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_trace_filter_get_iter

[B<Family:> cluster, vserver]


=begin html

Gives information about one or more Security trace entries.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-trace-filter-attributes">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-trace-filter-attributes">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-trace-filter object. All security-trace-filter objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"security-trace-filter-attributes">[], optional>

=begin html

<br>The list of attributes of security-trace-filter objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-trace-filter objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_trace_filter_modify

[B<Family:> vserver]


=begin html

Modifies settings of a Security trace entry, even if it is in use.

=end html



B<Inputs>

=over 2

=item * I<client-ip>  =>   B<ip-address, optional>

=begin html

<br>The IP address of the client.

=end html

=back



=over 2

=item * I<enabled>  =>   B<enable, optional>

=begin html

<br>This is used to enable or disable the filter.

=end html

=back



=over 2

=item * I<index>  =>   B<integer>

=begin html

<br>internally created index for the filter.

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path to match.

=end html

=back



=over 2

=item * I<protocols>  =>   B<sectrace-protocol[], optional>

=begin html

<br>The protocols for which the permission tracing is applicable. Possible values: <ul> <li> "cifs" - CIFS Protocol, <li> "nfs" - NFS Protocol </ul>

=end html

=back



=over 2

=item * I<time-enabled>  =>   B<integer, optional>

=begin html

<br>The admin can specify a timeout for this filter after which it would be disabled.

=end html

=back



=over 2

=item * I<trace-allow>  =>   B<boolean, optional>

=begin html

<br>The deny events are traced by default. This option is to record trace results for allow events as well.

=end html

=back



=over 2

=item * I<unix-name>  =>   B<string, optional>

=begin html

<br>UNIX user name or user ID to trace.

=end html

=back



=over 2

=item * I<windows-name>  =>   B<string, optional>

=begin html

<br>Windows User Name to trace.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_trace_result_delete

[B<Family:> vserver]


=begin html

Delete the specified security tracing event record.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The cluster node on which the permission tracing event occured.

=end html

=back



=over 2

=item * I<seqnum>  =>   B<integer>

=begin html

<br>The sequence number of the permission tracing event.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_trace_result_show

[B<Family:> cluster, vserver]


=begin html

Retrieve the list of permission tracing results for the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-trace-results-logs">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-trace-results-logs">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-trace-result object. All security-trace-result objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"security-trace-results-logs">[], optional>

=begin html

<br>The list of attributes of security-trace-result objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-trace-result objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_config_get

[B<Family:> cluster]


=begin html

Display Cluster Security Configuration

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<interface>  =>   B<fips-interfaces>

=begin html

<br>Type Of Interface. Possible values: <ul> <li> "ssl" </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"security-config-info">>

=begin html

<br>The attributes of the security.

=end html

=back



=head2 security_config_modify

[B<Family:> cluster]


=begin html

Modify Cluster Security Configuration

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<fips-interfaces>

=begin html

<br>Type Of Interface. Possible values: <ul> <li> "ssl" </ul>

=end html

=back



=over 2

=item * I<is-fips-enabled>  =>   B<boolean, optional>

=begin html

<br>Data ONTAP FIPS Mode.

=end html

=back



=over 2

=item * I<supported-ciphers>  =>   B<string, optional>

=begin html

<br>Data ONTAP Supported Ciphers.

=end html

=back



=over 2

=item * I<supported-protocols>  =>   B<string[], optional>

=begin html

<br>Data ONTAP Supported Protocols.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_config_ocsp_disable

[B<Family:> cluster]


=begin html

Disable OCSP for one or more selected applications

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string[]>

=begin html

<br>Application Name <p> Possible values: <ul> <li> 'autosupport' - AutoSupport, <li> 'audit_log' - Audit-Logging, <li> 'fabricpool' - FabricPool, <li> 'ems' - EMS, <li> 'kmip' - KMIP, <li> 'ldap_ad' - LDAP-AD, <li> 'ldap_nis_namemap' - LDAP-NIS-NameMap, <li> 'all' - All Applications </ul> <p>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_config_ocsp_enable

[B<Family:> cluster]


=begin html

Enable OCSP for one or more selected applications

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string[]>

=begin html

<br>Application Name <p> Possible values: <ul> <li> 'autosupport' - AutoSupport, <li> 'audit_log' - Audit-Logging, <li> 'fabricpool' - FabricPool, <li> 'ems' - EMS, <li> 'kmip' - KMIP, <li> 'ldap_ad' - LDAP-AD, <li> 'ldap_nis_namemap' - LDAP-NIS-NameMap, <li> 'all' - All Applications </ul> <p>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_config_ocsp_get_iter

[B<Family:> cluster]


=begin html

Display OCSP Support Status for Applications

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-config-ocsp">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-config-ocsp">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security object. All security objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"security-config-ocsp">[], optional>

=begin html

<br>The list of attributes of security objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_login_create

[B<Family:> cluster]


=begin html

Create a new user account associated with the specified application and authentication method. The new account can be local to ONTAP or an user/group configured in an external Active-Directory/LDAP/NIS server. In case of Active-Directory/LDAP/NIS group as the user account, access will be granted to its member users.

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>Name of the application. Possible values: <ul> <li>'console'</li> <li>'http'</li> <li> 'ontapi'</li> <li> 'rsh'</li> <li> 'snmp'</li> <li> 'service-processor'</li> <li> 'ssh'</li> <li> 'telnet'</li> <ul>.

=end html

=back



=over 2

=item * I<authentication-method>  =>   B<string>

=begin html

<br>Authentication method for the application. Possible values: 'community', 'password', 'publickey', 'domain', 'nsswitch' and 'usm'. Not all authentication methods are valid for an application. Valid authentication methods for each application are: <ul> <li>'password' for 'console' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'http' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'ontapi' application.</li> <li>'community' for 'snmp' application (when creating SNMPv1 and SNMPv2 users).</li> <li>'usm' and 'community' for 'snmp' application (when creating SNMPv3 users).</li> <li>'password' for 'service-processor' application.</li> <li>'password', 'publickey', 'domain', 'nsswitch' for 'ssh' application.</li> </ul>

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comments for the user account. The length of comment should be less than or equal to 128 charaters.

=end html

=back



=over 2

=item * I<is-ns-switch-group>  =>   B<boolean, optional>

=begin html

<br>Whether the added group is ns-switch group or not.

=end html

=back



=over 2

=item * I<is-password-hashed>  =>   B<boolean, optional>

=begin html

<br>This optionally specifies whether password entered by user is pre-hashed. This is ignored for creating snmp users. This is required for creating non-snmp users.

=end html

=back



=over 2

=item * I<password>  =>   B<string, optional>

=begin html

<br>Password for the user account. This field is not required (and will be ignored if present) when creating a user for the SNMP application. It is required for all other applications.

=end html

=back



=over 2

=item * I<remote-switch-ipaddress>  =>   B<string, optional>

=begin html

<br>This optionally specifies the IP Address of the remote switch. The remote switch could be a cluster switch monitored by Cluster Switch Health Monitor (CSHM) or a Fiber Channel (FC) switch monitored by Metro Cluster Health Monitor (MCC-HM). This is applicable only for a remote SNMPv3 user i.e. only if user is a remote (non-local) user, application is snmp and authentication-method is usm (SNMP user security model).

=end html

=back



=over 2

=item * I<role-name>  =>   B<string, optional>

=begin html

<br>The profile/role to be associated with the user. The default value is 'admin' for Admin Vserver.

=end html

=back



=over 2

=item * I<second-authentication-method>  =>   B<string, optional>

=begin html

<br>second authentication method for ssh application. Possible values: 'none', 'password' and 'publickey'. <ul> <li>'none'.</li> <li>'password'.</li> <li>'publickey'.</li> </ul>

=end html

=back



=over 2

=item * I<snmpv3-login-info>  =>   B<L<"snmpv3-login-info">, optional>

=begin html

<br>SNMPv3 user login information for 'usm' authentication method

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Name of the User or Group. When creating a SNMPv1 or SNMPv2 user with 'snmp' application and 'community' authentication-method, the user name is the community string. The Active Directory or LDAP/NIS group name can be specified as user name respectively with 'domain' or 'nsswitch' authentication-method and 'ontapi' or 'ssh' application.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_delete

[B<Family:> cluster]


=begin html

Delete an existing user account object.

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>Name of the application. Possible values: <ul> <li>'console'</li> <li>'http'</li> <li> 'ontapi'</li> <li> 'rsh'</li> <li> 'snmp'</li> <li> 'service-processor'</li> <li> 'ssh'</li> <li> 'telnet'</li> <ul>.

=end html

=back



=over 2

=item * I<authentication-method>  =>   B<string>

=begin html

<br>Authentication method for the application. Possible values: 'community', 'password', 'publickey', 'domain', 'nsswitch' and 'usm'. Not all authentication methods are valid for an application. Valid authentication methods for each application are: <ul> <li>'password' for 'console' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'http' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'ontapi' application.</li> <li>'community' for 'snmp' application (when creating SNMPv1 and SNMPv2 users).</li> <li>'usm' and 'community' for 'snmp' application (when creating SNMPv3 users).</li> <li>'password' for 'service-processor' application.</li> <li>'password', 'publickey', 'domain', 'nsswitch' for 'ssh' application.</li> </ul>

=end html

=back



=over 2

=item * I<remote-switch-ipaddress>  =>   B<string, optional>

=begin html

<br>This optionally specifies the IP Address of the remote switch. The remote switch could be a cluster switch monitored by Cluster Switch Health Monitor (CSHM) or a Fiber Channel (FC) switch monitored by Metro Cluster Health Monitor (MCC-HM). This is applicable only for a remote SNMPv3 user i.e. only if user is a remote (non-local) user, application is snmp and authentication-method is usm (SNMP user security model).

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Name of the User or Group. When creating a SNMPv1 or SNMPv2 user with 'snmp' application and 'community' authentication-method, the user name is the community string. The Active Directory or LDAP/NIS group name can be specified as user name respectively with 'domain' or 'nsswitch' authentication-method and 'ontapi' or 'ssh' application.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_delete_iter

[B<Family:> cluster]


=begin html

Delete an existing user account or a group of user account objects.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security login account objects match a given query. If set to true, the API will continue deleting the next matching security login account even when the deletion of a previous security login account fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching security login account even when the deletion of a previous matching security login account fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of security login account objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-account-info">>

=begin html

<br>If deleting a specific security login account, this input element must specify all keys. If deleting multiple security login account objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login account objects (just keys) that were not deleted due to some error. If set to false, the list of security login account objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login account objects (just keys) that were successfully deleted. If set to false, the list of security login account objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-login-delete-iter-info">[], optional>

=begin html

<br>Information about security login account objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security login account objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of security login account objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security login account objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-login-delete-iter-info">[], optional>

=begin html

<br>The security login account objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 security_login_expire_password

[B<Family:> cluster]


=begin html

If the user has a password enabled, this API will cause it to immediately expire. Current login sessions will still remain available.

=end html



B<Inputs>

=over 2

=item * I<password-hash-algorithm>  =>   B<string, optional>

=begin html

<br>This optionally specifies password hash algorithm used to encrypt user's password. Possible values: <ul> <li>sha512</li> <li>sha256</li> <li>md5</li> </ul>

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Name of the user whose password need to be expired.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_expire_password_iter

[B<Family:> cluster]


=begin html

Iterate over a list of user account that uses password as authentication method to immedialtely expire their passwords. Current login sessions will still remain available.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security objects match a given query. If set to true, the API will continue with the next matching security even when the operation fails for the security. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching security even when the operation on a previous matching security fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of security objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-password-user-info">>

=begin html

<br>If operating on a specific security, this input element must specify all keys. If operating on security objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security objects (just keys) that were not operated on due to some error. If set to false, the list of security objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security objects (just keys) that were successfully operated on. If set to false, the list of security objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-login-expire-password-iter-info">[], optional>

=begin html

<br>Information about security objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of security objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-login-expire-password-iter-info">[], optional>

=begin html

<br>The security objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 security_login_get

[B<Family:> cluster]


=begin html

Get the attributes of a user account.

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>Name of the application. Possible values: <ul> <li>'console'</li> <li>'http'</li> <li> 'ontapi'</li> <li> 'rsh'</li> <li> 'snmp'</li> <li> 'service-processor'</li> <li> 'ssh'</li> <li> 'telnet'</li> <ul>.

=end html

=back



=over 2

=item * I<authentication-method>  =>   B<string>

=begin html

<br>Authentication method for the application. Possible values: 'community', 'password', 'publickey', 'domain', 'nsswitch' and 'usm'. Not all authentication methods are valid for an application. Valid authentication methods for each application are: <ul> <li>'password' for 'console' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'http' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'ontapi' application.</li> <li>'community' for 'snmp' application (when creating SNMPv1 and SNMPv2 users).</li> <li>'usm' and 'community' for 'snmp' application (when creating SNMPv3 users).</li> <li>'password' for 'service-processor' application.</li> <li>'password', 'publickey', 'domain', 'nsswitch' for 'ssh' application.</li> </ul>

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"security-login-account-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<remote-switch-ipaddress>  =>   B<string, optional>

=begin html

<br>This optionally specifies the IP Address of the remote switch. The remote switch could be a cluster switch monitored by Cluster Switch Health Monitor (CSHM) or a Fiber Channel (FC) switch monitored by Metro Cluster Health Monitor (MCC-HM). This is applicable only for a remote SNMPv3 user i.e. only if user is a remote (non-local) user, application is snmp and authentication-method is usm (SNMP user security model).

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Name of the User or Group. When creating a SNMPv1 or SNMPv2 user with 'snmp' application and 'community' authentication-method, the user name is the community string. The Active Directory or LDAP/NIS group name can be specified as user name respectively with 'domain' or 'nsswitch' authentication-method and 'ontapi' or 'ssh' application.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"security-login-account-info">>

=begin html

<br>The attributes of the security login account.

=end html

=back



=head2 security_login_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of user account objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-login-account-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-account-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security login account object. All security login account objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"security-login-account-info">[], optional>

=begin html

<br>The list of attributes of security login account objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security login account objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_login_lock

[B<Family:> cluster]


=begin html

Lock a user account that uses password as the authentication method. Returns an error if the user account does not use password authentication.

=end html



B<Inputs>

=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Name of the user account to be locked.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_modify

[B<Family:> cluster]


=begin html

Modify the attributes of a user account object. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>Name of the application. Possible values: <ul> <li>'console'</li> <li>'http'</li> <li> 'ontapi'</li> <li> 'rsh'</li> <li> 'snmp'</li> <li> 'service-processor'</li> <li> 'ssh'</li> <li> 'telnet'</li> <ul>.

=end html

=back



=over 2

=item * I<authentication-method>  =>   B<string>

=begin html

<br>Authentication method for the application. Possible values: 'community', 'password', 'publickey', 'domain', 'nsswitch' and 'usm'. Not all authentication methods are valid for an application. Valid authentication methods for each application are: <ul> <li>'password' for 'console' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'http' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'ontapi' application.</li> <li>'community' for 'snmp' application (when creating SNMPv1 and SNMPv2 users).</li> <li>'usm' and 'community' for 'snmp' application (when creating SNMPv3 users).</li> <li>'password' for 'service-processor' application.</li> <li>'password', 'publickey', 'domain', 'nsswitch' for 'ssh' application.</li> </ul>

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comments for the user account. The length of comment should be less than or equal to 128 charaters.

=end html

=back



=over 2

=item * I<is-ns-switch-group>  =>   B<boolean, optional>

=begin html

<br>Whether the added group is ns-switch group or not.

=end html

=back



=over 2

=item * I<remote-switch-ipaddress>  =>   B<string, optional>

=begin html

<br>This optionally specifies the IP Address of the remote switch. The remote switch could be a cluster switch monitored by Cluster Switch Health Monitor (CSHM) or a Fiber Channel (FC) switch monitored by Metro Cluster Health Monitor (MCC-HM). This is applicable only for a remote SNMPv3 user i.e. only if user is a remote (non-local) user, application is snmp and authentication-method is usm (SNMP user security model).

=end html

=back



=over 2

=item * I<role-name>  =>   B<string>

=begin html

<br>The profile/role to be associated with the user. The default value is 'admin' for Admin Vserver.

=end html

=back



=over 2

=item * I<second-authentication-method>  =>   B<string, optional>

=begin html

<br>second authentication method for ssh application. Possible values: 'none', 'password' and 'publickey'. <ul> <li>'none'.</li> <li>'password'.</li> <li>'publickey'.</li> </ul>

=end html

=back



=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Name of the User or Group. When creating a SNMPv1 or SNMPv2 user with 'snmp' application and 'community' authentication-method, the user name is the community string. The Active Directory or LDAP/NIS group name can be specified as user name respectively with 'domain' or 'nsswitch' authentication-method and 'ontapi' or 'ssh' application.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_modify_iter

[B<Family:> cluster]


=begin html

Modify the attributes of a user account or a group of user account objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"security-login-account-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security login account objects match a given query. If set to true, the API will continue modifying the next matching security login account even when modification of a previous security login account fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching security login account even when the modification of a previous matching security login account fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-account-info">>

=begin html

<br>If modifying a specific security login account, this input element must specify all keys. If modifying security login account objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login account objects (just keys) that were not modified due to some error. If set to false, the list of security login account objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login account objects (just keys) that were successfully updated. If set to false, the list of security login account objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-login-modify-iter-info">[], optional>

=begin html

<br>Information about security login account objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security login account objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of security login account objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security login account objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-login-modify-iter-info">[], optional>

=begin html

<br>The security login account objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 security_login_modify_password

[B<Family:> cluster, vserver]


=begin html

Changes the password of a specified user.

=end html



B<Inputs>

=over 2

=item * I<is-password-hashed>  =>   B<boolean, optional>

=begin html

<br>This optionally specifies whether password entered by user is pre-hashed.

=end html

=back



=over 2

=item * I<new-password>  =>   B<string>

=begin html

<br>New password of the user.

=end html

=back



=over 2

=item * I<password-hash-algorithm>  =>   B<string, optional>

=begin html

<br>This optionally specifies password hash algorithm used to encrypt user's password. The default value is 'sha512'. Possible values: <ul> <li>sha512</li> <li>sha256</li> </ul>

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>The user whose password should be changed. This is mandatory when a user with admin role is modifying the password of another user.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_role_config_get

[B<Family:> cluster]


=begin html

Get the attributes of a role configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-login-role-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<role-name>  =>   B<string>

=begin html

<br>Name of the role.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"security-login-role-config-info">>

=begin html

<br>The attributes of the security login roleconfig.

=end html

=back



=head2 security_login_role_config_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of role objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-login-role-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-role-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security login roleconfig object. All security login roleconfig objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"security-login-role-config-info">[], optional>

=begin html

<br>The list of attributes of security login roleconfig objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security login roleconfig objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_login_role_config_modify

[B<Family:> cluster]


=begin html

Modify the specified attributes of role configuration object. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<account-expiry-time>  =>   B<string, optional>

=begin html

<br>This optionally specifies the expiration period of user accounts. The default setting is 2^32-1 meaning that no accounts will be marked for expiration.

=end html

=back



=over 2

=item * I<account-inactive-limit>  =>   B<string, optional>

=begin html

<br>This optionally specifies the maximum duration of inactivity leading to expiration of user account. The default setting is 2^32-1, meaning that no account will expire based on inactivity.

=end html

=back



=over 2

=item * I<change-password-duration-in-days>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the number of days that must pass between password changes. The default setting is 0 (zero) meaning the user is allowed to change the password immediately.

=end html

=back



=over 2

=item * I<delay-after-failed-login>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the delay after each failed login attempt in seconds. Default is 4 secs.

=end html

=back



=over 2

=item * I<last-passwords-disallowed-count>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the number of previous passwords that are disallowed for reuse. The default setting is 6.

=end html

=back



=over 2

=item * I<lockout-duration>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the number of days to lock the account if maximum number of failed attempts occur. Default is 0.

=end html

=back



=over 2

=item * I<max-failed-login-attempts>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the maximum number of invalid login attempts after which the account gets locked. Default is 0.

=end html

=back



=over 2

=item * I<min-passwd-specialchar>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum special characters required in password. The default setting is no special chars i.e. 0.

=end html

=back



=over 2

=item * I<min-password-size>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum length of the password. Possible values range from 3 to 64 characters. The default setting is 8 characters.

=end html

=back



=over 2

=item * I<min-username-size>  =>   B<integer, optional>

=begin html

<br>The minimum length of the user name. Possible values range from 3 to 16 characters. The default setting is 3 characters.

=end html

=back



=over 2

=item * I<passwd-expiry-warn-time>  =>   B<string, optional>

=begin html

<br>If configured, this optionally specifies when the user starts receiving warning messages regarding upcoming password expiry. The default setting is 2^32-1.

=end html

=back



=over 2

=item * I<passwd-min-digits>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum number of digits required in the password. The default setting is 0.

=end html

=back



=over 2

=item * I<passwd-min-lowercase-chars>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum number of lowercase alphabetic characters required in the password. The default setting is 0.

=end html

=back



=over 2

=item * I<passwd-min-uppercase-chars>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum number of uppercase alphabetic characters required in the password. The default setting is 0.

=end html

=back



=over 2

=item * I<password-expiration-duration>  =>   B<string, optional>

=begin html

<br>This optionally specifies the password expiry in days. A value of 0 means it expiries now. Default is 2^32-1 (ie., never expire).

=end html

=back



=over 2

=item * I<require-initial-password-update>  =>   B<boolean, optional>

=begin html

<br>This optionally specifies to change the password upon first-login to the storage controller from SSH or serial-console. Default is false.

=end html

=back



=over 2

=item * I<require-password-alpha-numeric>  =>   B<boolean, optional>

=begin html

<br>If this field is set it specifies that the password must have atleast 1 alpha and 1 numeric character.

=end html

=back



=over 2

=item * I<require-username-alpha-numeric>  =>   B<boolean, optional>

=begin html

<br>If this field is set it specifies that the username must have atleast 1 alpha and 1 numeric character.

=end html

=back



=over 2

=item * I<role-name>  =>   B<string>

=begin html

<br>Name of the role.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_role_config_modify_iter

[B<Family:> cluster]


=begin html

Modify the attributes of role configuration or a group of role configuration objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"security-login-role-config-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security login roleconfig objects match a given query. If set to true, the API will continue modifying the next matching security login roleconfig even when modification of a previous security login roleconfig fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching security login roleconfig even when the modification of a previous matching security login roleconfig fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-role-config-info">>

=begin html

<br>If modifying a specific security login roleconfig, this input element must specify all keys. If modifying security login roleconfig objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login roleconfig objects (just keys) that were not modified due to some error. If set to false, the list of security login roleconfig objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login roleconfig objects (just keys) that were successfully updated. If set to false, the list of security login roleconfig objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-login-role-config-modify-iter-info">[], optional>

=begin html

<br>Information about security login roleconfig objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security login roleconfig objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of security login roleconfig objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security login roleconfig objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-login-role-config-modify-iter-info">[], optional>

=begin html

<br>The security login roleconfig objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 security_login_role_create

[B<Family:> cluster]


=begin html

Create a new user role.

=end html



B<Inputs>

=over 2

=item * I<access-level>  =>   B<string, optional>

=begin html

<br>Access level for the role. Possible values: 'none', 'readonly', 'all'. The default value is 'all'.

=end html

=back



=over 2

=item * I<command-directory-name>  =>   B<string>

=begin html

<br>The command or command directory to which the role has an access.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the security login role on successful creation. Default: false

=end html

=back



=over 2

=item * I<role-name>  =>   B<string>

=begin html

<br>Name of the role.

=end html

=back



=over 2

=item * I<role-query>  =>   B<string, optional>

=begin html

<br>A query for the role. The query must apply to the specified command or directory name. Example: The command is 'volume show' and the query is '-volume vol1'. The query is applied to the command resulting in populating only the volumes with name vol1.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"security-login-role-info">, optional>

=begin html

<br>The security login role created (keys or the entire object if requested)

=end html

=back



=head2 security_login_role_delete

[B<Family:> cluster]


=begin html

Delete an existing user role object.

=end html



B<Inputs>

=over 2

=item * I<command-directory-name>  =>   B<string>

=begin html

<br>The command or command directory to which the role has an access.

=end html

=back



=over 2

=item * I<role-name>  =>   B<string>

=begin html

<br>Name of the role.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_role_delete_iter

[B<Family:> cluster]


=begin html

Delete an existing user role or a group of user role objects.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security login role objects match a given query. If set to true, the API will continue deleting the next matching security login role even when the deletion of a previous security login role fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching security login role even when the deletion of a previous matching security login role fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of security login role objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-role-info">>

=begin html

<br>If deleting a specific security login role, this input element must specify all keys. If deleting multiple security login role objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login role objects (just keys) that were not deleted due to some error. If set to false, the list of security login role objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login role objects (just keys) that were successfully deleted. If set to false, the list of security login role objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-login-role-delete-iter-info">[], optional>

=begin html

<br>Information about security login role objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security login role objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of security login role objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security login role objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-login-role-delete-iter-info">[], optional>

=begin html

<br>The security login role objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 security_login_role_get

[B<Family:> cluster]


=begin html

Get the attributes of a user role.

=end html



B<Inputs>

=over 2

=item * I<command-directory-name>  =>   B<string>

=begin html

<br>The command or command directory to which the role has an access.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"security-login-role-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<role-name>  =>   B<string>

=begin html

<br>Name of the role.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"security-login-role-info">>

=begin html

<br>The attributes of the security login role.

=end html

=back



=head2 security_login_role_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of user role objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-login-role-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-role-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security login role object. All security login role objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"security-login-role-info">[], optional>

=begin html

<br>The list of attributes of security login role objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security login role objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_login_role_modify

[B<Family:> cluster]


=begin html

Modify the attributes of user role object. Omitted (optional) fields will not be changed.

=end html



B<Inputs>

=over 2

=item * I<access-level>  =>   B<string, optional>

=begin html

<br>Access level for the role. Possible values: 'none', 'readonly', 'all'. The default value is 'all'.

=end html

=back



=over 2

=item * I<command-directory-name>  =>   B<string>

=begin html

<br>The command or command directory to which the role has an access.

=end html

=back



=over 2

=item * I<role-name>  =>   B<string>

=begin html

<br>Name of the role.

=end html

=back



=over 2

=item * I<role-query>  =>   B<string, optional>

=begin html

<br>A query for the role. The query must apply to the specified command or directory name. Example: The command is 'volume show' and the query is '-volume vol1'. The query is applied to the command resulting in populating only the volumes with name vol1.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_role_modify_iter

[B<Family:> cluster]


=begin html

Modify the attributes of user role or a group of user role objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"security-login-role-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security login role objects match a given query. If set to true, the API will continue modifying the next matching security login role even when modification of a previous security login role fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching security login role even when the modification of a previous matching security login role fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-login-role-info">>

=begin html

<br>If modifying a specific security login role, this input element must specify all keys. If modifying security login role objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login role objects (just keys) that were not modified due to some error. If set to false, the list of security login role objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security login role objects (just keys) that were successfully updated. If set to false, the list of security login role objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-login-role-modify-iter-info">[], optional>

=begin html

<br>Information about security login role objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security login role objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of security login role objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security login role objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-login-role-modify-iter-info">[], optional>

=begin html

<br>The security login role objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 security_login_unlock

[B<Family:> cluster]


=begin html

Unlock a user account that uses password as authentication method. Returns an error if the user account does not use password authentication.

=end html



B<Inputs>

=over 2

=item * I<user-name>  =>   B<string>

=begin html

<br>Name of the user account to be unlocked.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_login_whoami

[B<Family:> cluster, vserver]


=begin html

Show the current user and role of this session.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-login-account-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"security-login-account-info">>

=begin html

<br>The attributes of the security login whoami.

=end html

=back



=head2 security_protocol_get

[B<Family:> cluster]


=begin html

Get the security protocol configuration

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>Name of the application.Possible values: <ul> <li>'rsh'</li> <li>'telnet'</li> <ul>.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"security-protocol-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"security-protocol-info">>

=begin html

<br>The attributes of the security protocol.

=end html

=back



=head2 security_protocol_modify

[B<Family:> cluster]


=begin html

Modify the security protocol configuration

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>Name of the application.Possible values: <ul> <li>'rsh'</li> <li>'telnet'</li> <ul>.

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean>

=begin html

<br>To enable or disable application.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_protocol_ssh_get

[B<Family:> cluster]


=begin html

Get the security protocol ssh configuration

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-protocol-ssh-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"security-protocol-ssh-info">>

=begin html

<br>The attributes of the security protocol ssh.

=end html

=back



=head2 security_protocol_ssh_modify

[B<Family:> cluster]


=begin html

Modifies the security protocol ssh configuration.

=end html



B<Inputs>

=over 2

=item * I<connections-per-second>  =>   B<integer>

=begin html

<br>Connections Per Second

=end html

=back



=over 2

=item * I<max-instances>  =>   B<integer>

=begin html

<br>Maximum Number of Instances

=end html

=back



=over 2

=item * I<per-source-limit>  =>   B<integer>

=begin html

<br>Per-Source Limit

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_saml_sp_create_async

[B<Family:> cluster]


=begin html

Configure SAML service provider information. Note that this restarts the web server. Any HTTP/S connections that are active will be disrupted.

=end html



B<Inputs>

=over 2

=item * I<cert-ca>  =>   B<string, optional>

=begin html

<br>Specify the service prvider's certificate issuing CA.

=end html

=back



=over 2

=item * I<cert-common-name>  =>   B<common-name, optional>

=begin html

<br>Specify the service providers certificate's common name.

=end html

=back



=over 2

=item * I<cert-serial>  =>   B<string, optional>

=begin html

<br>Specify the service providers certificate's serial number.

=end html

=back



=over 2

=item * I<idp-uri>  =>   B<uri>

=begin html

<br>Specify the URI containing the metadata of the identity provider.

=end html

=back



=over 2

=item * I<sp-host>  =>   B<remote-inet-address, optional>

=begin html

<br>Specify the SAML SP service provider host address.

=end html

=back



=over 2

=item * I<verify-metadata-server>  =>   B<boolean, optional>

=begin html

<br>Specify whether to verify the IdP metadata server identity.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"saml-sp-config-info">, optional>

=begin html

<br>The security created (keys or the entire object if requested)

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The ID of the job that was spawned to create this security.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded" if creation completed successfully, "in_progress" if creation is in progress, "failed" if creation failed.

=end html

=back



=head2 security_saml_sp_destroy

[B<Family:> cluster]


=begin html

Delete SAML service provider configuration information. Note that this restarts the web server. Any HTTP/S connections that are active will be disrupted.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_saml_sp_get

[B<Family:> cluster]


=begin html

Get SAML service provider configuration information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"saml-sp-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"saml-sp-config-info">>

=begin html

<br>The attributes of the security.

=end html

=back



=head2 security_saml_sp_modify

[B<Family:> cluster]


=begin html

Modify SAML service provider configuration information. Note that this may restart the web server. Any HTTP/S connections that are active may be disrupted. Prior to disabling SAML service provider authentication, to prevent losing access, ensure that there are user accounts configured for non-SAML authentication.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Enable or disable the configured SAML SP for authentication.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_ssh_add

[B<Family:> cluster, vserver]


=begin html

Adds the input algorithms, ciphers and mac algorithms to the SSH configuration. Existing algorithms, ciphers and mac algorithms remain in the configuration. API will succeed if requested kex algorithm or cipher or MAC algorithm is not currently enabled in the configuration.

=end html



B<Inputs>

=over 2

=item * I<ciphers>  =>   B<ciphers[], optional>

=begin html

<br>List of SSH Ciphers to Add

=end html

=back



=over 2

=item * I<key-exchange-algorithms>  =>   B<kex-algorithms[], optional>

=begin html

<br>List of SSH Key Exchange Algorithms to Add

=end html

=back



=over 2

=item * I<mac-algorithms>  =>   B<mac-algorithms[], optional>

=begin html

<br>List of SSH MAC Algorithms to Add

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name-data-admin, optional>

=begin html

<br>Name of Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_ssh_get_iter

[B<Family:> cluster, vserver]


=begin html

Display SSH configuration options

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-ssh-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-ssh-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the ssh object. All ssh objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"security-ssh-info">[], optional>

=begin html

<br>The list of attributes of ssh objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more ssh objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_ssh_remove

[B<Family:> cluster, vserver]


=begin html

Removes the input algorithms, ciphers and MAC algorithms from the SSH configuration. API will succeed if requested kex algorithm or cipher or MAC algorithm is already currently enabled in the configuration.

=end html



B<Inputs>

=over 2

=item * I<ciphers>  =>   B<ciphers[], optional>

=begin html

<br>List of SSH Ciphers to Remove

=end html

=back



=over 2

=item * I<key-exchange-algorithms>  =>   B<kex-algorithms[], optional>

=begin html

<br>List of SSH Key Exchange Algorithms to Remove

=end html

=back



=over 2

=item * I<mac-algorithms>  =>   B<mac-algorithms[], optional>

=begin html

<br>List of SSH MAC algorithms to Remove

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name-data-admin, optional>

=begin html

<br>Name of Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_ssh_reset

[B<Family:> vserver]


=begin html

Enable and replace SSH configuration options to this new setting

=end html



B<Inputs>

=over 2

=item * I<ciphers>  =>   B<ciphers[], optional>

=begin html

<br>List of SSH Ciphers enabled. Possible values: <ul> <li> "aes256_xts" , <li> "aes256_ctr" , <li> "aes192_ctr" , <li> "aes128_ctr" , <li> "aes256_cbc" , <li> "aes192_cbc" , <li> "aes128_cbc" , <li> "3des_cbc" , <li> "aes128_gcm" , <li> "aes256_gcm" </ul>

=end html

=back



=over 2

=item * I<key-exchange-algorithms>  =>   B<kex-algorithms[], optional>

=begin html

<br>List of SSH key exchange algorithms enabled. Possible values: <ul> <li> "diffie_hellman_group_exchange_sha256" , <li> "diffie_hellman_group_exchange_sha1" , <li> "diffie_hellman_group14_sha1" , <li> "diffie_hellman_group1_sha1" , <li> "ecdh_sha2_nistp256" , <li> "ecdh_sha2_nistp384" , <li> "ecdh_sha2_nistp521" , <li> "curve25519_sha256" </ul>

=end html

=back



=over 2

=item * I<mac-algorithms>  =>   B<mac-algorithms[], optional>

=begin html

<br>List of SSH MAC algorithms enabled. Possible values: <ul> <li> "hmac_md5" , <li> "hmac_md5_96" , <li> "hmac_md5_etm" , <li> "hmac_md5_96_etm" , <li> "hmac_ripemd160" , <li> "hmac_ripemd160_etm" , <li> "hmac_sha1" , <li> "hmac_sha1_etm" , <li> "hmac_sha1_96" , <li> "hmac_sha1_96_etm" , <li> "hmac_sha2_256" , <li> "hmac_sha2_256_etm" , <li> "hmac_sha2_512" , <li> "hmac_sha2_512_etm" , <li> "umac_64" , <li> "umac_128" , <li> "umac_64_etm" , <li> "umac_128_etm" </ul>

=end html

=back



=over 2

=item * I<max-authentication-retry-count>  =>   B<integer, optional>

=begin html

<br>Maximum Authentication Retry Count.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_certificate_ca_issued_get

[B<Family:> vserver]


=begin html

Get the attributes of the security-certificate-ca-issued.

=end html



B<Inputs>

=over 2

=item * I<ca-serial-number>  =>   B<string>

=begin html

<br>Serial number of CA certificate.

=end html

=back



=over 2

=item * I<certificate-authority>  =>   B<string>

=begin html

<br>Certificate Authority

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"certificate-ca-issued-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Serial number of certificate.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"certificate-ca-issued-info">>

=begin html

<br>The attributes of the security-certificate-ca-issued.

=end html

=back



=head2 security_certificate_ca_issued_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of security-certificate-ca-issued objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"certificate-ca-issued-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"certificate-ca-issued-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-certificate-ca-issued object. All security-certificate-ca-issued objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"certificate-ca-issued-info">[], optional>

=begin html

<br>The list of attributes of security-certificate-ca-issued objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-certificate-ca-issued objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_certificate_create

[B<Family:> cluster, vserver]


=begin html

If a certificate is created with the existing Common Name then a new certificate is generated with a different serial number

=end html



B<Inputs>

=over 2

=item * I<common-name>  =>   B<string>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS).

=end html

=back



=over 2

=item * I<country>  =>   B<string, optional>

=begin html

<br>Name of the country. Default value is 'US'.

=end html

=back



=over 2

=item * I<email-address>  =>   B<string, optional>

=begin html

<br>Email address of administrator. Default value is empty string.

=end html

=back



=over 2

=item * I<expire-days>  =>   B<integer, optional>

=begin html

<br>Number of days until expiration. Default value is '365'.

=end html

=back



=over 2

=item * I<hash-function>  =>   B<string, optional>

=begin html

<br>Hashing function used to sign the certificate. Default value is 'sha256'. <p> Possible values: <ul> <li> 'sha1' , <li> 'sha256' , <li> 'md5' , <li> 'sha224' , <li> 'sha384' , <li> 'sha512 </ul> <p>

=end html

=back



=over 2

=item * I<is-system-internal-certificate>  =>   B<boolean, optional>

=begin html

<br>Is System Internal Certificate. Default value is 'false'.

=end html

=back



=over 2

=item * I<locality>  =>   B<string, optional>

=begin html

<br>Name of the locality Default value is empty string.

=end html

=back



=over 2

=item * I<organization>  =>   B<string, optional>

=begin html

<br>Name of the organization. Default value is empty string.

=end html

=back



=over 2

=item * I<organization-unit>  =>   B<string, optional>

=begin html

<br>Name of the unit. Example: IT, Finance. Default value is empty string.

=end html

=back



=over 2

=item * I<size>  =>   B<string, optional>

=begin html

<br>Size of requested certificate in bits. Default value is '2048'. <p> Possible values: <ul> <li> '512' - 512 bits private key, <li> '1024' - 1024 bits private key, <li> '1536' - 1536 bits private key, <li> '2048' - 2048 bits private key, <li> '3072' - 3072 bits private key </ul> <p>

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>Name of the state. Default value is empty string.

=end html

=back



=over 2

=item * I<type>  =>   B<string>

=begin html

<br>Type of certificate. <p> Possible values: <ul> <li> 'server' - Server certificate, <li> 'client' - Certificate for Data ONTAP as an SSL client, <li> 'root_ca' - Self-Signed Root CA, <li> 'client_ca' - CA who signed user certificates on client, <li> 'server_ca' - CA who signed user certificates on server, <li> 'server_chain' - Intermediate certificate for server authentication </ul> <p>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Default value is Cserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_certificate_delete

[B<Family:> cluster, vserver]


=begin html

Delete an existing security-certificate object.

=end html



B<Inputs>

=over 2

=item * I<certificate-authority>  =>   B<string>

=begin html

<br>Certificate Authority

=end html

=back



=over 2

=item * I<common-name>  =>   B<string>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS).

=end html

=back



=over 2

=item * I<is-system-internal-certificate>  =>   B<boolean, optional>

=begin html

<br>Is System Internal Certificate

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of certificate.

=end html

=back



=over 2

=item * I<subtype>  =>   B<string, optional>

=begin html

<br>Certificate Subtype

=end html

=back



=over 2

=item * I<type>  =>   B<string>

=begin html

<br>Type of certificate. <p> Possible values: <ul> <li> 'server' - Server certificate, <li> 'client' - Certificate for Data ONTAP as an SSL client, <li> 'root_ca' - Self-Signed Root CA, <li> 'client_ca' - CA who signed user certificates on client, <li> 'server_ca' - CA who signed user certificates on server, <li> 'server_chain' - Intermediate certificate for server authentication </ul> <p>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Default value is Cserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_certificate_delete_iter

[B<Family:> cluster, vserver]


=begin html

Delete an existing security-certificate or a group of security-certificate objects.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security-certificate objects match a given query. If set to true, the API will continue deleting the next matching security-certificate even when the deletion of a previous security-certificate fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching security-certificate even when the deletion of a previous matching security-certificate fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of security-certificate objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"certificate-info">>

=begin html

<br>If deleting a specific security-certificate, this input element must specify all keys. If deleting multiple security-certificate objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-certificate objects (just keys) that were not deleted due to some error. If set to false, the list of security-certificate objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-certificate objects (just keys) that were successfully deleted. If set to false, the list of security-certificate objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-certificate-delete-iter-info">[], optional>

=begin html

<br>Information about security-certificate objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security-certificate objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of security-certificate objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security-certificate objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-certificate-delete-iter-info">[], optional>

=begin html

<br>The security-certificate objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 security_certificate_file_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of security-certificate-file objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"certificate-file-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"certificate-file-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-certificate-file object. All security-certificate-file objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"certificate-file-info">[], optional>

=begin html

<br>The list of attributes of security-certificate-file objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-certificate-file objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_certificate_generate_csr

[B<Family:> cluster, vserver]


=begin html

Generate a digital certificate signing request(CSR)

=end html



B<Inputs>

=over 2

=item * I<common-name>  =>   B<string>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS).

=end html

=back



=over 2

=item * I<country>  =>   B<string, optional>

=begin html

<br>Name of the country.

=end html

=back



=over 2

=item * I<email-address>  =>   B<string, optional>

=begin html

<br>Email address of administrator.

=end html

=back



=over 2

=item * I<hash-function>  =>   B<string, optional>

=begin html

<br>Hashing function used to sign the certificate. Default value is 'sha256'. <p> Possible values: <ul> <li> 'sha1' , <li> 'sha256' , <li> 'md5' , <li> 'sha224' , <li> 'sha384' , <li> 'sha512' </ul> <p>

=end html

=back



=over 2

=item * I<locality>  =>   B<string, optional>

=begin html

<br>Name of the locality.

=end html

=back



=over 2

=item * I<organization>  =>   B<string, optional>

=begin html

<br>Name of the organization.

=end html

=back



=over 2

=item * I<organization-unit>  =>   B<string, optional>

=begin html

<br>Name of the unit. Example: IT, Finance.

=end html

=back



=over 2

=item * I<size>  =>   B<string, optional>

=begin html

<br>Size of requested certificate in bits. Default value is '2048'. <p> Possible values: <ul> <li> '512' - 512 bits private key, <li> '1024' - 1024 bits private key, <li> '1536' - 1536 bits private key, <li> '2048' - 2048 bits private key, <li> '3072' - 3072 bits private key </ul> <p>

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>Name of the state.

=end html

=back



B<Outputs>

=over 2

=item * I<csr>  =>   B<string>

=begin html

<br>Certificate Signing Request

=end html

=back



=over 2

=item * I<private-key>  =>   B<string>

=begin html

<br>Private Key

=end html

=back



=head2 security_certificate_get

[B<Family:> vserver]


=begin html

Get the attributes of the security-certificate.

=end html



B<Inputs>

=over 2

=item * I<certificate-authority>  =>   B<string>

=begin html

<br>Certificate Authority

=end html

=back



=over 2

=item * I<common-name>  =>   B<string>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS).

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"certificate-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of certificate.

=end html

=back



=over 2

=item * I<subtype>  =>   B<string, optional>

=begin html

<br>Certificate Subtype

=end html

=back



=over 2

=item * I<type>  =>   B<string>

=begin html

<br>Type of certificate. <p> Possible values: <ul> <li> 'server' - Server certificate, <li> 'client' - Certificate for Data ONTAP as an SSL client, <li> 'root_ca' - Self-Signed Root CA, <li> 'client_ca' - CA who signed user certificates on the client, <li> 'server_ca' - CA who signed user certificates on the server, <li> 'server_chain' - Intermediate certificate for server authentication </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"certificate-info">>

=begin html

<br>The attributes of the security-certificate.

=end html

=back



=head2 security_certificate_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of security-certificate objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"certificate-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"certificate-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-certificate object. All security-certificate objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"certificate-info">[], optional>

=begin html

<br>The list of attributes of security-certificate objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-certificate objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_certificate_install

[B<Family:> cluster, vserver]


=begin html

Install a digital certificate

=end html



B<Inputs>

=over 2

=item * I<certificate>  =>   B<string>

=begin html

<br>Public Key Certificate

=end html

=back



=over 2

=item * I<common-name>  =>   B<common-name, optional>

=begin html

<br>FQDN or custom common name. This field is available from Data ONTAP 8.3.3 onwards and is only applicable if the certificate has an empty subject field and a valid subject alternate name extension. This field must have a valid common name to install such a certificate.

=end html

=back



=over 2

=item * I<intermediate-cert-list>  =>   B<pubcertificate[], optional>

=begin html

<br>Chain of Intermediate Certificates

=end html

=back



=over 2

=item * I<is-system-internal-certificate>  =>   B<boolean, optional>

=begin html

<br>Netapp internal certificate. Default value is 'false'.

=end html

=back



=over 2

=item * I<kmip-server-ip>  =>   B<ip-address, optional>

=begin html

<br>(DEPRECATED)-IPv4 and IPv6 address.

=end html

=back



=over 2

=item * I<private-key>  =>   B<string, optional>

=begin html

<br>Private Key

=end html

=back



=over 2

=item * I<subtype>  =>   B<subtype, optional>

=begin html

<br>Certificate subtype.

=end html

=back



=over 2

=item * I<type>  =>   B<string>

=begin html

<br>Type of certificate. <p> Possible values: <ul> <li> 'server' - Server certificate, <li> 'client' - Certificate for Data ONTAP as an SSL client, <li> 'client_ca' - CA who signed user certificates on client, <li> 'server_ca' - CA who signed user certificates on server </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Default value is Cserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_certificate_remove_precluster_cert

[B<Family:> cluster]


=begin html

Removes the auto-generated precluster certificate

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_certificate_revoke

[B<Family:> cluster, vserver]


=begin html

Revoke a digital certificate

=end html



B<Inputs>

=over 2

=item * I<ca-serial-number>  =>   B<string>

=begin html

<br>Serial number of CA certificate.

=end html

=back



=over 2

=item * I<certificate-authority>  =>   B<string>

=begin html

<br>Certificate Authority

=end html

=back



=over 2

=item * I<common-name>  =>   B<string, optional>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS).

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Serial number of certificate.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Default value is Cserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_certificate_sign

[B<Family:> cluster, vserver]


=begin html

Sign a certificate using self-signed root CA

=end html



B<Inputs>

=over 2

=item * I<ca-serial-number>  =>   B<string>

=begin html

<br>Serial number of CA certificate.

=end html

=back



=over 2

=item * I<certificate-authority>  =>   B<string>

=begin html

<br>Certificate Authority to Sign

=end html

=back



=over 2

=item * I<csr>  =>   B<string>

=begin html

<br>Certificate signing request.

=end html

=back



=over 2

=item * I<destination>  =>   B<uri, optional>

=begin html

<br>URI to send file to. Example: ftp://abc.com.

=end html

=back



=over 2

=item * I<expire-days>  =>   B<integer, optional>

=begin html

<br>Number of days until expiration. Default value is '365'.

=end html

=back



=over 2

=item * I<filepassword>  =>   B<string, optional>

=begin html

<br>Password for PKCS12 file

=end html

=back



=over 2

=item * I<format>  =>   B<string, optional>

=begin html

<br>Certificate Format. Default value is 'PEM'. <p> Possible values: <ul> <li> 'pkcs12' , <li> 'pem' </ul> <p>

=end html

=back



=over 2

=item * I<hash-function>  =>   B<string, optional>

=begin html

<br>Hashing function used to sign the certificate. Default value is 'sha256'. <p> Possible values: <ul> <li> 'sha1' , <li> 'sha256' , <li> 'md5' , <li> 'sha224' , <li> 'sha384' , <li> 'sha512' </ul> <p>

=end html

=back



=over 2

=item * I<password>  =>   B<string, optional>

=begin html

<br>Destination URI password

=end html

=back



=over 2

=item * I<private-key>  =>   B<string, optional>

=begin html

<br>Private Key

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>Destination URI username

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Default value is Cserver.

=end html

=back



B<Outputs>

=over 2

=item * I<signed-cert>  =>   B<string>

=begin html

<br>Signed certificate.

=end html

=back



=head2 security_certificate_truststore_clear

[B<Family:> cluster]


=begin html

Clear the default root certificates from truststore

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_certificate_truststore_load

[B<Family:> cluster]


=begin html

Load the default root certificates to truststore

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_key_manager_add

[B<Family:> cluster]


=begin html

Add a key management server to Data ONTAP.

=end html



B<Inputs>

=over 2

=item * I<key-manager-ip-address>  =>   B<string>

=begin html

<br>The IP address of the key management server.

=end html

=back



=over 2

=item * I<key-manager-tcp-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on which the key management server listens for incoming connections. The default value for this parameter is 5696.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_key_manager_add_iter

[B<Family:> cluster]


=begin html

(DEPRECATED)-Add a key management server to each node in the cluster.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security-key-manager objects match a given query. If set to true, the API will continue with the next matching security-key-manager even when the operation fails for the security-key-manager. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching security-key-manager even when the operation on a previous matching security-key-manager fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of security-key-manager objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"key-manager-info">>

=begin html

<br>If operating on a specific security-key-manager, this input element must specify all keys. If operating on security-key-manager objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-key-manager objects (just keys) that were not operated on due to some error. If set to false, the list of security-key-manager objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-key-manager objects (just keys) that were successfully operated on. If set to false, the list of security-key-manager objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-key-manager-add-iter-info">[], optional>

=begin html

<br>Information about security-key-manager objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security-key-manager objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of security-key-manager objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security-key-manager objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-key-manager-add-iter-info">[], optional>

=begin html

<br>The security-key-manager objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 security_key_manager_backup_get

[B<Family:> cluster]


=begin html

Get backup of key hierarchy

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<key-backup>  =>   B<string>

=begin html

<br>Backup of key hierarchy

=end html

=back



=head2 security_key_manager_certificate_update_iter

[B<Family:> cluster]


=begin html

(DEPRECATED)-Update Key Manager SSL Certificate

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security-key-manager objects match a given query. If set to true, the API will continue with the next matching security-key-manager even when the operation fails for the security-key-manager. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching security-key-manager even when the operation on a previous matching security-key-manager fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of security-key-manager objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"key-manager-certificate-info">>

=begin html

<br>If operating on a specific security-key-manager, this input element must specify all keys. If operating on security-key-manager objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-key-manager objects (just keys) that were not operated on due to some error. If set to false, the list of security-key-manager objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-key-manager objects (just keys) that were successfully operated on. If set to false, the list of security-key-manager objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-key-manager-certificate-update-iter-info">[], optional>

=begin html

<br>Information about security-key-manager objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security-key-manager objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of security-key-manager objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security-key-manager objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-key-manager-certificate-update-iter-info">[], optional>

=begin html

<br>The security-key-manager objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 security_key_manager_create_key

[B<Family:> cluster]


=begin html

Create a new authentication key with the key management servers

=end html



B<Inputs>

=over 2

=item * I<key-tag>  =>   B<string, optional>

=begin html

<br>Key Tag

=end html

=back



=over 2

=item * I<passphrase>  =>   B<string, optional>

=begin html

<br>Authentication Passphrase

=end html

=back



B<Outputs>

=over 2

=item * I<error-status>  =>   B<keymanager-status, optional>

=begin html

<br>Action Status

=end html

=back



=over 2

=item * I<key-id>  =>   B<string, optional>

=begin html

<br>Authentication Key ID

=end html

=back



=over 2

=item * I<restore-failure-list>  =>   B<node-name[], optional>

=begin html

<br>Nodes that Failed Restoring Key Pair

=end html

=back



=over 2

=item * I<restore-success-list>  =>   B<node-name[], optional>

=begin html

<br>Nodes that Succesfully Restored Key Pair

=end html

=back



=head2 security_key_manager_delete

[B<Family:> cluster]


=begin html

Delete a key management server from Data ONTAP

=end html



B<Inputs>

=over 2

=item * I<key-manager-ip-address>  =>   B<string>

=begin html

<br>The IP address of the key management server.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_key_manager_delete_iter

[B<Family:> cluster]


=begin html

(DEPRECATED)-Delete a key management server from Data ONTAP

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security-key-manager objects match a given query. If set to true, the API will continue with the next matching security-key-manager even when the operation fails for the security-key-manager. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching security-key-manager even when the operation on a previous matching security-key-manager fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of security-key-manager objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"key-manager-info">>

=begin html

<br>If operating on a specific security-key-manager, this input element must specify all keys. If operating on security-key-manager objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-key-manager objects (just keys) that were not operated on due to some error. If set to false, the list of security-key-manager objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-key-manager objects (just keys) that were successfully operated on. If set to false, the list of security-key-manager objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-key-manager-delete-iter-info">[], optional>

=begin html

<br>Information about security-key-manager objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security-key-manager objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of security-key-manager objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security-key-manager objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-key-manager-delete-iter-info">[], optional>

=begin html

<br>The security-key-manager objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 security_key_manager_delete_keys

[B<Family:> cluster]


=begin html

Deletes the key hierarchy for onboard key manager

=end html



B<Inputs>

=over 2

=item * I<passphrase>  =>   B<string, optional>

=begin html

<br>Onboard key manager cluster-wide passphrase.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_key_manager_delete_kmip_config

[B<Family:> cluster]


=begin html

Deletes the KMIP configuration

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_key_manager_get

[B<Family:> cluster]


=begin html

Lists all registered key management servers known to a specified node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"key-manager-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<key-manager-ip-address>  =>   B<string>

=begin html

<br>The IP address of the key management server.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"key-manager-info">>

=begin html

<br>The attributes of the security-key-manager.

=end html

=back



=head2 security_key_manager_get_iter

[B<Family:> cluster]


=begin html

Lists registered key management servers known to the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"key-manager-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"key-manager-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-key-manager object. All security-key-manager objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"key-manager-info">[], optional>

=begin html

<br>The list of attributes of security-key-manager objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-key-manager objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_key_manager_query_get

[B<Family:> cluster]


=begin html

(DEPRECATED)-Return the key IDs stored in a key management server and whether restored (present in the node's key table).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"key-manager-query-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<key-manager-ip-address>  =>   B<string>

=begin html

<br>IP Address

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"key-manager-query-info">>

=begin html

<br>The attributes of the security-key-manager-query.

=end html

=back



=head2 security_key_manager_query_get_iter

[B<Family:> cluster]


=begin html

(DEPRECATED)-Return the key IDs stored in all of the key management servers known to the cluster and whether restored (present in the nodes' key tables).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"key-manager-query-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"key-manager-query-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-key-manager-query object. All security-key-manager-query objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"key-manager-query-info">[], optional>

=begin html

<br>The list of attributes of security-key-manager-query objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-key-manager-query objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_key_manager_query_v2_get

[B<Family:> cluster]


=begin html

Return the key IDs stored in a key management server and whether restored (present in the node's key table).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"key-manager-query-info-v2">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<key-id>  =>   B<string>

=begin html

<br>Key ID

=end html

=back



=over 2

=item * I<key-manager-ip-address>  =>   B<string>

=begin html

<br>IP Address

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"key-manager-query-info-v2">>

=begin html

<br>The attributes of the security-key-manager-query-v2.

=end html

=back



=head2 security_key_manager_query_v2_get_iter

[B<Family:> cluster]


=begin html

Return the key IDs stored in all of the key management servers known to the cluster and whether restored (present in the nodes' key tables).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"key-manager-query-info-v2">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"key-manager-query-info-v2">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-key-manager-query-v2 object. All security-key-manager-query-v2 objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"key-manager-query-info-v2">[], optional>

=begin html

<br>The list of attributes of security-key-manager-query-v2 objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-key-manager-query-v2 objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_key_manager_restore_get

[B<Family:> cluster]


=begin html

Restore the authentication key and key ID pairs stored in the specified key management server for the specified node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"key-manager-restore-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<key-manager-ip-address>  =>   B<string>

=begin html

<br>IP Address

=end html

=back



=over 2

=item * I<key-tag>  =>   B<string, optional>

=begin html

<br>Key Tag

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"key-manager-restore-info">>

=begin html

<br>The attributes of the security-key-manager-restore.

=end html

=back



=head2 security_key_manager_restore_get_iter

[B<Family:> cluster]


=begin html

Restore the authentication key and key ID pairs from all the key management servers known to this cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"key-manager-restore-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"key-manager-restore-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-key-manager-restore object. All security-key-manager-restore objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"key-manager-restore-info">[], optional>

=begin html

<br>The list of attributes of security-key-manager-restore objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-key-manager-restore objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_key_manager_setup

[B<Family:> cluster]


=begin html

Configure key manager connectivity

=end html



B<Inputs>

=over 2

=item * I<key-manager-boot-address>  =>   B<ip-address, optional>

=begin html

<br>Key Manager Boot Node IPv4 Address

=end html

=back



=over 2

=item * I<key-manager-boot-addressV6>  =>   B<ip-address, optional>

=begin html

<br>Key Manager Boot Node IPv6 Address

=end html

=back



=over 2

=item * I<key-manager-boot-gateway>  =>   B<ip-address, optional>

=begin html

<br>IPv4 Gateway for the Key Server

=end html

=back



=over 2

=item * I<key-manager-boot-gatewayV6>  =>   B<ip-address, optional>

=begin html

<br>IPv6 Gateway for the Key Server

=end html

=back



=over 2

=item * I<key-manager-boot-interface>  =>   B<lif-bindable, optional>

=begin html

<br>Physical Interface Used to Contact Key Server

=end html

=back



=over 2

=item * I<key-manager-boot-netmask>  =>   B<ip-address, optional>

=begin html

<br>Netmask for the Key Server

=end html

=back



=over 2

=item * I<key-manager-boot-port>  =>   B<integer, optional>

=begin html

<br>TCP Port for the Key Server

=end html

=back



=over 2

=item * I<key-manager-boot-prefixlen>  =>   B<integer, optional>

=begin html

<br>IPv6 Prefix Length

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id, optional>

=begin html

<br>Node Name

=end html

=back



=over 2

=item * I<onboard-passphrase>  =>   B<string, optional>

=begin html

<br>Onboard Key Manager Cluster-wide Passphrase

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_key_manager_update_passphrase

[B<Family:> cluster]


=begin html

Update passphrase for onboard key management

=end html



B<Inputs>

=over 2

=item * I<new-passphrase>  =>   B<string>

=begin html

<br>New onboard cluster-wide passphrase

=end html

=back



=over 2

=item * I<onboard-passphrase>  =>   B<string>

=begin html

<br>Current onboard cluster-wide passphrase

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_key_manager_volume_encryption_supported

[B<Family:> cluster]


=begin html

Checks if Volume encryption is supported on this node

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node Name

=end html

=back



B<Outputs>

=over 2

=item * I<vol-encryption-supported>  =>   B<boolean>

=begin html

<br>Volume encryption supported

=end html

=back



=head2 security_key_manager_key_get_iter

[B<Family:> cluster]


=begin html

Show information related to the keys present in the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"security-key-manager-key-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"security-key-manager-key-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-key-manager-key object. All security-key-manager-key objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"security-key-manager-key-info">[], optional>

=begin html

<br>The list of attributes of security-key-manager-key objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-key-manager-key objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_application_stats_get_iter

[B<Family:> cluster]


=begin html

Returns session application statistics.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-application-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-application-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-application-stats-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_kill_cli_iter

[B<Family:> cluster]


=begin html

Kill an active CLI session

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple security-session objects match a given query. If set to true, the API will continue with the next matching security-session even when the operation fails for the security-session. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching security-session even when the operation on a previous matching security-session fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of security-session objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-running-stats-info">>

=begin html

<br>If operating on a specific security-session, this input element must specify all keys. If operating on security-session objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-session objects (just keys) that were not operated on due to some error. If set to false, the list of security-session objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of security-session objects (just keys) that were successfully operated on. If set to false, the list of security-session objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"security-session-kill-cli-iter-info">[], optional>

=begin html

<br>Information about security-session objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching security-session objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of security-session objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of security-session objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"security-session-kill-cli-iter-info">[], optional>

=begin html

<br>The security-session objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 security_session_limit_application_create

[B<Family:> cluster]


=begin html

Creates a per-application session limit.

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>The name of the application for this limit. An application name of '-default-' specifies the default application limit for any application.

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and application.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the security-session on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"session-application-limits-info">, optional>

=begin html

<br>The security-session created (keys or the entire object if requested)

=end html

=back



=head2 security_session_limit_application_delete

[B<Family:> cluster]


=begin html

Deletes a per-application session limit.

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>The name of the application for this limit. An application name of '-default-' specifies the default application limit for any application.

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_application_get_iter

[B<Family:> cluster]


=begin html

Returns per-application session limits.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-application-limits-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-application-limits-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-application-limits-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_limit_application_modify

[B<Family:> cluster]


=begin html

Modifies a per-application session limit.

=end html



B<Inputs>

=over 2

=item * I<application>  =>   B<string>

=begin html

<br>The name of the application for this limit. An application name of '-default-' specifies the default application limit for any application.

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and application.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_create

[B<Family:> cluster]


=begin html

Creates a session default limit.

=end html



B<Inputs>

=over 2

=item * I<category>  =>   B<session-limit-type>

=begin html

<br>The session type for this default limit. The following categories are defined: <ul> <li>'application': Identifies the default limit for any single application</li> <li>'location': Identifies the default limit for any single location</li> <li>'request': Identifies the default limit for any single request type</li> <li>'user': Identifies the default limit for any single user</li> <li>'vserver': Identifies the default limit for any single Vserver</li> </ul>

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this default limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and category.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the security-session on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"session-default-limits-info">, optional>

=begin html

<br>The security-session created (keys or the entire object if requested)

=end html

=back



=head2 security_session_limit_delete

[B<Family:> cluster]


=begin html

Deletes a session default limit.

=end html



B<Inputs>

=over 2

=item * I<category>  =>   B<session-limit-type>

=begin html

<br>The session type for this default limit. The following categories are defined: <ul> <li>'application': Identifies the default limit for any single application</li> <li>'location': Identifies the default limit for any single location</li> <li>'request': Identifies the default limit for any single request type</li> <li>'user': Identifies the default limit for any single user</li> <li>'vserver': Identifies the default limit for any single Vserver</li> </ul>

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this default limit.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_get_iter

[B<Family:> cluster]


=begin html

Returns session default limits.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-default-limits-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-default-limits-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-default-limits-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_limit_location_create

[B<Family:> cluster]


=begin html

Creates a per-location session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>The IPspace from which the client location is seen. If not specified, changes are made in the 'Default' IPspace.

=end html

=back



=over 2

=item * I<location>  =>   B<string>

=begin html

<br>A textual identifier indicating the client location. This is either the IP address of the external client, or 'console' or 'localhost' for console or localhost connections. A location name of '-default-' specifies the default location limit for any location.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and location.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the security-session on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"session-location-limits-info">, optional>

=begin html

<br>The security-session created (keys or the entire object if requested)

=end html

=back



=head2 security_session_limit_location_delete

[B<Family:> cluster]


=begin html

Deletes a per-location session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>The IPspace from which the client location is seen. If not specified, changes are made in the 'Default' IPspace.

=end html

=back



=over 2

=item * I<location>  =>   B<string>

=begin html

<br>A textual identifier indicating the client location. This is either the IP address of the external client, or 'console' or 'localhost' for console or localhost connections. A location name of '-default-' specifies the default location limit for any location.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_location_get_iter

[B<Family:> cluster]


=begin html

Returns per-location session limits.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-location-limits-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-location-limits-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-location-limits-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_limit_location_modify

[B<Family:> cluster]


=begin html

Modifies a per-location session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>The IPspace from which the client location is seen. If not specified, changes are made in the 'Default' IPspace.

=end html

=back



=over 2

=item * I<location>  =>   B<string>

=begin html

<br>A textual identifier indicating the client location. This is either the IP address of the external client, or 'console' or 'localhost' for console or localhost connections. A location name of '-default-' specifies the default location limit for any location.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and location.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_modify

[B<Family:> cluster]


=begin html

Modifies a session default limit.

=end html



B<Inputs>

=over 2

=item * I<category>  =>   B<session-limit-type>

=begin html

<br>The session type for this default limit. The following categories are defined: <ul> <li>'application': Identifies the default limit for any single application</li> <li>'location': Identifies the default limit for any single location</li> <li>'request': Identifies the default limit for any single request type</li> <li>'user': Identifies the default limit for any single user</li> <li>'vserver': Identifies the default limit for any single Vserver</li> </ul>

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this default limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and category.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_request_create

[B<Family:> cluster]


=begin html

Creates a per-request session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and request type.

=end html

=back



=over 2

=item * I<request>  =>   B<string>

=begin html

<br>The name of the request for this limit. A request name of '-default-' specifies the default request limit for any request type.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the security-session on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"session-request-limits-info">, optional>

=begin html

<br>The security-session created (keys or the entire object if requested)

=end html

=back



=head2 security_session_limit_request_delete

[B<Family:> cluster]


=begin html

Deletes a per-request session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<request>  =>   B<string>

=begin html

<br>The name of the request for this limit. A request name of '-default-' specifies the default request limit for any request type.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_request_get_iter

[B<Family:> cluster]


=begin html

Returns per-request session limits.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-request-limits-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-request-limits-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-request-limits-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_limit_request_modify

[B<Family:> cluster]


=begin html

Modifies a per-request session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and request type.

=end html

=back



=over 2

=item * I<request>  =>   B<string>

=begin html

<br>The name of the request for this limit. A request name of '-default-' specifies the default request limit for any request type.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_user_create

[B<Family:> cluster]


=begin html

Creates a per-user session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface, Vserver, and user.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the security-session on successful creation. Default: false

=end html

=back



=over 2

=item * I<username>  =>   B<string>

=begin html

<br>The name of the authenticated user for this limit. A user name of '-default-' specifies the default user limit for the specified Vserver.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid>

=begin html

<br>The name of the Vserver for this limit. The 'Cluster' Vserver is used to specify the default for all Vservers.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"session-user-limits-info">, optional>

=begin html

<br>The security-session created (keys or the entire object if requested)

=end html

=back



=head2 security_session_limit_user_delete

[B<Family:> cluster]


=begin html

Deletes a per-user session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<username>  =>   B<string>

=begin html

<br>The name of the authenticated user for this limit. A user name of '-default-' specifies the default user limit for the specified Vserver.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid>

=begin html

<br>The name of the Vserver for this limit. The 'Cluster' Vserver is used to specify the default for all Vservers.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_user_get_iter

[B<Family:> cluster]


=begin html

Returns per-user session limits.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-user-limits-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-user-limits-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-user-limits-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_limit_user_modify

[B<Family:> cluster]


=begin html

Modifies a per-user session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface, Vserver, and user.

=end html

=back



=over 2

=item * I<username>  =>   B<string>

=begin html

<br>The name of the authenticated user for this limit. A user name of '-default-' specifies the default user limit for the specified Vserver.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid>

=begin html

<br>The name of the Vserver for this limit. The 'Cluster' Vserver is used to specify the default for all Vservers.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_vserver_create

[B<Family:> cluster]


=begin html

Creates a per-vserver session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and Vserver.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the security-session on successful creation. Default: false

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid>

=begin html

<br>The name of the Vserver for this limit. The 'Cluster' Vserver is used to specify the default for all Vservers.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"session-vserver-limits-info">, optional>

=begin html

<br>The security-session created (keys or the entire object if requested)

=end html

=back



=head2 security_session_limit_vserver_delete

[B<Family:> cluster]


=begin html

Deletes a per-vserver session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid>

=begin html

<br>The name of the Vserver for this limit. The 'Cluster' Vserver is used to specify the default for all Vservers.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_limit_vserver_get_iter

[B<Family:> cluster]


=begin html

Returns per-vserver session limits.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-vserver-limits-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-vserver-limits-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-vserver-limits-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_limit_vserver_modify

[B<Family:> cluster]


=begin html

Modifies a per-vserver session limit.

=end html



B<Inputs>

=over 2

=item * I<interface>  =>   B<session-if-type>

=begin html

<br>The interface (cli or ontapi) for this application limit.

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and Vserver.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid>

=begin html

<br>The name of the Vserver for this limit. The 'Cluster' Vserver is used to specify the default for all Vservers.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 security_session_location_stats_get_iter

[B<Family:> cluster]


=begin html

Returns session location statistics.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-location-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-location-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-location-stats-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_request_stats_get_iter

[B<Family:> cluster]


=begin html

Returns session request statistics.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-request-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-request-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-request-stats-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_running_stats_get_iter

[B<Family:> cluster]


=begin html

Returns session running statistics.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-running-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-running-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-running-stats-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_user_stats_get_iter

[B<Family:> cluster]


=begin html

Returns session user statistics.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-user-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-user-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-user-stats-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_session_vserver_stats_get_iter

[B<Family:> cluster]


=begin html

Returns session vserver statistics.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"session-vserver-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"session-vserver-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security-session object. All security-session objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"session-vserver-stats-info">[], optional>

=begin html

<br>The list of attributes of security-session objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security-session objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_ssl_get

[B<Family:> vserver]


=begin html

Get the attributes of SSL security

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-ssl-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-ssl-info">>

=begin html

<br>The attributes of the SSL security.

=end html

=back



=head2 security_ssl_get_iter

[B<Family:> cluster, vserver]


=begin html

Get the attributes of SSL security

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-ssl-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-ssl-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the SSL security object. All SSL security objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-ssl-info">[], optional>

=begin html

<br>The list of attributes of SSL security objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more SSL security objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 security_ssl_modify

[B<Family:> cluster, vserver]


=begin html

Modify SSL authentication for a Vserver. Only field(s) that are provided will be modified.

=end html



B<Inputs>

=over 2

=item * I<certificate-authority>  =>   B<string, optional>

=begin html

<br>Issuing Certificate Authority (CA) of server certificate. This field is required when you specify server-enabled as true.

=end html

=back



=over 2

=item * I<certificate-serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of certificate in hexadecimal format. This field is required when you specify server-enabled as true, if you do not specify one it will use the serial number of the default certificate.

=end html

=back



=over 2

=item * I<client-authentication-enabled>  =>   B<boolean, optional>

=begin html

<br>Informs if SSL Client Authentication is enabled.

=end html

=back



=over 2

=item * I<common-name>  =>   B<string, optional>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). This field is optional when you specify server-enabled as true.

=end html

=back



=over 2

=item * I<ocsp-default-responder>  =>   B<string, optional>

=begin html

<br>This parameter sets the default OCSP responder to use. If the ???ocsp-override-responder??? parameter is not enabled, the URI given will be used only if no responder URI is specified in the certificate being verified.

=end html

=back



=over 2

=item * I<ocsp-enabled>  =>   B<boolean, optional>

=begin html

<br>This parameter enables OCSP validation of the client certificate chain. If this parameter is enabled, certificates in the client's certificate chain will be validated against an OCSP responder after normal verification (including CRL checks) have taken place. The OCSP responder used is either extracted from the certificate itself, or derived by configuration.

=end html

=back



=over 2

=item * I<ocsp-max-response-age>  =>   B<string, optional>

=begin html

<br>This parameter sets the maximum allowable age (freshness), in seconds, for OCSP responses. The default value (unlimited) does not enforce a maximum age, which means that OCSP responses are considered valid as long as their expiration date field is in the future.

=end html

=back



=over 2

=item * I<ocsp-max-response-time-skew>  =>   B<time-interval, optional>

=begin html

<br>This parameter sets the maximum allowable time difference for OCSP responses (when validating their ThisUpdate and NextUpdate fields).

=end html

=back



=over 2

=item * I<ocsp-override-responder>  =>   B<boolean, optional>

=begin html

<br>This parameter forces the configured default OCSP responder to be used during OCSP certificate validation, regardless of whether the certificate being validated references an OCSP responder.

=end html

=back



=over 2

=item * I<ocsp-responder-timeout>  =>   B<time-interval, optional>

=begin html

<br>This parameter sets the timeout for queries to OCSP responders. Specify zero for the minimum possible timeout. The default value is 10 seconds.

=end html

=back



=over 2

=item * I<ocsp-use-request-nonce>  =>   B<boolean, optional>

=begin html

<br>This parameter determines whether queries to OCSP responders should contain a NONCE or not. By default, a query NONCE is always used and checked against the response's one. When the responder does not use NONCEs (e.g. Microsoft OCSP Responder), this parameter should be disabled. Note: A NONCE is a unique identifier included in each OCSP request / response to prevent a replay attack.

=end html

=back



=over 2

=item * I<server-authentication-enabled>  =>   B<boolean, optional>

=begin html

<br>Informs if SSL Server Authentication is enabled.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_api_service_get

[B<Family:> cluster]


=begin html

Get service processor API service configuration

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-api-service">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-api-service">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_api_service_modify

[B<Family:> cluster]


=begin html

Modify service processor API service configuration

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is SP API Service Enabled

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>SP API Service Port

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_api_service_renew_certificates

[B<Family:> cluster]


=begin html

Renew SSL and SSH certificates used for secure communication with Service Processor Cluster Services

=end html



B<Inputs>

=over 2

=item * I<renew-all>  =>   B<boolean, optional>

=begin html

<br>Renew the internal service processor CA along with certificates. Default is false.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_asup_config_get

[B<Family:> cluster]


=begin html

Returns Service Processor AutoSupport Configuration Information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-asup-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-asup-info">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_asup_config_set

[B<Family:> cluster]


=begin html

Setup Service Processor AutoSupport Configuration Information.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>SP AutoSupport Is-enabled state

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_asup_invoke

[B<Family:> cluster]


=begin html

Invoke AutoSupport from Specific Service-Processor

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_auto_configuration_disable

[B<Family:> cluster]


=begin html

Disable Service Processor Auto-Configuration

=end html



B<Inputs>

=over 2

=item * I<address-family>  =>   B<sp-ip-address-type>

=begin html

<br>IPv4/IPv6 Address Family

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_auto_configuration_enable

[B<Family:> cluster]


=begin html

Enable Service Processor Auto-Configuration

=end html



B<Inputs>

=over 2

=item * I<address-family>  =>   B<sp-ip-address-type>

=begin html

<br>IPv4/IPv6 Address Family

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<string>

=begin html

<br>Subnet Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_auto_configuration_get

[B<Family:> cluster]


=begin html

Get Service Processor auto-configuration subnet name.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"sp-subnet-name-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"sp-subnet-name-info">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_get

[B<Family:> cluster]


=begin html

Get basic information about the device

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node on which the device is located

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-info">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_get_iter

[B<Family:> cluster]


=begin html

Get basic information about device of each node in the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"service-processor-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the service-processor object. All service-processor objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"service-processor-info">[], optional>

=begin html

<br>The list of attributes of service-processor objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more service-processor objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 service_processor_image_get

[B<Family:> cluster]


=begin html

Get information about installed firmware images

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-image">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<firmware-image>  =>   B<sp-fw-type>

=begin html

<br>Is this image primary or backup firmware for the device Possible values: <ul> <li> "primary" - Firmware which the device boots into by default, <li> "backup" - Firmware which the device boots into if primary fails </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node on which the device is located

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-image">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_image_modify

[B<Family:> cluster]


=begin html

Enable or disable automatic firmware update

=end html



B<Inputs>

=over 2

=item * I<is-autoupdate-enabled>  =>   B<boolean, optional>

=begin html

<br>Is firmware autoupdate enabled on the device

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node on which the device is located

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_image_update

[B<Family:> cluster]


=begin html

Install new firmware image

=end html



B<Inputs>

=over 2

=item * I<clear-logs>  =>   B<boolean, optional>

=begin html

<br>Clear logs on the device after update. Default value is true

=end html

=back



=over 2

=item * I<install-baseline-image>  =>   B<boolean, optional>

=begin html

<br>Install the version packaged with ONTAP if this parameter is set to true. Otherwise, -package must be used to specify the package to install

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node on which the device is located

=end html

=back



=over 2

=item * I<package>  =>   B<string, optional>

=begin html

<br>Name of the package file containing the firmware to be installed. Not required when -baseline is true

=end html

=back



=over 2

=item * I<update-type>  =>   B<sp-fw-update-type>

=begin html

<br>Type of firmware update to be performed

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_image_update_progress_get

[B<Family:> cluster]


=begin html

Get firmware update progress

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-image-update-progress-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node on which the device is located

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-image-update-progress-info">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_log_allocation_get

[B<Family:> cluster]


=begin html

Get the Service Processor log allocation map.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-log-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The host node name where the log files are located

=end html

=back



=over 2

=item * I<remote-node>  =>   B<string>

=begin html

<br>The node name the log files are collected from

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-log-info">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_log_allocation_get_iter

[B<Family:> cluster]


=begin html

Get the Service Processor log allocation map of each node in the cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-log-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"service-processor-log-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the service-processor object. All service-processor objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"service-processor-log-info">[], optional>

=begin html

<br>The list of attributes of service-processor objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more service-processor objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 service_processor_network_get

[B<Family:> cluster]


=begin html

Get the network configuration

=end html



B<Inputs>

=over 2

=item * I<address-type>  =>   B<sp-ip-address-type>

=begin html

<br>Network configuration that is being addressed i.e. IPv4 or IPv6 Possible values: <ul> <li> "ipv4" - Internet Protocol version 4, <li> "ipv6" - Internet Protocol version 6 </ul>

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-network-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node on which the device is located

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-network-info">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_network_get_iter

[B<Family:> cluster]


=begin html

Get the network configuration of device of each node in the cluster

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-network-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"service-processor-network-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the service-processor object. All service-processor objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"service-processor-network-info">[], optional>

=begin html

<br>The list of attributes of service-processor objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more service-processor objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 service_processor_network_modify

[B<Family:> cluster]


=begin html

Modify the network configuration

=end html



B<Inputs>

=over 2

=item * I<address-type>  =>   B<sp-ip-address-type>

=begin html

<br>Network configuration that is being addressed i.e. IPv4 or IPv6 Possible values: <ul> <li> "ipv4" - Internet Protocol version 4, <li> "ipv6" - Internet Protocol version 6 </ul>

=end html

=back



=over 2

=item * I<dhcp>  =>   B<sp-dhcp-status, optional>

=begin html

<br>DHCP status for the configuration Possible values: <ul> <li> "v4" - DHCP for IPv4, <li> "none" - DHCP not enabled </ul>

=end html

=back



=over 2

=item * I<gateway-ip-address>  =>   B<ip-address, optional>

=begin html

<br>IP address of the network gateway

=end html

=back



=over 2

=item * I<ip-address>  =>   B<ip-address, optional>

=begin html

<br>IP address currently held by the device

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is this address configuration enabled

=end html

=back



=over 2

=item * I<netmask>  =>   B<ip-address, optional>

=begin html

<br>Netmask for the device

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node on which the device is located

=end html

=back



=over 2

=item * I<prefix-length>  =>   B<integer, optional>

=begin html

<br>Prefix length of subnet mask

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_network_modify_iter

[B<Family:> cluster]


=begin html

Modify the network configuration of device of each node in the cluster

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-network-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple service-processor objects match a given query. If set to true, the API will continue modifying the next matching service-processor even when modification of a previous service-processor fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching service-processor even when the modification of a previous matching service-processor fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"service-processor-network-info">>

=begin html

<br>If modifying a specific service-processor, this input element must specify all keys. If modifying service-processor objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of service-processor objects (just keys) that were not modified due to some error. If set to false, the list of service-processor objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of service-processor objects (just keys) that were successfully updated. If set to false, the list of service-processor objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"service-processor-network-modify-iter-info">[], optional>

=begin html

<br>Information about service-processor objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching service-processor objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of service-processor objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of service-processor objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"service-processor-network-modify-iter-info">[], optional>

=begin html

<br>The service-processor objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 service_processor_reboot

[B<Family:> cluster]


=begin html

Reboot the Service Processor

=end html



B<Inputs>

=over 2

=item * I<firmware-image>  =>   B<sp-fw-type, optional>

=begin html

<br>Image to boot upon reboot. Default is primary

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node on which the device is located

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_ssh_add_allowed_addresses

[B<Family:> cluster]


=begin html

Add IP addresses that are allowed to access the Service Processor

=end html



B<Inputs>

=over 2

=item * I<allowed-addresses>  =>   B<ip-and-mask[]>

=begin html

<br>Public IP Addresses

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 service_processor_ssh_get

[B<Family:> cluster]


=begin html

Return SSH security information about the Service Processor.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"service-processor-ssh-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"service-processor-ssh-info">>

=begin html

<br>The attributes of the service-processor.

=end html

=back



=head2 service_processor_ssh_remove_allowed_addresses

[B<Family:> cluster]


=begin html

Remove IP addresses that are allowed to access the Service Processor

=end html



B<Inputs>

=over 2

=item * I<allowed-addresses>  =>   B<ip-and-mask[]>

=begin html

<br>Public IP Addresses

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_shelf_bay_list_info

[B<Family:> cluster]


=begin html

Returns information about storage shelf bays and ports for a selected number of shelves, or optionally all shelves connected to the storage controller.

=end html



B<Inputs>

=over 2

=item * I<channel-name>  =>   B<string, optional>

=begin html

<br>The adapter number or switch name and the port number (together, called the channel). If missing, then information for all shelves on all channels will be presented. If missing, then shelf-id input is not allowed. Examples: 8a, switch:5

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. If node-name is not specified when the request is sent to Admin VserverLIF, then all matching shelves in the cluster will be returned. This is the storage system name the command will be executed on.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer, optional>

=begin html

<br>shelf-id is the shelf number for which shelf data is requested. This input requires that channel-name input also be specified. If a channel-name and shelf-id are both specified then information for the specified shelf will be presented (a single shelf). If channel-name is specified, but shelf-id is missing, then information for all shelves on the channel will be presented. If channel-name is not specified then shelf-id is not supported and an error will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<shelf-bay-list>  =>   B<L<"shelf-bay-list-info">[]>

=begin html

<br>Each instance of shelf-list contains available bay information on a shelf.

=end html

=back



=head2 storage_shelf_environment_list_info

[B<Family:> cluster]


=begin html

Returns the environmental information for a selected number of shelves, or optionally all shelves connected to the storage controller.

=end html



B<Inputs>

=over 2

=item * I<channel-name>  =>   B<string, optional>

=begin html

<br>Get environment information for shelves on this channel. shelf-id parameter can be specified to request data on a single shelf. If a channel-name is not specified, then data on all shelves on all channels will be returned. If an invalid channel-name is specified, then error code ECHANNELNOTFOUND will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer, optional>

=begin html

<br>Get environment information for the specified shelf-id on the specified channel-name. This parameter requires channel-name parameter as well. If shelf-id is specified without channel-name then the error code EINVALIDINPUTERROR will be returned. If shelf-id is not specified and a channel-name is specified, then data for all shelves on the channel-name is returned. If an invalid shelf-id is specified, then error code ESHELFNOTFOUND will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<shelf-environ-channel-list>  =>   B<L<"shelf-environ-channel-info">[]>

=begin html

<br>List of channels and associated environment information on the shelves in the channel. Only on-line channels that have shelves attached will be reported.

=end html

=back



=head2 storage_shelf_get_shelf_info

[B<Family:> cluster]


=begin html

This returns information about an identified shelf. The information is the number of bays present (bay-count), and which shelf bays have drives (bay-list). Shelf bays are numbered from 0 to bay-count minus 1. Shelf bay 0 is always on the right when looking at the front of the shelf. Incidentally, the bay-list may be empty indicating the absence of any drives. However, there are some shelf designs which require a disk drive in bay 0 or 1 for any SES functionality to operate (e.g., DS14 and DS14-Mk2-FC). In these cases, shelves without drives in bay 0 or 1 will not be listed.

=end html



B<Inputs>

=over 2

=item * I<channel-name>  =>   B<string>

=begin html

<br>The adapter number or switch name and theport number (together, called the channel). Examples are 8a and switch:5

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name name the command will be executed on.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer>

=begin html

<br>The shelf id specifies the shelf for which a list of disk bays is desired. Range : [0..2^24-1]

=end html

=back



B<Outputs>

=over 2

=item * I<bay-count>  =>   B<integer, optional>

=begin html

<br>Disk bays are the slots into which disks are placed. The bays are numbered from 0 to bay-count-1. Bay 0 is the right most bay (when looking at the front of the shelf) and bay bay-count-1 is left most. These bay numbers can be used by other commands, including storage-shelf-set-led-state. Range : [0..255]

=end html

=back



=over 2

=item * I<bay-list>  =>   B<L<"bay-info">[]>

=begin html

<br>A list of shelf-bay numbers which have disk drives. The bay-list field is not optional, but it may contain zero bay-info elements.

=end html

=back



=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>The total number of disks that are present in the shelf.

=end html

=back



=over 2

=item * I<firmware-rev-A>  =>   B<string, optional>

=begin html

<br>Shelf Module A firmware revision.

=end html

=back



=over 2

=item * I<firmware-rev-B>  =>   B<string, optional>

=begin html

<br>Shelf Module B firmware revision.

=end html

=back



=over 2

=item * I<firmware-revision>  =>   B<string>

=begin html

<br>Shelf firmware revision.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF, in which case it is the storage system name.

=end html

=back



=over 2

=item * I<shelf-type>  =>   B<string, optional>

=begin html

<br>Shelf module type. Some examples are: "esh2", and "at-fcx".

=end html

=back



=head2 storage_shelf_list_info

[B<Family:> cluster]


=begin html

This interface returns information about one or more shelves.

=end html



B<Inputs>

=over 2

=item * I<channel-name>  =>   B<string, optional>

=begin html

<br>The adapter number or switch name and the port number (together, called the channel). If missing, then information for all shelves on all channels will be presented. If missing, then shelf-id input is not allowed. Examples are 8a and switch:5

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer, optional>

=begin html

<br>shelf-id is the shelf number for which shelf data is requested. This input requires that channel-name input also be specified. If a channel-name and shelf-id are both specified then information for the specified shelf will be presented (a single shelf). If channel-name is specified, but shelf-id is missing, then information for all shelves on the channel will be presented. If channel-name is not specified then shelf-id is not supported. In such case information for all shelves on all channels will be presented.

=end html

=back



B<Outputs>

=over 2

=item * I<shelf-list>  =>   B<L<"shelf-info">[]>

=begin html

<br>Each instance of shelf-list contains all available information on a shelf hub. This can be empty if there are no shelves attached or if shelves do not support hubs. Also a partner shelf can be reported.

=end html

=back



=head2 sis_disable

[B<Family:> vserver]


=begin html

Disable sis on a volume. If the sis operation is active on the volume, it needs to be stopped by "sis-stop" API before disabling. <p> This API is not supported for FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The full path of the sis volume, /vol/&lt;vol_name&gt;. Only one path can be specified at a time.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 sis_disable_async

[B<Family:> vserver]


=begin html

Disable sis on a FlexGroup or an Infinite Volume. If the sis operation is active on the volume, it needs to be stopped by "sis-stop-async" API before disabling. <p> This API is not supported for Flexible Volumes, FlexGroup constituents, Infinite Volume constituents, or Infinite Volumes that are managed by storage services.

=end html



B<Inputs>

=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of the volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: <ul> <li> "succeeded", <li> "in_progress", <li> "failed" </ul>

=end html

=back



=head2 sis_enable

[B<Family:> vserver]


=begin html

Enable sis on a volume. <p> On a non-SnapVault secondary volume, the sis operation will be started periodically according to a per-volume schedule. By default, this schedule is sun-sat&#064;0. (Everyday at 0:00 hours) On a SnapVault secondary volume, the sis operation will be kicked off at the end of the SnapVault transfer. This API does not enable compression on the volume. See the "sis-set-config" API for options to enable compression and for modifying the default schedule set on the volume. A sis operation can also be manually started using the sis-start API. <p> This API is not supported for FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The full path of the sis volume, /vol/&lt;vol_name&gt;. Only one path can be specified at a time. The volume must be online to enable sis on the volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 sis_enable_async

[B<Family:> vserver]


=begin html

Enable sis on a FlexGroup or an Infinite Volume. <p> This is similar to 'sis-enable' API except that it operates on a FlexGroup or Infinite Volume. Read about 'sis-enable' API for specific details. <p> This API is not supported for Flexible Volumes, FlexGroup constituents, Infinite Volume constituents, or Infinite Volumes that are managed by storage services.

=end html



B<Inputs>

=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of the volume. The volume must be online to enable sis.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: <ul> <li> "succeeded", <li> "in_progress", <li> "failed" </ul>

=end html

=back



=head2 sis_get

[B<Family:> vserver]


=begin html

Get status of a sis volume. <p> This API is not supported on Infinite Volumes that are managed by storage services.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"sis-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<path>  =>   B<volume-path>

=begin html

<br>Volume for which sis information is returned. Path is of the format /vol/&lt;vol_name&gt;.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"sis-status-info">>

=begin html

<br>The attributes to return with this call.

=end html

=back



=head2 sis_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of sis volumes. <p> This API is not supported on Infinite Volumes that are managed by storage services.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"sis-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"sis-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes. All sis objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"sis-status-info">[], optional>

=begin html

<br>The list of attributes of sis objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more sis objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 sis_policy_create

[B<Family:> vserver]


=begin html

Create a new sis policy.

=end html



B<Inputs>

=over 2

=item * I<changelog-threshold-percent>  =>   B<integer, optional>

=begin html

<br>Percentage at which the changelog will be processed for a threshold type of policy, tested once each hour.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A brief description of the policy.

=end html

=back



=over 2

=item * I<duration>  =>   B<string, optional>

=begin html

<br>The duration in hours for which the scheduled sis operation should run. After this time expires, the sis operation will be stopped even if the operation is incomplete. If '-' is specified as the duration, the sis operation will run till it completes. Otherwise, the duration has to be an integer greater than 0. By default, the operation runs till it completes.

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>If the value is true, the sis policy is active in this cluster. If the value is false this policy will not be activated by the schedulers and hence will be inactive. A policy can be assigned to managed objects although it is disabled. Default value: "true"

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>sis policy name.

=end html

=back



=over 2

=item * I<policy-type>  =>   B<string, optional>

=begin html

<br>The policy type reflects the reason a volume using this policy will start processing a changelog. (Changelog processing is identifying and eliminating duplicate blocks which were written since the changelog was last processed.) <ul> <li> "threshold" - Changelog processing occurs once the changelog reaches a certain percent full. <li> "scheduled" - Changelog processing will be triggered by time. </ul> Default value: "scheduled"

=end html

=back



=over 2

=item * I<qos-policy>  =>   B<string, optional>

=begin html

<br>QoS policy for the sis operation. Possible values: <ul> <li> "background" - sis operation will run in background with minimal or no impact on data serving client operations, <li> "best-effort" - sis operations may have some impact on data serving client operations. </ul> Default value: "best-effort"

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Cron type job schedule name. When the associated policy is set on a volume, the sis operation will be triggered for the volume on this schedule. These schedules can be created using the job-schedule-cron-create API. Existing schedules can be queried using the job-schedule-cron-get-iter API.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 sis_policy_delete

[B<Family:> vserver]


=begin html

Delete a sis policy.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>sis policy name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 sis_policy_get

[B<Family:> vserver]


=begin html

Get attributes of a sis policy.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"sis-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>sis policy name.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"sis-policy-info">>

=begin html

<br>The attributes of the sis-policy.

=end html

=back



=head2 sis_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of sis policy objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"sis-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"sis-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the sis policy. All sis policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"sis-policy-info">[], optional>

=begin html

<br>The list of attributes of sis policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more sis policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 sis_policy_modify

[B<Family:> vserver]


=begin html

Modify the attributes of a sis policy.

=end html



B<Inputs>

=over 2

=item * I<changelog-threshold-percent>  =>   B<integer, optional>

=begin html

<br>Percentage at which the changelog will be processed for a threshold type of policy, tested once each hour.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A brief description of the policy. If a value is not provided the current settings are retained. An empty string can be used to clear the current settings.

=end html

=back



=over 2

=item * I<duration>  =>   B<string, optional>

=begin html

<br>The duration in hours for which the scheduled sis operation should run. After this time expires, the sis operation will be stopped even if the operation is incomplete. If '-' is specified as the duration, the sis operation will run till it completes. If duration is not provided the current setting is not modified.

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>If the value is true, the sis policy is active in this cluster. If the value is false this policy will not be activated by the schedulers and hence will be inactive. A policy can be assigned to managed objects although it is disabled. If the value is not specified, the current settings are retained.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>sis policy name. Attributes: key, non-modifiable

=end html

=back



=over 2

=item * I<policy-type>  =>   B<string, optional>

=begin html

<br>The policy type reflects the reason a volume using this policy will start processing a changelog. (Changelog processing is identifying and eliminating duplicate blocks which were written since the changelog was last processed.) <ul> <li> "threshold" - Changelog processing occurs when the changelog reaches a certain percent full. <li> "scheduled" - Clog processing will be triggered by time. </ul>

=end html

=back



=over 2

=item * I<qos-policy>  =>   B<string, optional>

=begin html

<br>QoS policy for the sis operation. Possible values: <ul> <li> "background" - sis operation will run in background with minimal or no impact on data serving client operations, <li> "best-effort" - sis operations may have some impact on data serving client operations. </ul> Default value: "best-effort"

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Cron type job schedule name. When the associated policy is set on a volume, the sis operation will be triggered for the volume on this schedule. If this field is not set, the existing value is not modified.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 sis_set_config

[B<Family:> vserver]


=begin html

Setup or modify sis policy, schedule or options for a volume. <p> This API is not supported for FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<application-io-size>  =>   B<string, optional>

=begin html

<br>Specifies the compression settings on volume with adaptive compression. Possible values: "8K", "16K", "32K". Adaptive compression allows different compression settings on the volume based on possible IO sizes the volume can have. The larger the volume's IO size, the better the compression savings will be. If application IO size is larger than 32K, one should pass 32K as compression caps its setting to max 32K value.

=end html

=back



=over 2

=item * I<compression-algorithm>  =>   B<string, optional>

=begin html

<br>Specifies the compression algorithm on volume with secondary compression. Possible values: <ul> <li> 0 - none <li> 1 - lzopro <li> 2 - gzip </ul>

=end html

=back



=over 2

=item * I<compression-type>  =>   B<string, optional>

=begin html

<br>Specifies the compression type on the volume. Possible values: "adaptive", "secondary". Attributes: non-creatable, non-modifiable.

=end html

=back



=over 2

=item * I<enable-compression>  =>   B<boolean, optional>

=begin html

<br>Enable compression on the sis volume. If true, compression will be enabled on the sis volume. If false, compression will be disabled on the volume. If the value is not specified compression state will be unchanged. <p> Enabling compression on a secondary volume is strongly discouraged. If compression is enabled on a secondary volume, storage efficiency present on the source will not be preserved during replication. The destination system needs to run offline storage efficiency scanner (compression and dedupe) to achieve storage savings. Additional compression savings on the destination comes at a cost of extra computation resources. In environments where there is a lot of shared data present on the source, (e.g., virtualized environments employing file clones), data inflation during transfer may lead to failed backups due to lack of space on the secondary volume.

=end html

=back



=over 2

=item * I<enable-cross-volume-background-dedupe>  =>   B<boolean, optional>

=begin html

<br>Enable cross volume background deduplication on the sis volume. If true, cross volume background deduplication will be enabled on the sis volume. If false, cross volume background deduplication will be disabled on the volume. If the value is not specified, cross volume background deduplication state will be unchanged.

=end html

=back



=over 2

=item * I<enable-cross-volume-inline-dedupe>  =>   B<boolean, optional>

=begin html

<br>Enable cross volume inline deduplication on the sis volume. If true, cross volume inline deduplication will be enabled on the sis volume. If false, cross volume inline deduplication will be disabled on the volume. If the value is not specified, cross volume inline deduplication state will be unchanged.

=end html

=back



=over 2

=item * I<enable-data-compaction>  =>   B<boolean, optional>

=begin html

<br>Enable data compaction on the sis volume. If true, data-compaction will be enabled on the volume. If false, data-compaction will be disabled on the volume. If the value is not specified, data-compaction state will be unchanged.

=end html

=back



=over 2

=item * I<enable-idd>  =>   B<boolean, optional>

=begin html

<br>This parameter is no longer supported and is ignored as of Data ONTAP 9.1.0. This enables file level incompressible data detection and quick check incompressible data detection for large files. This is per volume option. Once this set to true, inline compression will do a 4k compression quick check for large files before proceeding with full CG compression. If quick check finds a 4k within a CG as incompressible, inline compression won't attempt to compress the CG. And the blocks are written in uncompressed form to disk. Also once this is enabled, if inline compression encounters a incompressible CG within small files, it will mark the file with do not compress flag. As long as this flag is set on a small file, inline compression won't attempt further compression on the file. Default value is 'false'.

=end html

=back



=over 2

=item * I<enable-inline-compression>  =>   B<boolean, optional>

=begin html

<br>Enable inline compression on the sis volume. To enable inline compression, compression must be enabled either in this API call or by a previous call to sis-set-config. If true, inline-compression will be enabled on the sis volume. If false, inline-compression will be disabled on the volume. If the value is not specified, inline-compression state will be unchanged.

=end html

=back



=over 2

=item * I<enable-inline-dedupe>  =>   B<boolean, optional>

=begin html

<br>Enable inline deduplication on the sis volume. If true, inline-deduplication will be enabled on the sis volume. If false, inline-deduplication will be disabled on the volume. If the value is not specified, inline-deduplication state will be unchanged.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The full path of the sis volume, /vol/&lt;vol_name&gt;.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string, optional>

=begin html

<br>The sis policy name to be attached to the volume. The policy name will determine which M-Host sis policy will trigger the scheduled sis operations. In Data ONTAP Cluster-Mode, policy-name and schedule must not be specified together in the same API call. If policy-name is passed, any previous schedule set on the volume is automatically reset.

=end html

=back



=over 2

=item * I<quick-check-fsize>  =>   B<integer, optional>

=begin html

<br>This parameter is no longer supported and is ignored as of Data ONTAP 9.1.0. Quick check file size for Incompressible Data Detection. If Incompressible data detection is enabled and if the file size is >= quick-check-fsize, inline compression will do a 4k quick check before doing full CG compression.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>The schedule string for the sis operation. <p> The format of the schedule: <p> day_list[&#064;hour_list] or hour_list[&#064;day_list] or - or auto or manual <p> The day_list specifies which days of the week the sis operation should run. It is a comma-separated list of the first three letters of the day: sun, mon, tue, wed, thu, fri, sat. The names are not case sensitive. Day ranges such as mon-fri can also be given. The default day_list is sun-sat. <p> The hour_list specifies which hours of the day the sis operation should run on each scheduled day. The hour_list is a comma-separated list of the integers from 0 to 23. Hour ranges such as 8-17 are allowed. Step values can be used in conjunction with ranges. For example, 0-23/2 means "every two hours". The default hour_list is 0, i.e. midnight on the morning of each scheduled day. <p> If "-" is specified, no schedule is set. In Data ONTAP Cluster-Mode, policy-name and schedule must not be specified together in the same API call. If schedule is passed, any previous policy-name set on the volume is automatically reset. <p> The "auto" schedule string means the sis operation will be triggered by the amount of new data written to the volume. The criterion is subject to being changed later. <p> The "manual" schedule string prevents SIS from automatically triggering any operations and disables change-logging. This schedule string can only be used on SnapVault destination volumes. The use of this schedule is mainly desirable when inline compression is enabled on a SnapVault destination volume and background processing is not necessary.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 sis_set_config_async

[B<Family:> vserver]


=begin html

Setup or modify sis policy, schedule or options for a volume. <p> This API is not supported for Flexible Volumes, FlexGroup constituents, Infinite Volume constituents, or Infinite Volumes that are managed by storage services.

=end html



B<Inputs>

=over 2

=item * I<application-io-size>  =>   B<string, optional>

=begin html

<br>Specifies the compression settings on volume with adaptive compression. Possible values: "8K", "16K", "32K". Adaptive compression allows different compression settings on the volume based on possible IO sizes the volume can have. The larger the volume's IO size, the better the compression savings will be. If application IO size is larger than 32K, one should pass 32K as compression caps its setting to max 32K value.

=end html

=back



=over 2

=item * I<compression-algorithm>  =>   B<string, optional>

=begin html

<br>Specifies the compression algorithm on volume with secondary compression. Possible values: <ul> <li> 0 - none <li> 1 - lzopro <li> 2 - gzip </ul>

=end html

=back



=over 2

=item * I<compression-type>  =>   B<string, optional>

=begin html

<br>Specifies the compression type on the volume. Possible values: "adaptive", "secondary". Attributes: non-creatable, non-modifiable.

=end html

=back



=over 2

=item * I<enable-compression>  =>   B<boolean, optional>

=begin html

<br>Enable compression on the sis volume. If true, compression will be enabled on the sis volume. If false, compression will be disabled on the volume. If the value is not specified compression state will be unchanged.

=end html

=back



=over 2

=item * I<enable-cross-volume-background-dedupe>  =>   B<boolean, optional>

=begin html

<br>Enable background deduplication on the sis volume. If true, cross volume background deduplication will be enabled on the sis volume. If false, cross volume background deduplication will be disabled on the volume. If the value is not specified, cross volume background deduplication state will be unchanged.

=end html

=back



=over 2

=item * I<enable-cross-volume-inline-dedupe>  =>   B<boolean, optional>

=begin html

<br>Enable inline deduplication on the sis volume. If true, cross volume inline deduplication will be enabled on the sis volume. If false, cross volume inline deduplication will be disabled on the volume. If the value is not specified, cross volume inline deduplication state will be unchanged.

=end html

=back



=over 2

=item * I<enable-data-compaction>  =>   B<boolean, optional>

=begin html

<br>Enable data compaction on the volume. If true, data-compaction will be enabled on the volume. If false, data-compaction will be disabled on the volume. If the value is not specified, data-compaction state will be unchanged.

=end html

=back



=over 2

=item * I<enable-idd>  =>   B<boolean, optional>

=begin html

<br>This parameter is no longer suppported and is ignored as of Data ONTAP 9.1.0. This enables file level incompressible data detection and quick check incompressible data detection for large files. This is per volume option. Once this set to true, inline compression will do a 4k compression quick check for large files before proceeding with full CG compression. If quick check finds a 4k within a CG as incompressible, inline compression won't attempt to compress the CG. And the blocks are written in uncompressed form to disk. Also once this is enabled, if inline compression encounters a incompressible CG within small files, it will mark the file with do not compress flag. As long as this flag is set on a small file, inline compression won't attempt further compression on the file. Default value is 'false'.

=end html

=back



=over 2

=item * I<enable-inline-compression>  =>   B<boolean, optional>

=begin html

<br>Enable inline compression on the sis volume. To enable inline compression, compression must be enabled either in this API call or by a previous call to sis-set-config. If true, inline-compression will be enabled on the sis volume. If false, inline-compression will be disabled on the volume. If the value is not specified, inline-compression state will be unchanged.

=end html

=back



=over 2

=item * I<enable-inline-dedupe>  =>   B<boolean, optional>

=begin html

<br>Enable inline deduplication on the sis volume. If true, inline-deduplication will be enabled on the sis volume. If false, inline-deduplication will be disabled on the volume. If the value is not specified, inline-deduplication state will be unchanged.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string, optional>

=begin html

<br>The sis policy name to be attached to the volume. The policy name will determine which M-Host sis policy will trigger the scheduled sis operations. The policy-name and schedule must not be specified together in the same API call. If policy-name is passed, any previous schedule set on the volume is automatically reset.

=end html

=back



=over 2

=item * I<quick-check-fsize>  =>   B<integer, optional>

=begin html

<br>This parameter is no longer supported and is ignored as of Data ONTAP 9.1.0. Quick check file size for Incompressible Data Detection. If Incompressible data detection is enabled and if the file size is >= quick-check-fsize, inline compression will do a 4k quick check before doing full CG compression.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>The schedule string for the sis operation. <p> The format of the schedule: <p> day_list[&#064;hour_list] or hour_list[&#064;day_list] or - or auto or manual <p> The day_list specifies which days of the week the sis operation should run. It is a comma-separated list of the first three letters of the day: sun, mon, tue, wed, thu, fri, sat. The names are not case sensitive. Day ranges such as mon-fri can also be given. The default day_list is sun-sat. <p> The hour_list specifies which hours of the day the sis operation should run on each scheduled day. The hour_list is a comma-separated list of the integers from 0 to 23. Hour ranges such as 8-17 are allowed. Step values can be used in conjunction with ranges. For example, 0-23/2 means "every two hours". The default hour_list is 0, i.e. midnight on the morning of each scheduled day. <p> If "-" is specified, no schedule is set. In Data ONTAP Cluster-Mode, policy-name and schedule must not be specified together in the same API call. If schedule is passed, any previous policy-name set on the volume is automatically reset. <p> The "auto" schedule string means the sis operation will be triggered by the amount of new data written to the volume. The criterion is subject to being changed later. <p> If "manual" is specified, sis operation will never be triggered automatically. Only the user can manually execute the sis operation.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of the volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: <ul> <li> "succeeded", <li> "in_progress", <li> "failed" </ul>

=end html

=back



=head2 sis_start

[B<Family:> vserver]


=begin html

Start a sis operation on a volume. The volume must have sis enabled, before starting a sis operation. If the sis operation is already active on the volume, this API will fail. <p> This API is not supported for FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<build-metadata>  =>   B<boolean, optional>

=begin html

<br>If this argument is "true", scanner will scan the entire volume and generate fingerprint database without attempting the sharing. This argument is valid only if scan argument is set to "true". Look at the documentation for scan parameter for more details. Default value: "false"

=end html

=back



=over 2

=item * I<delete-checkpoint>  =>   B<boolean, optional>

=begin html

<br>If this is "true", the sis operation will delete existing checkpoint and start the sis operation from the beginning. Default value: "false"

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The full path of the sis volume, /vol/&lt;vol_name&gt;. The volume must be online in order to start the sis operation.

=end html

=back



=over 2

=item * I<qos-policy>  =>   B<string, optional>

=begin html

<br>QoS policy for the sis operation. Possible values are: <ul> <li> "background" - sis operation will run in background with minimal or no impact on data serving client operations, <li> "best-effort" - sis operations may have some impact on data serving client operations. </ul> Default value: "best-effort"

=end html

=back



=over 2

=item * I<queue-operation>  =>   B<boolean, optional>

=begin html

<br>If this is "true", the requested sis operation will be queued if a sis operation is already running on the volume, and the running operation is in the fingerprint verification phase. Default value: "false"

=end html

=back



=over 2

=item * I<restart-checkpoint>  =>   B<boolean, optional>

=begin html

<br>If this is "true", the sis operation will restart from previous checkpoint without checking for validity. This option should be used along with "scan" option. Default value: "false"

=end html

=back



=over 2

=item * I<run-compaction-scan>  =>   B<boolean, optional>

=begin html

<br>If this argument is "true", the compaction scanner will be started on the volume. This argument is valid only if scan argument is set to "true". Default Value: "false"

=end html

=back



=over 2

=item * I<scan>  =>   B<boolean, optional>

=begin html

<br>If this is "true", the sis operation will scan the file system to process all the existing data. <p> The scan will include whatever is enabled on the volume. For example: If compression is not enabled on the volume, the scan will not include compression. This default behavior can be changed by using the run-dedupe-scan and run-compression-scan parameters. <p> If scan is false only data added since the last sis operation will be processed. Default value: "false"

=end html

=back



=over 2

=item * I<scan-all>  =>   B<boolean, optional>

=begin html

<br>If this argument is "true", scanner will scan entire volume without applying shared block optimization. This argument is valid only if scan argument is set to "true". Look at the documentation for scan parameter for more details. Default value: "false"

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 sis_start_async

[B<Family:> vserver]


=begin html

Start a sis operation on FlexGroup or an Infinite Volume. The volume must have sis enabled, before starting a sis operation. If the sis operation is already active on the volume, this API will fail. <p> This API is not supported for Flexible Volumes, FlexGroup constituents, Infinite Volume constituents, or Infinite Volumes that are managed by storage services.

=end html



B<Inputs>

=over 2

=item * I<build-metadata>  =>   B<boolean, optional>

=begin html

<br>If this argument is "true", scanner will scan the entire volume and generate fingerprint database without attempting the sharing. This argument is valid only if scan argument is set to "true". Look at the documentation for scan parameter for more details. Default Value: "false"

=end html

=back



=over 2

=item * I<delete-checkpoint>  =>   B<boolean, optional>

=begin html

<br>If this is "true", the sis operation will delete existing checkpoint and start the sis operation from the beginning. Default value: "false"

=end html

=back



=over 2

=item * I<qos-policy>  =>   B<string, optional>

=begin html

<br>QoS policy for the sis operation. Possible values: <ul> <li> "background" - sis operation will run in background with minimal or no impact on data serving client operations, <li> "best-effort" - sis operations may have some impact on data serving client operations. </ul> Default value: "best-effort"

=end html

=back



=over 2

=item * I<queue-operation>  =>   B<boolean, optional>

=begin html

<br>If this is "true", the requested sis operation will be queued if a sis operation is already running on the Infinite Volume, and the running operation is in the fingerprint verification phase. Default value: "false"

=end html

=back



=over 2

=item * I<restart-checkpoint>  =>   B<boolean, optional>

=begin html

<br>If this is "true", the sis operation will restart from previous checkpoint without checking for validity. This option should be used along with "scan" option. Default value: "false"

=end html

=back



=over 2

=item * I<run-compaction-scan>  =>   B<boolean, optional>

=begin html

<br>If this argument is "true", the compaction scanner will be started on the volume. This argument is valid only if scan argument is set to "true". Default Value: "false"

=end html

=back



=over 2

=item * I<scan>  =>   B<boolean, optional>

=begin html

<br>If this is "true", the sis operation will scan the file system to process all the existing data. <p> The scan will include whatever is enabled on the volume. For example: If compression is not enabled on the volume, the scan will not include compression. This default behavior can be changed by using the run-dedupe-scan and run-compression-scan parameters. <p> If scan is false only data added since the last sis operation will be processed. Default value: "false"

=end html

=back



=over 2

=item * I<scan-all>  =>   B<boolean, optional>

=begin html

<br>If this argument is "true", scanner will scan entire volume without applying shared block optimization. This argument is valid only if scan argument is set to "true". Look at the documentation for scan parameter for more details. Default Value: "false"

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>The name of the volume. The volume must be online in order to start the sis operation.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: <ul> <li> "succeeded", <li> "in_progress", <li> "failed" </ul>

=end html

=back



=head2 sis_status

[B<Family:> cluster, vserver]


=begin html

Get Status of a sis volume This API is not optimal for use in Data ONTAP Cluster-Mode systems, and is deprecated. Use sis-get and sis-get-iter APIs for Data ONTAP Cluster Mode systems. This API is still supported for Data ONTAP 7-Mode systems.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The full path of the sis volume, /vol/&lt;vol_name&gt;. Only one path can be specified at a time. The volume must be online if not then an error will be returned. If path variable is not used then the status for all online sis volumes in the filer will be returned.

=end html

=back



=over 2

=item * I<verbose>  =>   B<boolean, optional>

=begin html

<br>If set to true the output is detailed. Default value: "false"

=end html

=back



B<Outputs>

=over 2

=item * I<sis-object>  =>   B<L<"dense-status">[]>

=begin html

<br>sis status objects returned.

=end html

=back



=head2 sis_stop

[B<Family:> vserver]


=begin html

Abort currently active sis operation on the volume. The sis operation will remain paused and the operation can be resumed by "sis-start", SnapVault transfer, or the scheduler. <p> This API is not supported for FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<all-operations>  =>   B<boolean, optional>

=begin html

<br>If this is "true", both active and queued sis operation will be stopped. Default value: "false"

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>The full path of the sis volume, /vol/&lt;vol_name&gt;.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 sis_stop_async

[B<Family:> vserver]


=begin html

Abort currently active sis operation on the FlexGroup or Infinite Volume. The sis operation will remain paused and the operation can be resumed by "sis-start-async" or the scheduler. <p> This API is not supported for Flexible Volumes, FlexGroup constituents, Infinite Volume constituents, or Infinite Volumes that are managed by storage services.

=end html



B<Inputs>

=over 2

=item * I<all-operations>  =>   B<boolean, optional>

=begin html

<br>If this is "true", both active and queued sis operation will be stopped. Default value: "false"

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>The name of the volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: <ul> <li> "succeeded", <li> "in_progress", <li> "failed" </ul>

=end html

=back



=head2 snapdiff_rpc_server_create

[B<Family:> vserver]


=begin html

Create a new SnapDiff RPC Server configuration.

=end html



B<Inputs>

=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the SnapDiff RPC Server on successful creation. Default: false

=end html

=back



=over 2

=item * I<state>  =>   B<boolean>

=begin html

<br>Specifies whether the SnapDiff RPC Server is enabled on a Vserver. Default: true.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"sd-info">, optional>

=begin html

<br>The SnapDiff RPC Server created (keys or the entire object if requested)

=end html

=back



=head2 snapdiff_rpc_server_destroy

[B<Family:> vserver]


=begin html

Delete an SnapDiff RPC Server configuration.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapdiff_rpc_server_disable

[B<Family:> vserver]


=begin html

Stop the SnapDiff RPC Server

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapdiff_rpc_server_enable

[B<Family:> vserver]


=begin html

Start the SnapDiff RPC Server

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapdiff_rpc_server_get

[B<Family:> vserver]


=begin html

Get the SnapDiff RPC Server configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"sd-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"sd-info">>

=begin html

<br>The attributes of the SnapDiff RPC Server.

=end html

=back



=head2 snapdiff_rpc_server_get_create_defaults

[B<Family:> cluster, vserver]


=begin html

Obtain the default values for SnapDiff RPC Server configuration.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"sd-info">, optional>

=begin html

<br>Optionally specify the value for attributes if available. The default values for some attributes may depend on the values specified for some other attribute.

=end html

=back



B<Outputs>

=over 2

=item * I<defaults>  =>   B<L<"sd-info">>

=begin html

<br>The default attributes for the SnapDiff RPC Server.

=end html

=back



=head2 snapdiff_rpc_server_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over the list of SnapDiff RPC Server configurations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"sd-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"sd-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the SnapDiff RPC Server object. All SnapDiff RPC Server objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"sd-info">[], optional>

=begin html

<br>The list of attributes of SnapDiff RPC Server objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more SnapDiff RPC Server objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapdiff_rpc_server_modify

[B<Family:> vserver]


=begin html

Modify an SnapDiff RPC Server configuration. If no values are given, the configuration is not modified.

=end html



B<Inputs>

=over 2

=item * I<state>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the SnapDiff RPC Server is enabled on a Vserver. Default: true.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snaplock_archive_vserver_log

[B<Family:> vserver]


=begin html

Archive the active worm log file. This will close the current log file for furthur updates and it will open a new log file to write future log updates A job will be spawned to operate on the snaplock and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<base-name>  =>   B<string, optional>

=begin html

<br>Base Name of Log File

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snaplock_create_vserver_log

[B<Family:> vserver]


=begin html

Create audit log configuration for a Vserver.

=end html



B<Inputs>

=over 2

=item * I<default-retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Specifies the allowed minimum retention period for SnapLock log files to be committed to WORM state on the volume. This option can be specified as a number followed by suffix in &lt;number&gt;&lt;suffix&gt;' format. Valid values of the suffix are : <ul> <li> 'seconds' <li> 'minutes' <li> 'hours' <li> 'days' <li> 'months' <li> 'years' </ul> For example, a value if <b>6months</b> represents a retention period of 6 months.

=end html

=back



=over 2

=item * I<max-log-size>  =>   B<size, optional>

=begin html

<br>Max log file size (in bytes).

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Log Volume Name

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"snaplock-vserver-log-config">, optional>

=begin html

<br>The snaplock created (keys or the entire object if requested)

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The ID of the job that was spawned to create this snaplock.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded" if creation completed successfully, "in_progress" if creation is in progress, "failed" if creation failed.

=end html

=back



=head2 snaplock_destroy_vserver_log

[B<Family:> vserver]


=begin html

Delete audit log configuration for a Vserver.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snaplock_event_retention_abort

[B<Family:> vserver]


=begin html

The snaplock-event-retention-abort API can be used to abort an ongoing Event Based Retention operation. This API only aborts operations that have started and not finished. The operation ID of the operation must be specified.

=end html



B<Inputs>

=over 2

=item * I<operation-id>  =>   B<integer>

=begin html

<br>Operation ID of SnapLock Event Based Retention operation to be aborted.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snaplock_event_retention_apply_start

[B<Family:> vserver]


=begin html

The snaplock-event-retention-apply-start API can be used to apply an Event Based Retention policy to files present under the specified path. Use the snaplock-event-retention-show API to display the status of the operation.

=end html



B<Inputs>

=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the form '/<path>' relative to output volume root. The Event Based Retention policy will be applied to all files under the path.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string>

=begin html

<br>Name of the SnapLock Event Based Retention policy.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the SnapLock Volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<integer>

=begin html

<br>Operation ID of the SnapLock Event Based Retention operation.

=end html

=back



=head2 snaplock_event_retention_get_iter

[B<Family:> cluster, vserver]


=begin html

This API can be used to display the status of an Event Based Retention operation.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snaplock-event-retention-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snaplock-event-retention-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snaplock object. All snaplock objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snaplock-event-retention-info">[], optional>

=begin html

<br>The list of attributes of snaplock objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snaplock objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snaplock_event_retention_policy_create

[B<Family:> vserver]


=begin html

Create SnapLock Event Based Retention policies.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the SnapLock Event Based Retention policy.

=end html

=back



=over 2

=item * I<retention-period>  =>   B<snaplock-minmax-period>

=begin html

<br>Retention period of the SnapLock Event Based Retention policy.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the snaplock-event-retention-policy on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"snaplock-event-retention-policy-info">, optional>

=begin html

<br>The snaplock-event-retention-policy created (keys or the entire object if requested)

=end html

=back



=head2 snaplock_event_retention_policy_destroy

[B<Family:> vserver]


=begin html

Delete SnapLock Event Based Retention policies.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the SnapLock Event Based Retention policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snaplock_event_retention_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Get SnapLock Event Based Retention policies.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snaplock-event-retention-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snaplock-event-retention-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snaplock-event-retention-policy object. All snaplock-event-retention-policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snaplock-event-retention-policy-info">[], optional>

=begin html

<br>The list of attributes of snaplock-event-retention-policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snaplock-event-retention-policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snaplock_event_retention_policy_modify

[B<Family:> vserver]


=begin html

Modify SnapLock Event Based Retention policies.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the SnapLock Event Based Retention policy.

=end html

=back



=over 2

=item * I<retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Retention period of the SnapLock Event Based Retention policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snaplock_file_privileged_delete

[B<Family:> vserver]


=begin html

Executes a privileged delete on a SnapLock file A job will be spawned to operate on the snaplock and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<file>  =>   B<string>

=begin html

<br>Full path of the file that needs to be deleted

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snaplock_get_file_retention

[B<Family:> vserver]


=begin html

Get retention time of a file protected by SnapLock.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snaplock-file-retention-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<file>  =>   B<string>

=begin html

<br>Specifies the absolute path of the file. The value begins with /vol/<volumename>.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snaplock-file-retention-info">>

=begin html

<br>The attributes of the snaplock.

=end html

=back



=head2 snaplock_get_node_compliance_clock

[B<Family:> cluster]


=begin html

Get the SnapLock Node ComplianceClock date and time.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Name of the node on which the ComplianceClock needs to be fetched.

=end html

=back



B<Outputs>

=over 2

=item * I<snaplock-node-compliance-clock>  =>   B<L<"compliance-clock-info">>

=begin html

<br>Node ComplianceClock

=end html

=back



=head2 snaplock_get_vserver_active_log_files_iter

[B<Family:> cluster, vserver]


=begin html

Display Status of Active SnapLock Log Files.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snaplock-vserver-log-file">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snaplock-vserver-log-file">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snaplock object. All snaplock objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snaplock-vserver-log-file">[], optional>

=begin html

<br>The list of attributes of snaplock objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snaplock objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snaplock_get_vserver_log_iter

[B<Family:> cluster, vserver]


=begin html

Display audit Log configuration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snaplock-vserver-log-config">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snaplock-vserver-log-config">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snaplock object. All snaplock objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snaplock-vserver-log-config">[], optional>

=begin html

<br>The list of attributes of snaplock objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snaplock objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snaplock_legal_hold_abort

[B<Family:> vserver]


=begin html

This API is used to abort an ongoing legal-hold operation. This API only aborts legal-hold operations that have started and not finished. The operation ID of the legal-hold operation must be specified.

=end html



B<Inputs>

=over 2

=item * I<operation-id>  =>   B<integer>

=begin html

<br>Operation ID of snaplock legal-hold operation.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snaplock_legal_hold_begin_start

[B<Family:> vserver]


=begin html

This API starts an operation to put files in user specified path under legal-hold. The progress of the operation can be monitored using snaplock-legal-hold-get-iter api.

=end html



B<Inputs>

=over 2

=item * I<litigation-name>  =>   B<string>

=begin html

<br>Name of the litigation.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the form '/<directory path>' relative to volume root. Legal-hold operation will be performed on all files under this path.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the SnapLock compliance volume, on which legal-hold operation is to be performed.

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<integer>

=begin html

<br>Operation ID of the legal-hold operation.

=end html

=back



=head2 snaplock_legal_hold_dump_files_start

[B<Family:> vserver]


=begin html

Dump the list of files under legal hold for a given volume and litigation to a user specified output path. The progress of the operation can be monitored using snaplock-legal-hold-get-iter api.

=end html



B<Inputs>

=over 2

=item * I<litigation-name>  =>   B<string>

=begin html

<br>Name of the litigation, for which the list of files is to be dumped.

=end html

=back



=over 2

=item * I<output-directory-path>  =>   B<string>

=begin html

<br>Path of the form '/<directory path>' relative to output volume root, where list of files is to be dumped.

=end html

=back



=over 2

=item * I<output-volume>  =>   B<string>

=begin html

<br>Name of the output volume, containing the path where list of files is to be dumped.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the SnapLock compliance volume, for which the list of files is to be dumped.

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<integer>

=begin html

<br>operation ID of Dump Files Operation

=end html

=back



=head2 snaplock_legal_hold_dump_litigations_start

[B<Family:> vserver]


=begin html

Dump the list of litigations to a user specified output path. The progress of the operation can be monitored using job-get api. A job will be spawned to operate on the snaplock and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<output-directory-path>  =>   B<string>

=begin html

<br>Path of the form '/<directory path>' relative to volume root, where list of litigations is to be dumped.

=end html

=back



=over 2

=item * I<output-volume>  =>   B<string>

=begin html

<br>Name of the output volume, containing the path where list of litigations is to be dumped.

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Name of the SnapLock compliance volume for which the list of litigations is to be dumped.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snaplock_legal_hold_end_start

[B<Family:> vserver]


=begin html

This API starts an operation to release legal-hold on files in user specified path. The progress of the operation can be monitored using snaplock-legal-hold-get-iter api.

=end html



B<Inputs>

=over 2

=item * I<litigation-name>  =>   B<string>

=begin html

<br>Name of the litigation.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the form '/<directory path>' relative to volume root. Legal-hold operation will be performed on all files under this path.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the SnapLock compliance volume, on which legal-hold operation is to be performed.

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<integer>

=begin html

<br>Operation ID of the legal-hold operation.

=end html

=back



=head2 snaplock_legal_hold_get_iter

[B<Family:> cluster, vserver]


=begin html

This API is used to retrieve the status of legal-hold operations.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snaplock-legal-hold-attributes-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snaplock-legal-hold-attributes-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snaplock object. All snaplock objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snaplock-legal-hold-attributes-info">[], optional>

=begin html

<br>The list of attributes of snaplock objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snaplock objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snaplock_modify_vserver_log

[B<Family:> vserver]


=begin html

Modify audit log configuration for a Vserver.

=end html



B<Inputs>

=over 2

=item * I<default-retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Specifies the allowed minimum retention period for SnapLock log files to be committed to WORM state on the volume. This option can be specified as a number followed by suffix in &lt;number&gt;&lt;suffix&gt;' format. Valid values of the suffix are : <ul> <li> 'seconds' <li> 'minutes' <li> 'hours' <li> 'days' <li> 'months' <li> 'years' </ul> For example, a value if <b>6months</b> represents a retention period of 6 months.

=end html

=back



=over 2

=item * I<max-log-size>  =>   B<size, optional>

=begin html

<br>Max log file size (in bytes).

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Log Volume Name

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modification operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modification operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snaplock_set_file_retention

[B<Family:> vserver]


=begin html

Set retention time of a file. User can specify either retention-time or set-infinite-retention. If neither the retention-time nor set-infinite-retention is specified, the file will get committed to WORM with default retention period.

=end html



B<Inputs>

=over 2

=item * I<file>  =>   B<string>

=begin html

<br>Specifies the absolute path of the file. The value begins with /vol/<volumename>.

=end html

=back



=over 2

=item * I<retention-time>  =>   B<integer, optional>

=begin html

<br>Specifies the retention time of the file in seconds since 1 January 1970 00:00:00.

=end html

=back



=over 2

=item * I<set-infinite-retention>  =>   B<boolean, optional>

=begin html

<br>Indicates if the retention time on the file needs to be extended to infinite retention time.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snaplock_set_node_compliance_clock

[B<Family:> cluster]


=begin html

Set the ComplianceClock of the node equal to the current system clock.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Name of the node on which the ComplianceClock needs to be set.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snaplock_volume_set_privileged_delete

[B<Family:> vserver]


=begin html

The volume-set-privileged-delete API is used to set the SnapLock privileged-delete attibute on a Snaplock enterprise volume. The privileged-delete attibute can be set to one of the following values: <ul> <li> enabled <li> disabled <li> permanently-disabled </ul> If privileged-delete is 'enabled' on a SnapLock enterprise volume, the user is allowed to perform privileged-delete operation on that volume. If privileged-delete is set to 'disabled' on a SnapLock enterprise volume, the user is not allowed to perform privileged-delete operation on that volume. If privileged-delete is 'permanently-disabled' on a SnapLock enterprise volume, the user is not allowed to perform privileged-delete operation or further change the privileged-delete attribute on that volume. A job will be spawned to operate on the snaplock and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<state>  =>   B<string>

=begin html

<br>Privileged-delete attribute on the SnapLock enterprise volume. The privileged-delete can be set to one of the following: <ul> <li> enabled <li> disabled <li> permanently-disabled <ul>

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Specifies the name of the SnapLock enterprise volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_get_snaplock_attrs

[B<Family:> vserver]


=begin html

Returns snaplock attributes of a given snaplock volume.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Name of the snaplock volume.

=end html

=back



B<Outputs>

=over 2

=item * I<snaplock-attrs>  =>   B<L<"snaplock-attrs-info">>

=begin html

<br>Snaplock attributes of the volume.

=end html

=back



=head2 volume_set_snaplock_attrs

[B<Family:> vserver]


=begin html

Sets the given snaplock attributes of a snaplock volume.

=end html



B<Inputs>

=over 2

=item * I<autocommit-period>  =>   B<snaplock-autocommit-period, optional>

=begin html

<br>Specifies the autocommit-period for the snaplock volume. All files which are not modified for a period greater than the autocommit-period of the volume are committed to WORM state. This option can be specified as a number followed by suffix in "<number><suffix>" format. Valid values of the suffix are : <ul> <li> "hours" <li> "days" </ul> For example, a value if <b>2hours</b> represents a autocommit period of 2 hours. This option can also be specified as "none" indicating that autocommit is disabled on the snaplock volume Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<default-retention-period>  =>   B<snaplock-default-period, optional>

=begin html

<br>Specifies the default retention period that will be applied to files when committed to WORM state if files has no explicit retention retention time set. If this option is specified as "min", then minimum-retention-period will be used as the default retention period. If this option is specified as "max", then maximum-retention-period will be used as the default retention period. If this attribute is specified as "infinite", the infinite retention period as the default retention period. This option can also be specified as a number followed by suffix in "<number><suffix>" format. Valid values of the suffix are : <ul> <li> "seconds" <li> "minutes" <li> "hours" <li> "days" <li> "months" <li> "years" </ul> For example, a value if <b>6months</b> represents a retention period of 6 months. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-volume-append-mode-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if the volume append mode must be enabled or disabled. It can be modified only when the volume is not mounted and does not have any data or Snapshot copy. Volume append mode is not supported on SnapLock audit log volumes. When it is enabled, all files created with write permissions on the volume will be WORM appendable files by default. All WORM appendable files not modified for a period greater than the autocommit period of the volume are also committed to WORM read-only state. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<maximum-retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Specifies the allowed maximum retention period for files to be committed to WORM state on the volume. This option can be specified as a number followed by suffix in "<number><suffix>" format. Valid values of the suffix are : <ul> <li> "seconds" <li> "minutes" <li> "hours" <li> "days" <li> "months" <li> "years" </ul> For example, a value if <b>6months</b> represents a retention period of 6 months. This option can also be specified as "infinite" indicating that files will have maximum retention period as infinite. This attribute is not applicable while extending retention period of an already committed WORM file. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<minimum-retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Specifies the allowed minimum retention period for files to be committed to WORM state on the volume. This option can be specified as a number followed by suffix in "<number><suffix>" format. Valid values of the suffix are : <ul> <li> "seconds" <li> "minutes" <li> "hours" <li> "days" <li> "months" <li> "years" </ul> For example, a value if <b>6months</b> represents a retention period of 6 months. This option can also be specified as "infinite" indicating that files will have minimum retention period as infinite. This attribute is not applicable while extending retention period of an already committed WORM file. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Name of the snaplock volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_abort

[B<Family:> cluster, vserver]


=begin html

The snapmirror-abort API stops ongoing transfers for a SnapMirror relationship. The relationship is identified by its destination endpoint. You must specify the destination endpoint when using snapmirror-abort. On Data ONTAP operating in Cluster-Mode, the snapmirror-abort API stops all of the active transfers to each associated volume on the receiving side in a set of load-sharing mirrors. Load-sharing mirrors are either up to date and serving data to clients, or they are lagging and not serving data to clients. If the snapmirror-abort API identifies an up-to-date load-sharing mirror, then SnapMirror transfers to associated up-to-date load-sharing mirrors in the set of load-sharing mirrors are also aborted. If the snapmirror-abort API identifies a lagging load-sharing mirror, then only the SnapMirror transfer associated with the lagging load-sharing mirror is aborted. After the snapmirror-abort API successfully completes its operation, the volume on the receiving side of the transfer might contain a restart checkpoint. The restart checkpoint can be used by a subsequent transfer to restart and continue the aborted SnapMirror transfer. Snapmirror-abort API must be used from the destination storage system on Data ONTAP operating in 7-Mode, from the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, from the destination Vserver or cluster on Data ONTAP 8.2 or later operating in Cluster-Mode. <p> This API is not supported if the destination end point is an Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<check-only>  =>   B<boolean, optional>

=begin html

<br>If this option is specified true, only snapmirror-check operations active on the relationship will be aborted.

=end html

=back



=over 2

=item * I<clear-checkpoint>  =>   B<boolean, optional>

=begin html

<br>If true, the restart checkpoint is cleared. The default is false, not cleared. This parameter is not supported for relationships with non_Data ONTAP endpoints.

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster of the SnapMirror relationship. The destination Vserver and destination volume must also be specified if using this parameter. This parameter is not supported if the destination is a non-Data ONTAP endpoint.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault destination endpoint. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire destination endpoint. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, when specifying a destination endpoint, you must use either the destination location, or the destination cluster, destination Vserver, and destination volume. This parameter is mandatory on Data ONTAP operating in 7-mode. This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the destination Vserver of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination volume. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory if destination-location is not specified.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter. This parameter is not supported if the source is a non-Data ONTAP endpoint.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source endpoint. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire source endpoint. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, When specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source volume. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the SnapMirror operation. This field is only returned by Data ONTAP 8.3 or later. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid.

=end html

=back



=head2 snapmirror_abort_async

[B<Family:> cluster, vserver]


=begin html

The snapmirror-abort-async API stops ongoing transfer for a SnapMirror relationship on Infinite Volume. The relationship is identified by its destination endpoint. You must specify the destination endpoint when using the snapmirror-abort-async API. The destination endpoint could be a <ul> <li> Infinte volume in case of a SnapMirror relationship between Infinite volumes. <li> Vserver in case of a Vserver level SnapMirror relationship on Data ONTAP 8.3 or later. </ul> Snapmirror-abort-async API must be used from the destination cluster on Data ONTAP Cluster-Mode. For Infinite volume SnapMirror relationships, <ul> <li> after the snapmirror-abort-async API successfully aborted the transfer, the volume on the receiving side of the transfer might contain a restart checkpoint. The restart checkpoint can be used by a subsequent transfer to restart and continue the aborted SnapMirror transfer. <li> this API is not supported if the destination end point is a flexible volume or an Infinite Volume constituent. </ul> A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<check-only>  =>   B<boolean, optional>

=begin html

<br>If this option is specified true, only snapmirror-check operations active on the relationship will be aborted.

=end html

=back



=over 2

=item * I<clear-checkpoint>  =>   B<boolean, optional>

=begin html

<br>If this option is specified true, the restart checkpoint is discarded and the destination volume is restored to the last Snapshot copy that was successfully transferred. You can use the clear-checkpoint option to discard the restart checkpoint of a previous transfer attempt which forces the subsequent transfer to start with a fresh Snapshot copy on the destination volume. This parameter is not supported for relationships with non-Data ONTAP endpoints.

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror_abort_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-abort-iter API aborts SnapMirror transfers for one or more SnapMirror relationships. This API is not supported on Infinite Volume constituents.

=end html



B<Inputs>

=over 2

=item * I<check-only>  =>   B<boolean, optional>

=begin html

<br>If this option is specified true, only snapmirror-check operations active on the relationship will be aborted.

=end html

=back



=over 2

=item * I<clear-checkpoint>  =>   B<boolean, optional>

=begin html

<br>If this option is specified true, the restart checkpoint is discarded and the destination volume is restored to the last Snapshot copy that was successfully transferred. You can use the clear-checkpoint option to discard the restart checkpoint of a previous transfer attempt which forces the subsequent transfer to start with a fresh Snapshot copy on the destination volume. This parameter is not supported for relationships with non-Data ONTAP endpoints.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-abort-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-abort-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_auto_protect_add_exclude

[B<Family:> cluster, vserver]


=begin html

Add a list of source volume paths to the SnapMirror auto protection exclusion list.

=end html



B<Inputs>

=over 2

=item * I<path-list>  =>   B<snapmirror-path[]>

=begin html

<br>Specifies the list of source volume paths to be added to the auto-protection exclusion list.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_auto_protect_off

[B<Family:> cluster, vserver]


=begin html

Disable SnapMirror auto protection for a source Vserver.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_auto_protect_on

[B<Family:> cluster, vserver]


=begin html

Enable SnapMirror auto protection for a source Vserver.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_auto_protect_remove_exclude

[B<Family:> cluster, vserver]


=begin html

Remove a list of source volume paths from the SnapMirror auto protection exclusion list.

=end html



B<Inputs>

=over 2

=item * I<path-list>  =>   B<snapmirror-path[]>

=begin html

<br>Specifies the list of source volume paths to be removed from the auto-protection exclusion list.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_break

[B<Family:> cluster, vserver]


=begin html

Breaks a SnapMirror relationship between a source and destination volume data protection mirror. When Data ONTAP breaks the relationship, the destination volume is made a read-write volume and can diverge from the source volume, client redirection is turned off on the destination volume, the restart checkpoint is cleared, and the clients can see the latest Snapshot copy. <p> On Data ONTAP operating in 7-Mode, no check is done to determine whether the operation is legal or successful. You need to query the status afterward by using the snapmirror-get-status API. <p> Subsequent manual or scheduled SnapMirror updates to the broken relationship will fail until the SnapMirror relationship is re-established using the snapmirror-resync API. <p> On Data ONTAP operating in Cluster-Mode, this API applies only to data protection mirrors and not to load-sharing mirrors. <p> The snapmirror-break API must be issued on destination storage system on Data ONTAP operating in 7-Mode, and on the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, and on the destination cluster or Vserver on Data ONTAP 8.2 or later operating in Cluster-Mode. <p> This API is not supported if the destination end point is an Infinite Volume. <p> This API is not supported if the destination is a non-Data ONTAP endpoint.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster of the SnapMirror relationship. The destination Vserver and destination volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, when specifying a destination endpoint, you must use either the destination location, or the destination cluster, destination Vserver, and destination volume. On Data ONTAP operating in 7-Mode, If the destination endpoint is a qtree, it must be quiesced using snapmirror-quiesce. This parameter is mandatory on Data ONTAP 7-mode This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the destination Vserver of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination volume. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory if destination-location is not specified.

=end html

=back



=over 2

=item * I<recover>  =>   B<boolean, optional>

=begin html

<br>When a SnapMirror break operation fails on a FlexGroup relationship, a subset of the consituents could have been made writable and subsequently user data could have been written to these constituents. To recover from this failure, the break command can be executed again specifying the recover parameter. All constituents will be restored to the latest Snapshot copy, and any writes to the read-write constituents will be lost. This parameter is applicable only for SnapMirror relationships with FlexGroup endpoints. This field only applies on Data ONTAP 9.1 or later.

=end html

=back



=over 2

=item * I<restore-destination-to-snapshot>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy to which the destination volume is restored after a successful break operation. If the parameter is not specified, the destination is restored to the latest Snapshot copy. This parameter is not supported for FlexGroup relationships.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies source endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, When specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source volume. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the SnapMirror operation. This field is only returned by Data ONTAP 8.3 or later. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid.

=end html

=back



=head2 snapmirror_break_async

[B<Family:> cluster, vserver]


=begin html

The snapmirror-break-async API breaks a SnapMirror relationship between a source Infinite Volume and a destination Infinte volume or a source Vserver and destination Vserver. For Infinite volume SnapMirror relationship, when Data ONTAP breaks the relationship, the destination volume is made a read-write volume and can diverge from the source volume, client redirection is turned off on the destination volume, the restart checkpoint is cleared, and the clients can see the latest Snapshot copy. You must specify the destination endpoint when using snapmirror-break-async. The destination endpoint could be a <ul> <li> Infinte volume in case of a SnapMirror relationship between Infinte volumes. <li> Vserver in case of a Vserver level SnapMirror relationship on Data ONTAP 8.3.1 or later. </ul> Subsequent manual or scheduled SnapMirror updates to the broken relationship will fail until the SnapMirror relationship is reestablished using the snapmirror-resync API. This API applies only to data protection mirrors for Infinite Volumes and data protection relationships for Vservers. You must use the snapmirror-break-async API from the destination cluster. For volume level relationship, this API is not supported <ul> <li> on Infinite Volume constituents. <li> if the destination end point is a flexible volume. <li> if the destination end point is a FlexGroup or FlexGroup constituent. </ul> A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<recover>  =>   B<boolean, optional>

=begin html

<br>Recover

=end html

=back



=over 2

=item * I<restore-destination-to-snapshot>  =>   B<string, optional>

=begin html

<br>Restore Destination to Snapshot Copy

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror_break_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-break-iter API breaks one or more SnapMirror relationships.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<recover>  =>   B<boolean, optional>

=begin html

<br>Recover

=end html

=back



=over 2

=item * I<restore-destination-to-snapshot>  =>   B<string, optional>

=begin html

<br>Restore Destination to Snapshot Copy

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-break-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-break-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_capabilities_get

[B<Family:> cluster, vserver]


=begin html

The snapmirror-capabilities-get API returns capabilities information for an endpoint type. It is only supported for the FlexVol endpoint type. It is not supported for FlexGroup, Infinite Volume, or non-Data ONTAP endpoint types. This API is available in Data ONTAP 9.3 and later.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-capabilities-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<endpoint-type>  =>   B<smendpointtype>

=begin html

<br>Endpoint type. The only supported value is flexvol. Possible values: <ul> <li> "flexvol" </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-capabilities-info">>

=begin html

<br>The attributes of the snapmirror.

=end html

=back



=head2 snapmirror_capabilities_get_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-capabilities-get API returns capabilities information for one or more endpoint types. It is only supported for the FlexVol endpoint type. It is not supported for FlexGroup, Infinite Volume, or non-Data ONTAP endpoint types. This API is available in Data ONTAP 9.3 and later.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-capabilities-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-capabilities-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapmirror object. All snapmirror objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapmirror-capabilities-info">[], optional>

=begin html

<br>The list of attributes of snapmirror objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapmirror objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapmirror_check

[B<Family:> cluster, vserver]


=begin html

The snapmirror-check API starts an operation to compare the contents of a snapshot between the source volume and destination volume. You must specify the destination endpoint when using snapmirror-check. <p> It is also possible to use the snapmirror-check command to compare only the contents of specific files or LUNs in specific Snapshot copies. A file-level check is run when the check-file-list, source-path, source-snapshot, and target-snapshot parameters are specified. Only the contents of the files specified in check-file-list are compared. You can also run a file-level check between volumes that are not in a SnapMirror relationship. </p> <p> This API is not supported for relationships with AltaVault endpoints. </p> <p> For FlexGroup relationships, there is no support in the checker to check the relationship at the FlexGroup level. The checker must be run on the constituent level relationships which are returned when the snapmirror-get-iter API specifying the expand parameter is used. </p> A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<check-file-list>  =>   B<snapmirror-file-path[], optional>

=begin html

<br>Specifies the files or LUNs to be compared. The list can contain specifications for up to 8 files or LUNs. Specification for each file or LUN consists of a source-path and an optional destination-path. Source-path is required and is the path of the file from the root of the source Snapshot copy, e.g. /dira/file1 or /lun1. The source path does not include the Snapshot name nor the source volume name. <p> The path to each file to be compared in the target snapshot on the destination volume is the same as the path specified by source-path unless an optional destination-path is specified. Destination-path begins with the @ symbol followed by the path of the file from the root of the target Snapshot copy on the destination volume, e.g. @ /file1 or @ /dira/lun1. Source-paths and destination-paths are separate entities in the list of paths. A destination-path is associated with the source-path that precedes it. <p> Examples: &lt;snapmirror-file-path&gt;/file1&lt;/snapmirror-file-path&gt; will compare the file /file1 on the source with the file with the same path name on the destination &lt;snapmirror-file-path&gt;/file1&lt;/snapmirror-file-path&gt; &lt;snapmirror-file-path&gt; @ /dst_file1&lt;/snapmirror-file-path&gt; will compare file /file1 on the source with file /dst_file on the destination. If this parameter is specified, parameters source-path, source-snapshot and target-snapshot must also be specified. This parameter is only available on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with relationship control plane of 'v1' confined to a single cluster. This parameter is only available on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<skip-se-check>  =>   B<boolean, optional>

=begin html

<br>Specifies that the check of the storage efficiency data will be skipped on extended data protection relationships and file-level transfers. The default value for this parameter is 'false'. This parameter is only available on Data ONTAP 9.0 or later.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Specifies the source Snapshot copy to be used for a file-level check. If this parameter is specified, parameters check-file-list, source-path and target-snapshot must also be specified. This parameter is only available on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<target-snapshot>  =>   B<string, optional>

=begin html

<br>Specifies the target Snapshot copy to be used, instead of the exported Snapshot copy on the destination volume. This parameter is required for a file-level check.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror_check_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-check-iter API checks one or more SnapMirror relationships. A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<check-file-list>  =>   B<snapmirror-file-path[], optional>

=begin html

<br>Specifies the files or LUNs to be compared. The list can contain specifications for up to 8 files or LUNs. Specification for each file or LUN consists of a source-path and an optional destination-path. Source-path is required and is the path of the file from the root of the source Snapshot copy, e.g. /dira/file1 or /lun1. The source path does not include the Snapshot name nor the source volume name. <p> The path to each file to be compared in the target snapshot on the destination volume is the same as the path specified by source-path unless an optional destination-path is specified. Destination-path begins with the @ symbol followed by the path of the file from the root of the target Snapshot copy on the destination volume, e.g. @ /file1 or @ /dira/lun1. Source-paths and destination-paths are separate entities in the list of paths. A destination-path is associated with the source-path that precedes it. <p> Examples: &lt;snapmirror-file-path&gt;/file1&lt;/snapmirror-file-path&gt; will compare the file /file1 on the source with the file with the same path name on the destination &lt;snapmirror-file-path&gt;/file1&lt;/snapmirror-file-path&gt; &lt;snapmirror-file-path&gt; @ /dst_file1&lt;/snapmirror-file-path&gt; will compare file /file1 on the source with file /dst_file on the destination. If this parameter is specified, parameters source-path, source-snapshot and target-snapshot must also be specified. This parameter is only available on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with relationship control plane of 'v1' confined to a single cluster. This parameter is only available on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on or scheduled to be worked on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<skip-se-check>  =>   B<boolean, optional>

=begin html

<br>Specifies that the check of the storage efficiency data will be skipped on extended data protection relationships and file-level transfers. The default value for this parameter is 'false'. This parameter is only available on Data ONTAP 9.0 or later.

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Specifies the source Snapshot copy to be used for a file-level check. If this parameter is specified, parameters check-file-list, source-path and target-snapshot must also be specified. This parameter is only available on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



=over 2

=item * I<target-snapshot>  =>   B<string, optional>

=begin html

<br>Specifies the target Snapshot copy to be used, instead of the exported Snapshot copy on the destination volume. This parameter is required for a file-level check.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-check-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed or scheduled to be processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-check-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed or scheduled to be processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_config_replication_cluster_storage_configuration_get

[B<Family:> cluster]


=begin html

The snapmirror-config-replication-cluster-storage-configuration-get API returns information regarding the configuration of the cluster-wide storage associated with cross-cluster replication of Async Vserver DR configuration data. <p> On Data ONTAP 8.3, Async Vserver DR cannot be enabled simultaneously with metrocluster. For this reason this command will return an error if metrocluster is currently enabled on the cluster. <p>

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-cr-storage-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-cr-storage-info">>

=begin html

<br>The attributes of the snapmirror.

=end html

=back



=head2 snapmirror_config_replication_cluster_storage_configuration_modify

[B<Family:> cluster]


=begin html

The snapmirror-config-replication-cluster-storage-configuration-modify API modifies nformation regarding the configuration of the cluster-wide storage associated with cross-cluster replication of Async Vserver DR configuration data. <p> If input is not provided for a particular value, then the item is not modified in the storage configuration. <p> On Data ONTAP 8.3, Async Vserver DR cannot be enabled simultaneously with metrocluster. For this reason this command will return an error if metrocluster is currently enabled on the cluster. <p>

=end html



B<Inputs>

=over 2

=item * I<disallowed-aggregates>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies the list of aggregates that are disallowed for use by the Async Vserver DR configuration replication. An admin may modify this value to exclude aggregates.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_cr_status_aggregate_eligibility_get

[B<Family:> cluster]


=begin html

This API returns information regarding the eligibility of aggregates to host configuration replication volumes used for the replication of snapmirror configuration data.

=end html



B<Inputs>

=over 2

=item * I<aggregate>  =>   B<aggr-name>

=begin html

<br>The aggregate being evaluated for config-replication volume hosting eligibility.

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-cr-status-aggregate-eligibility-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-cr-status-aggregate-eligibility-info">>

=begin html

<br>The attributes of the snapmirror-cr-status-aggregate-eligibility.

=end html

=back



=head2 snapmirror_cr_status_aggregate_eligibility_get_iter

[B<Family:> cluster]


=begin html

This API returns information regarding the eligibility of aggregates to host configuration replication volumes used for the replication of snapmirror configuration data.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-cr-status-aggregate-eligibility-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-cr-status-aggregate-eligibility-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapmirror-cr-status-aggregate-eligibility object. All snapmirror-cr-status-aggregate-eligibility objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapmirror-cr-status-aggregate-eligibility-info">[], optional>

=begin html

<br>The list of attributes of snapmirror-cr-status-aggregate-eligibility objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapmirror-cr-status-aggregate-eligibility objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapmirror_cr_status_comm_get

[B<Family:> cluster]


=begin html

Obtain the results of the SnapMirror config replication status check.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-cr-status-comm-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<peer-cluster-uuid>  =>   B<string>

=begin html

<br>The UUID of the peer cluster destination for SnapMirror configuration replication.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-cr-status-comm-info">>

=begin html

<br>The attributes of the snapmirror.

=end html

=back



=head2 snapmirror_cr_status_comm_get_iter

[B<Family:> cluster]


=begin html

Obtain the results of the SnapMirror config replication status check.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-cr-status-comm-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-cr-status-comm-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapmirror object. All snapmirror objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapmirror-cr-status-comm-info">[], optional>

=begin html

<br>The list of attributes of snapmirror objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapmirror objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapmirror_cr_status_get

[B<Family:> cluster]


=begin html

Obtain the results of the SnapMirror config replication status check.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-cr-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-cr-status-info">>

=begin html

<br>The attributes of the snapmirror.

=end html

=back



=head2 snapmirror_create

[B<Family:> cluster, vserver]


=begin html

The snapmirror-create API creates a SnapMirror relationship between a source and destination volume or Vserver. The following types of relationships can be created: <ul> <li>'data_protection' - For Disaster Recovery (DR); <li>'load_sharing' - For load-sharing within the same Vserver; <li>'vault' - For Vault; <li>'transition_data_protection' - For 7-mode to Cluster-Mode transition; <li>'restore' - For restoring a data protection (DP) volume data; <li>'extended_data_protection' - For extended data protection; </ul> With Data ONTAP 9.3 or later, when a new relationship is created with 'data_protection' as type, an 'extended_data_protection' relationship will be created. This relationship will provide the same functional behavior as the 'data_protection' type in terms of Snapshot copy selection and retention. This is achieved by using a policy which has the rule to replicate all Snapshot copies. The SnapMirror create will fail if the policy specified does not have the rule to replicate all Snapshot copies. There is an exception to this overriding of the 'data_protection' type. If a relationship of type 'data_protection' in the opposite direction already exists, the new relationship will also be of type 'data_protection'. The 'data_protection' type will eventually be deprecated and applications should use the 'extended_data_protection' type when creating new relationships. On Data ONTAP 8.1 operating in Cluster-Mode, only 'data_protection' and 'load_sharing' type are supported. Relationships of type 'restore' are created temporary during a restore operation initiated using the snapmirror-restore API or the corresponding command. The source and destination endpoints must be specified when using the snapmirror-create API. This API will fail if the destination volume does not exist. With Data ONTAP 9.3 or later the following relationships can be created: <ul> <li> SnapMirror relationships between a Data ONTAP volume and a SolidFire endpoint. <li> When a SolidFire endpoint is specified as source or destination, a Data ONTAP volume must be used as the other side of the SnapMirror relationship. </ul> With Data ONTAP 9.1 or later the following relationships can be created: <ul> <li> SnapMirror relationships between two FlexGroups. FlexGroups only support extended data protection relationships. For FlexGroup relationships, the source and destination FlexGroups must be spread over the same number of aggregates as specified in the volume-create-async API aggr-list parameter with the same number of constituents per aggregate as specified in the volume-create-async API aggr-list-multiplier parameter. <li> SnapMirror relationships between a Data ONTAP source volume and an AltaVault destination endpoint. <li> When an AltaVault destination is specified, the source must be a Data ONTAP volume. <li> An AltaVault source cannot be specified for create. </ul> With Data ONTAP 8.3 or later, you can create a SnapMirror relationship between two Vservers. The destination Vserver will be a backup of the source Vserver's data and configuration. For this, before you use this API, you should have created a source and a destination Vserver. The source Vserver should be a default data Vserver. On Data ONTAP 8.2 operating in Cluster-Mode, the API does not validate the attributes and the existence of the source volume. It will succeed even if the source volume does not exist. The validation will be done at the first transfer time. On Data ONTAP 8.1 operating in Cluster-Mode, the API will fail if the source volume is not in online state and read-write (RW) type, or the destination volume is not in online state and a DP (Data Protection) type. Note: The source volume might contain data and Snapshot copies prior to creating the SnapMirror relationship. If the destination volume is not empty, it must have a Snapshot copy in common with the source volume, that is, it must have once been a copy of the source volume. On Data ONTAP 8.1 operating in Cluster-Mode, the API will fail if there is no common Snapshot copy. On Data ONTAP 8.2 operating in Cluster-Mode the API will succeed, but all subsequent transfers will fail if there is no common snapshot copy. Load-sharing mirrors have the following restrictions: - They only use FlexVol volumes. - They are confined to a single Vserver; they are not allowed to span Vservers. - The source or destination of a load-sharing relationship cannot be the source or destination of any other SnapMirror relationship. A set of load-sharing mirrors can have one or more destination volumes. You create separate SnapMirror relationships between the common source volume and each destination volume to create the set of load-sharing mirrors. If the destination volume is empty, it must be initialized using the snapmirror-initialize API. Destination volumes in a set of load-sharing mirrors must be initialized using the snapmirror-initialize-ls-set API. The snapmirror-create API must be issued on the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, and on the destination Vserver on Data ONTAP 8.2 operating in Cluster-Mode.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<identity-preserve>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether or not the identity of the source Vserver is replicated to the destination Vserver and is applicable on Data ONTAP 8.3 or later. If this parameter is set to true, the source Vserver's configuration will additionally be replicated to the destination. If the parameter is set to false, then only the source Vserver's volumes and RBAC configuration are replicated to the destination. By default this parameter will be false.

=end html

=back



=over 2

=item * I<is-auto-expand-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the destination FlexGroup should expand automatically or not. If specified as true, then the destination is expanded automatially upon discovering source FlexGroup expansion. A scheduled update is the trigger point for auto expand. If specified as false, destination will not be expanded automatically. This parameter is valid only for FlexGroup relationships. If the paramter is not specified, auto expansion will be enabled on FlexGroup relationships. This parameter is only available on Data ONTAP 9.3 or later.

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Specifies the name of the snapmirror policy for the relationship. For SnapMirror relationships of type 'vault' or 'extended data protection', the policy will also have rules to select snapshot copies that must be transferred. If no policy is specified, a default policy will be applied depending on the type of the SnapMirror relationship. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'.

=end html

=back



=over 2

=item * I<relationship-type>  =>   B<string, optional>

=begin html

<br>Specifies the type of the SnapMirror relationship. An extended data protection relationship with a policy of type vault is equivalent to a 'vault' relationship. Possible values: <ul> <li> "data_protection" , <li> "load_sharing" , <li> "vault" , <li> "restore" , <li> "transition_data_protection" , <li> "extended_data_protection" </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the snapmirror on successful creation. Default: false

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Specifies the name of the cron schedule, which is used to update the SnapMirror relationship.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<tries>  =>   B<string, optional>

=begin html

<br>Specifies the maximum number of times to attempt each manual or scheduled transfer for a SnapMirror relationship. The default is eight times. Note: You can set the tries option to zero (0) to disable manual and scheduled updates for the SnapMirror relationship. This parameter is only relevant on Data ONTAP 8.1 operating in Cluster-Mode. On Data ONTAP 8.2 operating in Cluster-Mode, the maximum number of times to attempt a transfer is an attribute of the SnapMirror policy. Therefore the value of this parameter is ignored.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>If this optional parameter is specified, designates the managing Vserver. The managing Vserver is authorized to use snapmirror commands to manage the SnapMirror relationship. The vserver option is currently a reserved option and should not be used for queries. The destination-vserver parameter should be used to select the Vserver in a cluster context.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"snapmirror-info">, optional>

=begin html

<br>The snapmirror created (keys or the entire object if requested)

=end html

=back



=head2 snapmirror_destroy

[B<Family:> cluster, vserver]


=begin html

The snapmirror-destroy API removes only the SnapMirror relationship of a source volume and a destination volume, the volumes are not destroyed and Snapshot copies on the volumes are not removed. In case of a Vserver SnapMirror relationship, this API removes only the relationship between a source and destination Vserver. The Vservers are not destroyed. The key parameter that identifies any SnapMirror relationship is the destination volume or the destination Vserver in the case of a Vserver SnapMirror relationship on Data ONTAP 8.3 or later. You must specify the destination endpoint when using snapmirror-destroy. On Data ONTAP 8.1 operating in Cluster-Mode, the snapmirror-destroy API fails if a SnapMirror transfer for the SnapMirror relationship is in progress. On Data ONTAP 8.2 operating in Cluster-Mode, the snapmirror-destroy API will attempt to abort any ongoing transfer. However, failure to abort the transfer will not cause the API to fail. A set of load-sharing mirrors might contain multiple destination volumes, each destination volume having a separate SnapMirror relationship with the common source volume. When used on one of the SnapMirror relationships from the set of load-sharing mirrors, the snapmirror-destroy API deletes the specified SnapMirror relationship from the set of load-sharing mirrors. The snapmirror-destroy API preserves the read-write or read-only attributes of the volumes of a SnapMirror relationship after the relationship is deleted. Therefore, a read-write volume that was the source of a SnapMirror relationship retains its read-write attributes, and a data protection volume or a load-sharing volume that was a destination of a SnapMirror relationship retains its read-only attributes. Note: When a SnapMirror relationship from a set of load-sharing mirrors is deleted, the destination volume becomes a data protection volume and retains the read-only attributes of a data protection volume. On Data ONTAP 8.2 operating in Cluster-Mode, this API can only be issued on the destination Vserver. The SnapMirror relationship information is deleted from destination Vserver, but no cleanup or deletion is performed on the source Vserver. The snapmirror-release API must be issued on the source Vserver to delete the relationship information on the source Vserver. On Data ONTAP 8.1 operating in Cluster-Mode, this API can be issued on the source or on the destination cluster. When issued on the destination cluster, the SnapMirror relationship information on the source and destination clusters is deleted. When issued on the source cluster, only the SnapMirror relationship information on the source cluster is deleted. Note: If the SnapMirror relationship identified by the destination endpoint does not exist, this API will return success. This API is not supported if the destination end point is a Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=head2 snapmirror_destroy_async

[B<Family:> cluster, vserver]


=begin html

The snapmirror-destroy-async API removes the SnapMirror relationship between a source and destination Infinite Volume or a source and destination Vserver. The volumes or Vservers themselves are not destroyed and Snapshot copies on the volumes are not removed. You must specify the destination endpoint when using snapmirror-destroy-async. The destination endpoint could be a <ul> <li> Infinte volume in case of a SnapMirror relationship between Infinite volumes. <li> Vserver in case of a Vserver level SnapMirror relationship on Data ONTAP 8.3 or later. </ul> For Infinite volume SnapMirror relationships, <ul> <li> snapmirror-destroy-async API fails if a SnapMirror transfer for the relationship is in progress. <li> snapmirror-destroy-async API preserves the read-write or read-only attributes of the volumes of a SnapMirror relationship after the relationship is deleted. Therefore, a read-write volume that was the source of a SnapMirror relationship retains its read-write attributes, and a data protection volume that was the destination of a SnapMirror relationship retains its read-only attributes. <li> snapmirror-destroy-async API should be used from the destination cluster. When used in this fashion, the destination-side information will be cleaned up. The destination will also attempt to cleanup source-side information. If the source cluster is not available, the destination-side information will still be cleaned up. <li> this API is not supported if the destination end point is a flexible volume or an Infinite Volume constituent. </ul> For Vserver SnapMirror relationships, <ul> <li> snapmirror-destroy-async API can be issued even if a transfer is in progress for the relationship. <li> snapmirror-destroy-async API preserves the subtype attribute of the Vserver. Therefore, a default Vserver that was the source of a SnapMirror relationship continues to be of subtype default, and a dp-destination Vserver that was a destination of a SnapMirror relationship continues to be of subtype dp-destination. <li> snapmirror-destroy-async API should be used from the destination cluster. This will cleanup the destination-side information for the relationship. </ul> A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror_destroy_iter

[B<Family:> cluster, vserver]


=begin html

Removes one or several SnapMirror relationships. This API is not supported on Infinite Volume constituents.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-destroy-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-destroy-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_get

[B<Family:> cluster, vserver]


=begin html

The snapmirror-get API returns information for a SnapMirror relationship. <p> On Data ONTAP 8.1 operating in Cluster-Mode this API can be issued on the source cluster or destination cluster of the relatonship. On Data ONTAP 8.2 operating in Cluster-Mode, this API must be issued on the destination Vserver or the destination cluster of the relationship. The destination endpoint must be specified when using the snapmirror-get API. </p>

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-info">>

=begin html

<br>The attributes of the snapmirror.

=end html

=back



=head2 snapmirror_get_destination

[B<Family:> cluster, vserver]


=begin html

The snapmirror-get-destination API returns information about a SnapMirror relationship whose source endpoint is on the cluster or Vserver it is issued on. The destination endpoint must be specified when using this API. The source endpoint can also be specified. <p> The cluster or Vserver may have several entries for the specified endpoints, but with different relationship IDs. In this case the API returns information about the first entry. To get information about all the SnapMirror relationships matching the specified endpoints, the snapmirror-get-destination-iter API must be used. <p> Note that the information for a SnapMirror relationship will not be available on its source Vserver or source cluster until at least one transfer is initiated. <p> The information returned can be stale. Stale information corresponds to a SnapMirror relationship that has been deleted on its destination cluster or Vserver. <p> This API is only supported on Data ONTAP 8.2 and above operating in Cluster-Mode. <p> This API must be issued on the source Vserver or the source cluster of the relationship.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-destination-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the format [vserver:]volume. This format may change in the future. The destination endpoint can be specified using the location format above, or by specifying the parameters for the name of the destination Vserver and the name of the destination volume.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of destination volume for the SnapMirror relationshp. The name of the destination Vserver must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the relationship. The name of the destination volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the format [vserver:]volume. This format may change in the future. The source endpoint can be specified using the location format above, or by specifying the parameters for the name of the source Vserver and the name of the source volume.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. The name of the source Vserver must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. The name of the source volume must also be specified if using this parameter.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-destination-info">>

=begin html

<br>The attributes of the snapmirror.

=end html

=back



=head2 snapmirror_get_destination_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-get-destination-iter API returns information about, one or more SnapMirror relationships whose source endpoints are in the Vserver or the cluster the API is issued on. <p> The information returned can be stale. Stale information corresponds to a SnapMirror relationship that has been deleted on its destination cluster or Vserver. Stale information may result to several entries being returned with the same source and destination endpoints, but with different relationship IDs. <p> Note that the information for a SnapMirror relationship will not be available on its source Vserver or source cluster until at least one transfer is initiated. <p> This API is only supported on Data ONTAP 8.2 and above operating in Cluster-Mode. It can be issued on a Vserver or a Cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-destination-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<expand>  =>   B<boolean, optional>

=begin html

<br>Show Constituents of the Group

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-destination-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapmirror object. All snapmirror objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapmirror-destination-info">[], optional>

=begin html

<br>The list of attributes of snapmirror objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapmirror objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapmirror_get_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-get-iter API returns information for one or several SnapMirror relationships. <p> On Data ONTAP 8.1 operating in Cluster-Mode, this API can be issued on a cluster. It returns all SnapMirror relationships that have a source or destination endpoint in that cluster, and that match the parameters specified. On Data ONTAP 8.2 operating in Cluster-Mode, this API can be issued on a Vserver or a cluster. It returns all the SnapMirror relationships, which have a destination endpoint in that Vserver or cluster, and that match the parameters specified. <p>

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<expand>  =>   B<boolean, optional>

=begin html

<br>Show Constituents of the Group

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapmirror object. All snapmirror objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapmirror-info">[], optional>

=begin html

<br>The list of attributes of snapmirror objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapmirror objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapmirror_get_total_records

[B<Family:> cluster]


=begin html

Obtain the total number of SnapMirror relationships. This is a point in time estimate and may be different on subsequent calls.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The total number of snapmirror objects.

=end html

=back



=head2 snapmirror_get_volume_status

[B<Family:> cluster]


=begin html

Returns SnapMirror status values for a given volume. Including whether: the volume is a source of a SnapMirror relationship; the volume is a destination of a SnapMirror relationship; a transfer is in progress; the relationship is broken off. On Data ONTAP 8.1 operating in Cluster-Mode, this API is provided for backward compatibility only. It will fail if the volume is the source or destination of a load-sharing SnapMirror relationship. It is recommended to use the snapmirror-get-iter API to get the same information. On Data ONTAP 8.1 operating in Cluster-Mode, this API must be issued on the cluster the volume belongs to. This API is not supported On Data ONTAP 8.2 or later operating in Cluster-Mode. You must use the snapmirror-get-iter and snapmirror-get-destination-iter APIs. If issued on Data ONTAP 8.2 or later operating in Cluster-Mode, this API will return EOPNOTSUPPORTED error.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume to be queried. On Data ONTAP operating in Cluster-Mode, specifies the location of the volume the following formats: [&lt;cluster&gt;:][//&lt;vserver&gt;/]&lt;volume&gt;

=end html

=back



B<Outputs>

=over 2

=item * I<is-destination>  =>   B<boolean, optional>

=begin html

<br>true if it was determined that the volume is a destination of a SnapMirror relationship. false otherwise

=end html

=back



=over 2

=item * I<is-source>  =>   B<boolean, optional>

=begin html

<br>true if it was determined that the volume is a source of a SnapMirror relationship. false otherwise

=end html

=back



=over 2

=item * I<is-transfer-broken>  =>   B<boolean, optional>

=begin html

<br>true if it was determined that the volume is a destination of a SnapMirror relationship that was broken off. The volume allows reads and writes. false otherwise

=end html

=back



=over 2

=item * I<is-transfer-in-progress>  =>   B<boolean, optional>

=begin html

<br>true if it was determined that the volume is a source or a destination of a SnapMirror relationship that has a transfer going on. false otherwise

=end html

=back



=head2 snapmirror_history_get

[B<Family:> cluster, vserver]


=begin html

The snapmirror-history-get API returns information for a SnapMirror operation.This API must be issued on the destination Vserver or the destination cluster of the relationship. The operation-id must be specified when using the snapmirror-history-get API. This API can be used only with Data ONTAP 8.3 (or later). The snapmirror-history-get API does not return information about operations which happened while operating prior to Data ONTAP 8.3. The snapmirror-history-get API does not return information for relationships using a control plane compatible with Data ONTAP 8.1. This API is not supported for SnapMirror FlexGroup relationships.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following format: <ul> <li> &lt;[vserver:]volume&gt; <li> &lt;vserver:&gt;</ul> This format depends on Vserver peering setup between the source and destination Vservers. The destination endpoint can be specified using the location format, or by specifying the parameters for the name of the destination Vserver and the name of the destination volume or the destination Vserver for Vserver SnapMirror relationships.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship.If using this parameter, the following parameter should also be specified: <ul> <li> The name of the destination Vserver. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. If using this parameter, the following parameter should also be specified for volume SnapMirror relationships: <ul> <li> The name of destination volume. </ul>

=end html

=back



=over 2

=item * I<operation-id>  =>   B<string>

=begin html

<br>A unique identifier assigned to a SnapMirror operation.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-history-info">>

=begin html

<br>The attributes of the snapmirror.

=end html

=back



=head2 snapmirror_history_get_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-history-get-iter API returns information for one or several SnapMirror operations. This API must be issued on the destination Vserver or the destination cluster of the relationship. This API can be used only with Data ONTAP 8.3 (or later). It returns all the SnapMirror operations, which have a destination endpoint in that Vserver or cluster, and that match the parameters specified. The snapmirror-history-get API does not return information about operations which happened while operating prior to Data ONTAP 8.3. The snapmirror-history-get API does not return information for relationships using a control plane compatible with Data ONTAP 8.1. This API is not supported for SnapMirror FlexGroup relationships.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-history-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-history-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapmirror object. All snapmirror objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapmirror-history-info">[], optional>

=begin html

<br>The list of attributes of snapmirror objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapmirror objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapmirror_initialize

[B<Family:> cluster, vserver]


=begin html

Performs the initial update of a SnapMirror relationship. You must specify the destination endpoint when using snapmirror-initialize. This API must be used from the destination storage system on Data ONTAP operating in 7-Mode, from the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, and from the destination Vserver on Data ONTAP 8.2 or later operating in Cluster-Mode. <p> On Data ONTAP operating in 7-Mode, If the destination endpoint is a volume, the volume must be in the restricted state. If the destination endpoint is a qtree, the qtree must not already exist. <p> On Data ONTAP operating in Cluster-Mode, this API is usually used after the snapmirror-create API, but it can be used alone, that is, without the snapmirror-create API, for data protection relationships only, to create and initially update a SnapMirror relationship. <p> On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating Cluster-Mode (The relationship-control-plane field is set to 'v1'), a job will be spawned to operate on the SnapMirror relationship, and the job id will be returned. The progress of the job can be tracked using the job APIs. <p> On Data ONTAP 8.2 or later operating in Cluster-Mode, for extended_data_protection relationships, a 32-bit volume cannot be the source or destination of the relationship. <p> On Data ONTAP 8.2 or later operating in Cluster-Mode, you can track the progress of the operation using the snapmirror-get API, except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <p> On Data ONTAP 8.3 or later result-operation-id is returned. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid. This operation-id appears in the current-operation-id field returned by the snapmirror-get API as long as the operation is active. <p> With Data ONTAP 8.3 or later, this API can be used to initialize a relationship between two volumes or two Vservers. 1. When volume names are specified, this API initializes a volume level relationship. 2. When Vserver names without volume names are specified, this API will initialize a relationship between two Vservers. This API can only be used for relationships between two Vservers after a successful snapmirror-create API. During initialize a baseline transfer of the Vserver is performed. <p> With Data ONTAP 9.1, this API can be used to initialize a relationship between a Data ONTAP volume and an AltaVault destination. 1. When an AltaVault destination is specified, the source must be a Data ONTAP volume. 2. An AltaVault source cannot be specified for initialize. <p> With Data ONTAP 9.3, this API can be used to initialize a relationship between a Data ONTAP volume and a SolidFire endpoint.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster of the SnapMirror relationship. The destination Vserver and destination volume must also be specified if using this parameter. This parameter is not supported if the destination is a non-Data ONTAP endpoint.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault destination. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire destination endpoint. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, when specifying a destination endpoint, you must use either the destination location, or the destination cluster, destination Vserver, and destination volume. On Data ONTAP operating in 7-Mode, if the destination endpoint is a volume, the volume must be in the restricted state. If the destination endpoint is a qtree, the qtree must not already exist. <p> This parameter is mandatory on Data ONTAP operating in 7-mode. This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the destination Vserver of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination volume. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory if destination-location is not specified.

=end html

=back



=over 2

=item * I<is-auto-expand-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if the FlexGroup SnapMirror relationship and its destination FlexGroup should be auto-expanded if the source FlexGroup is expanded. This parameter is supported only for FlexGroup SnapMirror relationships. If the initialize is creating a new SnapMirror relationship, the default value is true. If it is not creating a new relationship, if a value is specified, it must match the current value for the existing relationship. If the parameter is not specified, the existing value will be retained. This parameter is only supported on Data ONTAP 9.3. or later.

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. On Data ONTAP operating in Cluster-Mode, the max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source endpoint. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire source endpoint. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode when specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume or the source Vserver. On Data ONTAP operating in 7-Mode, If the source-location is not specified, then the source in /etc/snapmirror.conf for the destination path is used.

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Designates the source snapshot to use for a qtree update on Data ONTAP operating in 7-mode, and the snapshot on the source volume to use for the baseline transfer on Data ONTAP 8.2 or later operating in Cluster-Mode. The default is to create a new snapshot on the source for the transfer. <p>This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. <p>Vserver level SnapMirror relationships do not support this parameter.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. The If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<string, optional>

=begin html

<br>Specifies the priority at which the transfer runs. Possible values are: "normal", and "low". The default value is the value specified in the snapmirror policy which is associated with the relationship. <p>This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error. This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error. This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job. This parameter is only returned by Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the SnapMirror operation. This field is only returned by Data ONTAP 8.3 or later. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed". This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=head2 snapmirror_initialize_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-initialize-iter API initializes the destination volume of one or more SnapMirror relationships. On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating Cluster-Mode (The relationship-control-plane field is set to 'v1'), A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<is-auto-expand-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Auto Expand Enabled

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on or scheduled to be worked on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Designates the source Snapshot copy to use for a qtree update on Data ONTAP operating in 7-mode, and the Snapshot copy on the source volume to use for the baseline transfer on Data ONTAP 8.2 or later operating in Cluster-Mode. The default is to create a new Snapshot copy on the source for the transfer. <p> This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. </p><p> Vserver level SnapMirror relationships do not support this parameter.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<sm-transfer-priority-enum, optional>

=begin html

<br>Specifies the priority at which the transfer runs. The default value is the value specified in the snapmirror policy which is associated with the relationship. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-initialize-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed or scheduled to be processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-initialize-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed or scheduled to be processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_initialize_ls_set

[B<Family:> cluster, vserver]


=begin html

The snapmirror-initialize-ls-set API performs the initial manual update of a set of load-sharing mirrors. This API is usually used after the snapmirror-create API is used to create a SnapMirror relationship for each of the destination volumes in the set of load-sharing mirrors. You must specify the source endpoint when using snapmirror-initialize-ls-set. Data and Snapshot copies are transferred from the source volume to all up-to-date destination volumes in the set of load-sharing mirrors. Use the snapmirror-initialize API to add and initialize a new destination volume to an existing set of load-sharing mirrors. A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship. When specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. The source cluster and source Vserver must also be specified if using this parameter. This parameter may be optional if executed outside cluster context.

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. The source cluster and source volume must also be specified if using this parameter.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror_modify

[B<Family:> cluster, vserver]


=begin html

The snapmirror-modify API changes one or more parameters of a SnapMirror relationship. The key parameter that identifies any SnapMirror relationship is the destination volume or the destination Vserver in the case of a Vserver SnapMirror relationship on Data ONTAP 8.3 or later. <p> You must specify the destination endpoint when using the snapmirror-modify API. For load-sharing mirrors, a change to a parameter affects all of the SnapMirror relationships in the set of load-sharing mirrors. Destination volumes in a set of load-sharing mirrors do not have individual parameter settings. Changes made by the snapmirror-modify API do not take effect until the next manual or scheduled update of the SnapMirror relationship. Changes do not affect updates that have started and have not finished yet. On Data ONTAP 8.1 operating in Cluster-Mode this API must be issued on the destination Cluster. On Data ONTAP 8.2 operating in Cluster-Mode, this API must be issued on the destination Vserver if operating in a Vserver context and on the destination cluster if operating in a cluster context. This API is not supported on Infinite Volume constituents.</p>

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<is-auto-expand-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the destination FlexGroup should expand automatically or not. If specified as true, then the destination is expanded automatially upon discovering source FlexGroup expansion. A scheduled update is the trigger point for auto expand. If specified as false, destination will not be expanded automatically. This parameter is valid only for FlexGroup relationships. If the parameter is not specified, auto expansion will be enabled on FlexGroup relationships. This parameter is only available on Data ONTAP 9.3 or later.

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<policy>  =>   B<sm-policy, optional>

=begin html

<br>Specifies the name of the SnapMirror policy that applies to this relationship.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Specifies the name of the cron schedule, used to update the SnapMirror relationship.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<tries>  =>   B<string, optional>

=begin html

<br>Specifies the maximum number of times to attempt each manual or scheduled transfer for a SnapMirror relationship. The default is eight times. Note: You can set the tries option to zero (0) to disable manual and scheduled updates for the SnapMirror relationship. This parameter is only relevant on Data ONTAP 8.1 operating in Cluster-Mode. On Data ONTAP 8.2 operating in Cluster-Mode, the maximum number of times to attempt a transfer is an attribute of the SnapMirror policy. Therefore the value of this parameter is ignored.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>If this optional parameter is specified, designates the managing Vserver. The managing Vserver is authorized to use snapmirror commands to manage the SnapMirror relationship. The vserver option is currently a reserved option.

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=head2 snapmirror_modify_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-modify-iter API allows to change one or more parameters of one or more SnapMirror relationships. This API is not supported on Infinite Volume constituents.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<is-auto-expand-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the destination FlexGroup should expand automatically or not. If specified as true, then the destination is expanded automatially upon discovering source FlexGroup expansion. A scheduled update is the trigger point for auto expand. If specified as false, destination will not be expanded automatically. This parameter is valid only for FlexGroup relationships. If the parameter is not specified, auto expansion will be enabled on FlexGroup relationships. This parameter is only available on Data ONTAP 9.3 or later.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<policy>  =>   B<sm-policy, optional>

=begin html

<br>Specifies the name of the SnapMirror policy that applies to this relationship.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Specifies the name of the cron schedule, used to update the SnapMirror relationship.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



=over 2

=item * I<tries>  =>   B<string, optional>

=begin html

<br>Specifies the maximum number of times to attempt each manual or scheduled transfer for a SnapMirror relationship. The default is eight times. Note: You can set the tries option to zero (0) to disable manual and scheduled updates for the SnapMirror relationship. This parameter is only relevant on Data ONTAP 8.1 operating in Cluster-Mode. On Data ONTAP 8.2 operating in Cluster-Mode, the maximum number of times to attempt a transfer is an attribute of the SnapMirror policy. Therefore the value of this parameter is ignored.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>If this optional parameter is specified, designates the managing Vserver. The managing Vserver is authorized to use snapmirror commands to manage the SnapMirror relationship. The vserver option is currently a reserved option.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-modify-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-modify-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_promote

[B<Family:> cluster, vserver]


=begin html

The snapmirror-promote API performs a failover to the destination volume of a load-sharing SnapMirror relationship. This API changes the destination volume from a load-sharing volume to a read-write volume and makes the destination volume assume the identity of the source volume. The API then destroys the original source volume. The destination volume must be a load-sharing volume. However, you can still perform 'snapmirror-promote' on a destination load-sharing volume that has been left in read-write state by a previously failed promote operation. You must specify the destination endpoint when using snapmirror-promote. Note: The source volume and destination volume must be on the same Vserver for the promote to work. Client accesses are redirected from the original source volume to the promoted destination volume. The view clients see on the promoted destination volume is the latest transferred Snapshot copy, which might lag behind the view clients had of the original source volume before the promote. The SnapMirror relationship is usually deleted as part of the promotion process. This is not true for a set of load-sharing mirrors that contain more than one destination volume. In this case, the promoted destination volume becomes the new source volume to the set of load-sharing mirrors. It is possible that the original source volume is the source of multiple SnapMirror relationships. For such a configuration, the promoted destination volume becomes the new source volume of the other SnapMirror relationships. The snapmirror-promote API fails if a SnapMirror transfer is in progress for any SnapMirror relationship involving the original source volume.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_promote_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-promote-iter API performs failover for one or more SnapMirror relationships.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-promote-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-promote-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_protect

[B<Family:> cluster, vserver]


=begin html

The snapmirror-protect API protects the specified list of volumes. The snapmirror-protect API must be used from the destination cluster. It is only supported for FlexVol endpoints. It is not supported for FlexGroups, FlexGroup constituents, Infinite Volumes, Infinite Volume constituents, Vserver endpoints, or non-Data ONTAP endpoints. This API is available in Data ONTAP 9.3 and later. A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<auto-initialize>  =>   B<boolean, optional>

=begin html

<br>Specifies whether or not an initialize should be started after each SnapMirror relationship is created. The default value for this parameter is true.

=end html

=back



=over 2

=item * I<destination-volume-prefix>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume name prefix.

=end html

=back



=over 2

=item * I<destination-volume-suffix>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume name suffix.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<xc-vs-name, optional>

=begin html

<br>Specifies the destination Vserver to be used for protection.

=end html

=back



=over 2

=item * I<path-list>  =>   B<snapmirror-path[]>

=begin html

<br>Specifies the list of source volume paths to be protected.

=end html

=back



=over 2

=item * I<policy>  =>   B<sm-policy>

=begin html

<br>Specifies the name of the SnapMirror policy for the SnapMirror relationships.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Specifies the name of the cron schedule for the SnapMirror relationships.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror_quiesce

[B<Family:> cluster, vserver]


=begin html

Disables future transfers to a SnapMirror destination. If there is no transfer in progress, the SnapMirror relationship becomes 'Quiesced'. If there is a transfer in progress, the SnapMirror relationship becomes 'Quiescing' until the transfer completes. If the current transfer aborts, it will be treated like a future transfer and will not restart. When a SnapMirror relationship is quiesced, it remains in that state across reboots and fail-overs. The relationship must exist on the destination and you must specify the destination endpoint when using snapmirror-quiesce. The destination end point could be a: <ul> <li> Volume in case of a volume level SnapMirror relationship <li> Vserver in case of a Vserver level SnapMirror relationship on Data ONTAP 8.3 or later. <li> An AltaVault endpoint on Data ONTAP 9.1 or later. <li> A SolidFire endpoint on Data ONTAP 9.3 or later. </ul> On Data ONTAP 8.1 operating in Cluster-Mode, if applied to a load-sharing (LS) SnapMirror relationship, all the relationships in the set will be quiesced. This API must be issued from the destination storage system on Data ONTAP operating in 7-Mode, on the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, and the destination Vserver on Data ONTAP 8.2 or later operating in Cluster-Mode.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster of the SnapMirror relationship. The destination Vserver and destination volume must also be specified if using this parameter. This parameter is not supported if the destination is a non-Data ONTAP endpoint.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault destination endpoint. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire destination endpoint. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, when specifying a destination endpoint, you must use either the destination location, or the destination cluster, destination Vserver, and destination volume or the destination Vserver. This parameter is mandatory on Data ONTAP 7-mode This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory for relationship with volumes as endpoints if destination-location is not specified.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the destination Vserver of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination volume. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory if destination-location is not specified.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source endpoint. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire source endpoint. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, When specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume or the source Vserver.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source volume. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the SnapMirror operation. This field is only returned by Data ONTAP 8.3 or later. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid.

=end html

=back



=head2 snapmirror_quiesce_iter

[B<Family:> cluster, vserver]


=begin html

Disables future transfers for one or more SnapMirror relationships.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-quiesce-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-quiesce-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_release

[B<Family:> cluster, vserver]


=begin html

The snapmirror-release API removes a SnapMirror relationship on the source endpoint. It unlocks and cleanups the snapshots pertaining to the relationship. It does not destroy any volume. You must specify the destination endpoint when using snapmirror-release. The destination end-point could be a: (a) Volume for a volume level relationship (b) Vserver for a Vserver SnapMirror relationship on Data ONTAP 8.3 or later. Unless relationship-info-only is specified, this operation will fail if it is unable to reach the source volume and clean up snapshots. On Data ONTAP 8.3 or later, if operated on a Vserver SnapMirror relationship, relationships will be removed for all the volumes belonging to the Vserver. On Data ONTAP 8.2 or later operating in Cluster-Mode, this API must be executed on the source Vserver or source cluster following the deletion of the relationship on the destination Vserver or destination cluster. It is possible to issue snapmirror-release on the source Vserver without deleting the relationship on the destination Vserver. However, the relationship will continue to exist because the destination is the authority. The relationship will reappear on the source on the next transfer. On Data ONTAP operating in 7-Mode, this API must be issued on the source storage system. On Data ONTAP 8.2 or later operating in Cluster-Mode, this API must be issued on the source Vserver if operating in Vserver context and on the source cluster if operating in a cluster context. This API is not supported on Data ONTAP 8.1 operating in Cluster-Mode, or Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. This API is not supported for relationships with non-Data ONTAP endpoints.

=end html



B<Inputs>

=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, when specifying a destination endpoint, you must use either the destination location, or destination Vserver and destination volume or the destination Vserver. This parameter is mandatory on Data ONTAP operating in 7-mode This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume of the SnapMirror relationship. If using this parameter, the destination Vserver must also be specified. This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the destination Vserver of the SnapMirror relationship. If using this parameter, the destination volume must also be specified. This parameter is mandatory if destination-location is not specified.

=end html

=back



=over 2

=item * I<relationship-id>  =>   B<string, optional>

=begin html

<br>Specifies the relationship unique identifier of the SnapMirror relationship.

=end html

=back



=over 2

=item * I<relationship-info-only>  =>   B<boolean, optional>

=begin html

<br>If relationship-info-only is set to true then only relationship information is removed. By default it is false.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, When specifying a source endpoint, you must use either the source location, or the source Vserver, and source volume or the source Vserver.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. If using this parameter, the source Vserver must also be specified:

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. If using this parameter, the source volume must also be specified.

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the SnapMirror operation. This field is only returned by Data ONTAP 8.3 or later.

=end html

=back



=head2 snapmirror_release_iter

[B<Family:> cluster, vserver]


=begin html

releases one or a group of SnapMirror relationships.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-destination-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<relationship-info-only>  =>   B<boolean, optional>

=begin html

<br>If relationship-info-only is set to true then only relationship information is removed. By default it is false.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-release-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-release-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_restore

[B<Family:> cluster, vserver]


=begin html

The snapmirror-restore API restores either the entire contents of a selected Snapshot copy or selected files or LUNs of a selected Snapshot copy from the source volume to the active file system (AFS) of the destination volume. It is not supported for FlexGroup SnapMirror relationships. <p> The snapmirror-restore API creates a temporary SnapMirror restore relationship. For this reason the destination volume cannot be the destination volume of another SnapMirror relationship. The temporary restore relationship is deleted after the operation completes successfully. <p> When restoring the entire contents of a Snapshot copy the following applies. <ul> <li>If the destination volume is an empty data protection volume, the snapmirror-restore API performs a baseline restore. The baseline restore transfers the contents of the selected Snapshot copy from the source volume to the destination volume. <li>If the destination volume is read-write an incremental restore is performed. A read-write destination volume must have at least one Snapshot copy which also appears on the source volume. <p> A read-write destination volume is converted to a data-protection volume for the duration of the operation. When the destination volume is converted to a data-protection volume the latest Snapshot copy on destination volume is made the exported Snapshot copy. Note, that any data written to the destination volume since the last Snapshot copy is lost during this operation. To save the contents of the AFS on the destination volume, stop all client access and create a new Snapshot copy before starting this operation. <p> During an incremental restore a common Snapshot copy is selected. The Snapshot copy chosen as the common Snapshot copy must be on the source and destination volumes. The contents of the common Snapshot copy on the destination volume are copied to the AFS of the destination volume. Then the contents of the Snapshot copy to be restored are transferred from the source volume to the destination volume. </ul> <p> The destination volume is converted to a read-write volume after the contents of the Snapshot copy have been transferred to the AFS of the destination volume. <p> If the destination volume is not an empty data protection volume or a read-write volume with at least one Snapshot copy which also appears on the source volume, the command fails. <p> Unless 'source-snapshot' is specified the most recent Snapshot copy on the source volume is restored. <p> When restoring a list of files or LUNs of a Snapshot copy the following applies. <p> The destination volume must be a read-write volume and the state of the volume is not changed by the restore operation. <P> Use the 'file-list' parameter to indicate the files or LUNs to be restored. Access to the files or LUNs being restored on the destination volume is restricted during the operation. <p> If the file or LUN to which data is to be restored does not exist in the destination volume's AFS it will be created. When creating a file or LUN in the destination AFS, all directories in the path of the file or LUN being restored must exist and for a LUN the parent directory must also be the root of the destination volume or the root of a Qtree in the destination volume. <p> The 'source-snapshot' parameter is required when restoring a list of files or LUNs. Files or LUNs to be restored must exist in the source Snapshot copy. <p> If the file or LUN being restored exists in the destination volume's AFS but is not the same file or LUN as in the source Snapshot copy, the contents of the file or LUN in the destination volume AFS will be overwritten but the file or LUN will retain its inode and for a LUN its identity as well. If the file or LUN being restored exists in the destination volume AFS it must be the same type as the file or LUN in the source Snapshot copy. Overwriting a file with a LUN or LUN with a file is not supported. <p> The 'create-check-snapshot' parameter is supported only when restoring files or LUNs and should be used only if the contents of the files or LUNs restored are to be verified using the 'snapmirror-check' API. <p> This API may be used to restart a failed snapmirror-restore operation. <p> This API may be used to terminate an aborted or failed snapmirror-restore operation by specifying the 'clean-up-failure' parameter set to 'true'. Terminating an aborted or failed snapmirror-restore operation deletes any residual temporary restore relationship. <p> Terminating an operation restoring the entire contents of a Snapshot copy converts the destination volume back to being read-write if the destination volume was read-write prior to the initial snapmirror-restore operation while removing any data transferred or copied during the snapmirror-restore operation. <p> On Data ONTAP 9.1, only the SnapMirror source can be an AltaVault endpoint and the destination must be a Data ONTAP volume. <p> Terminating an operation restoring files or LUNs of a Snapshot copy deletes any files whose contents were partially restored but does not delete partially restored LUNs. Access restriction to the partially restored LUNs is not removed. Such a LUN may be deleted using the 'lun-destroy' API with the 'destroy-fenced-lun' parameter. A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<cg-item-mappings>  =>   B<cg-item-mapping[], optional>

=begin html

<br>Consistency Group Item Mappings

=end html

=back



=over 2

=item * I<clean-up-failure>  =>   B<boolean, optional>

=begin html

<br>Use this parameter with the value of 'true' to recover from an aborted or failed restore operation. If the destination volume was read-write prior to the failed or aborted restore operation, it is converted back to read-write if necessary while removing all data transferred or copied during the restore operation. Any residual temporary restore relationship is also removed from the destination Vserver. An attempt is made to remove any residual temporary restore relationship from the source Vserver. The default value for this parameter is 'false'.

=end html

=back



=over 2

=item * I<create-check-snapshot>  =>   B<boolean, optional>

=begin html

<br>If this parameter is specified with the value of 'true' a Snapshot copy is created on the destination volume. The purpose of this Snapshot copy is for verifying the contents of files or LUNs restored using the 'snapmirror-check' API. The name of the Snapshot copy created is of the form 'snapmirrorCHK.&lt;destination volume Vserver UUID&gt;.&lt;destination volume msid&gt;.&lt;time_stamp&gt;'. Once the Snapshot copy is no longer needed for verifying data it is the responsibility of the user to delete the Snapshot copy. This parameter is only available on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul>

=end html

=back



=over 2

=item * I<disable-storage-efficiency>  =>   B<boolean, optional>

=begin html

<br>The default behavior of restore is to preserve storage efficiency when possible. Use this parameter with a value of 'true' to turn off storage efficiency for data transferred over the wire and written to the destination volume. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<restore-file-list>  =>   B<snapmirror-file-path[], optional>

=begin html

<br>Specifies the files or LUNs of the Snapshot copy to be restored and the location to which the files or LUNs are restored in the active file system (AFS) on the destination volume. May contain specifications for up to 8 files or LUNs. Specification for each file or LUN consists of a source-path and an optional destination-path. Source-path is required and is the path of the file from the root of the source Snapshot copy, e.g. /dira/file1 or /lun1. The source path does not include the Snapshot name nor the source volume name. The path to which data is restored in the destination volume's AFS is the same as the path specified by source-path unless an optional destination-path is specified. Destination-path begins with the @ symbol followed by the path of the file from the root of the destination volume, e.g. @ /file1 or @ /dira/lun1. Source-paths and destination-paths are separate entities in the list of paths. A destination-path is associated with the source-path that precedes it. Example: &lt;snapmirror-file-path&gt;/file1&lt;/snapmirror-file-path&gt; will restore /file1 to the same path on the destination volume's AFS while &lt;snapmirror-file-path&gt;/file1&lt;/snapmirror-file-path&gt; &lt;snapmirror-file-path&gt; @ /dst_file1&lt;/snapmirror-file-path&gt; will restore the data to /dst_file1 on the destination volume's AFS. This parameter is only available on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot from the source to be restored.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul>

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<sm-transfer-priority-enum, optional>

=begin html

<br>Specifies the priority at which the transfer runs. Possible values are: 'normal', and 'low'. The default value for this parameter is 'normal'. Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html

=back



=over 2

=item * I<tries>  =>   B<string, optional>

=begin html

<br>Specifies the total number of attempts to transfer data. Valid input is a positive integer or 'unlimited'. The default is '8'.

=end html

=back



=over 2

=item * I<use-network-compression>  =>   B<boolean, optional>

=begin html

<br>Specifies whether network compression is used for transfer of data. The default value is 'false'. This parameter is only available on Data ONTAP 8.3 or later. This parameter is not supported for relationships with non-Data ONTAP endpoints.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror_resume

[B<Family:> cluster, vserver]


=begin html

Enables future transfers for a SnapMirror relationship that has been quiesced. If there is a scheduled transfer, it will be triggered on the next schedule. If there is a restart checkpoint, it will be re-used if possible. On Data ONTAP Cluster-Mode, If applied on a load-sharing SnapMirror relationship, transfers will resume for all the relationships of the set. With Data ONTAP 8.3 or later, if executed on a Vserver SnapMirror relationship, transfers will resume for all the volumes belonging to the Vserver. When a quiesced SnapMirror relationship is resumed, it remains in that state across reboots and fail-overs. The relationship must exist on the destination and you must specify the destination end point when using snapmirror-resume. The destination end-point could be a: (a) Volume for a volume level relationship (b) Vserver for a Vserver SnapMirror relationship on Data ONTAP 8.3 or later. (c) Non-Data ONTAP destination on Data ONTAP 9.1 or later. This API must be issued on the destination storage system on Data ONTAP operating in 7-Mode, on the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, and on the destination Vserver on Data ONTAP 8.2 or later operating in Cluster-Mode.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster of the SnapMirror relationship. The destination Vserver and destination volume must also be specified if using this parameter. This parameter is not supported if the destination is a non-Data ONTAP endpoint.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault destination endpoint. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire destination endpoint. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, when specifying a destination endpoint, you must use either the destination location, or the destination cluster, destination Vserver, and destination volume or the destination Vserver. This parameter is mandatory on Data ONTAP operating in 7-mode. This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the destination Vserver of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination volume. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory if destination-location is not specified.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source endpoint. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire source endpoint. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, When specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume or the source Vserver.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. The If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source volume. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<result-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the SnapMirror operation. This field is only returned by Data ONTAP 8.3 or later. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid.

=end html

=back



=head2 snapmirror_resume_iter

[B<Family:> cluster, vserver]


=begin html

Enables future transfers for one or more SnapMirror relationships.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-resume-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-resume-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_resync

[B<Family:> cluster, vserver]


=begin html

Re-establishes a mirroring relationship between <ul> <li> A source volume and a destination volume. <li> A source Vserver and a destination Vserver in case of a Vserver Snapmiror relationship on Data ONTAP 8.3 or later. </ul> <p> On Data ONTAP operating in Cluster-Mode this API is usually used on existing SnapMirror relationships, but it can be used, for data protection relationships only, to create a SnapMirror relationship in addition to performing the resync operation. <p> Typically, the snapmirror-resync API is executed in the following cases: <ul> <li> The destination mirror is broken (that is, the destination volume is a read-write volume and no longer a data protection mirror). After the snapmirror-resync API completes, the destination volume is made a data protection mirror and the mirror can be manually updated or scheduled for updates. <li> A snapmirror-update API failed because the required common Snapshot copy was deleted on the source volume. </ul> Typically, for a Vserver SnapMirror relationship, a resync is executed when the Vserver SnapMirror relationship is broken-off and the destination Vserver is of subtype default. It establishes the Vserver level relationship by <ul> <li> Creating new volumes at the destination. (volumes are present at the source Vserver but not present at the destination Vserver) <li> Creating volume level SnapMirror relationships. <li> Initializing the newly created volume relationships. <li> Performing a resync for volumes which have common snapshots. </ul> The destination Vserver after resync, is of sub-type dp-destination. After the operation completes, the destination volume is made a data protection mirror and the mirror can be manually updated or scheduled for updates. <b>Attention:</b> The snapmirror-resync API can cause data loss on the destination volume because the API can remove the exported Snapshot copy on the destination volume. <p> The default behavior of the snapmirror-resync API is defined as follows: <ul> <li> Finds the most recent common Snapshot copy between the source and destination volumes, removes Snapshot copies on the destination volume that are newer than the common Snapshot copy and mounts the destination volume as a DP volume with the common Snapshot copy as the exported Snapshot copy. <li> For data protection and extended data protection relationships with policy type other than vault, takes a Snapshot copy of the source volume to capture the current image and transfers Snapshot copies that are newer than the common Snapshot copy from the source volume to the destination volume. For extended data protection relationships, transfers Snapshot copies newer than the common Snapshot copy according to the relationship policy, i.e., Snapshot copies will match rules associated with the policy as defined by the snapmirror-policy API. For relationships associated with the policy type of async-mirror or mirror-vault, the snapmirror-resync API first takes a Snapshot copy of the source volume and includes it in the Snapshot copies selected for transfer. </ul> On Data ONTAP 8.2 or later operating in Cluster-Mode, the snapmirror-resync API supports an optional parameter 'preserve'. The parameter 'preserve' is only supported for extended data protection relationships with policy type mirror-vault or vault. When used, the parameter 'preserve' changes the behavior of the snapmirror-resync API. The changed behavior can be described as follows: <ul> <li> Finds the most recent common Snapshot copy between the source and destination volumes, preserves all Snapshot copies on the destination volume that are newer than the common Snapshot copy, and mounts the destination volume as a DP volume with the common Snapshot copy as the exported Snapshot copy. <li> Performs a local rollback transfer to make a copy of the common Snapshot copy on the destination volume and establish it as the latest Snapshot copy on the destination volume. The command then transfers all Snapshot copies that are newer than the common Snapshot copy, from the source volume to the destination volume. The command only transfers Snapshot copies that match the relationship's policy, i.e., Snapshot copies will match rules associated with the policy as defined by the snapmirror-policy APIs. </ul> The snapmirror-resync API fails if the destination volume does not have a Snapshot copy in common with the source volume. <p> On Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode, a job is spawned to operate for the SnapMirror relationship and the job id is returned. The progress of the operation can be tracked using the job APIs. <p> On Data ONTAP 8.2 or later operating in Cluster-Mode, you can track the progress of the operation using the snapmirror-get API except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <p> On Data ONTAP 8.3 or later result-operation-id is returned. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid. This operation-id appears in the current-operation-id field returned by the snapmirror-get API as long as the operation is active. <p> On Data ONTAP operating in 7-Mode, the update is asynchronously handled, and there is no guarantee that it succeeds. This requires that a schedule in /etc/snapmirror.conf is set for the destination. <p> The API must be issued on the destination storage system on Data ONTAP operating in 7-Mode, on the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, and on the destination Vserver on Data ONTAP 8.2 or later operating in Cluster-Mode. <p> With Data ONTAP 9.1, this API can be used to resync a Data ONTAP source volume and an AltaVault destination. 1. When an AltaVault destination is specified, the source must be a Data ONTAP volume. 2. An AltaVault source cannot be specifed for resync. <p> With Data ONTAP 9.3, this API can be used to resync a Data ONTAP volume and a SolidFire endpoint. 1. When a SolidFire endpoint is specified, the other side of the SnapMirror relationship must be a Data ONTAP volume.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster of the SnapMirror relationship. The destination Vserver and destination volume must also be specified if using this parameter. This parameter is not supported if the destination is a non-data ONTAP endpoint.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. </ul> This format may change in the future. On Data ONTAP operating in Cluster-Mode, when specifying a destination endpoint, you must use either the destination location, or the destination cluster, destination Vserver, and destination volume or the destination Vserver. This parameter is mandatory on Data ONTAP operating in 7-mode This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the destination Vserver of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination volume. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory if destination-location is not specified.

=end html

=back



=over 2

=item * I<is-auto-expand-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if the FlexGroup SnapMirror relationship and its destination FlexGroup should be auto-expanded if the source FlexGroup is expanded. This parameter is supported only for FlexGroup SnapMirror relationships. If the resync is creating a new SnapMirror relationship, the default value is true. If it is not creating a new relationship, if a value is specified, it must match the current value for the existing relationship. If the parameter is not specified, the existing value will be retained. This parameter is only supported on Data ONTAP 9.3. or later.

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. On Data ONTAP operating in Cluster-Mode, the max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<preserve>  =>   B<boolean, optional>

=begin html

<br>This parameter is only available for extended data protection relationships with policy type as vault or mirror-vault. The default value is false which means all snapshots on the destination that are newer than the latest common snapshot will be deleted. If preserve is specified, newer snapshots are retained. If preserve is specified for any other relationships the API will fail. <p>This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode and for extended data protection relationships with policy type as vault or mirror-vault. <p>This parameter is not supported for relationships with non-Data ONTAP endpoints.

=end html

=back



=over 2

=item * I<quick-resync>  =>   B<boolean, optional>

=begin html

<br>If true, the resync time is reduced because the resync does not incur storage efficiency overhead before the transfer of new data. Specifying this parameter is recommended if the source of the resync does not have volume efficiency enabled or if reducing resync time is more important than preserving all possible storage efficiency. When this parameter is specified, resync does not preserve the storage efficiency of the new data with existing data over the wire and on the destination. The default is false. <p>This parameter is not supported for data protection and load-sharing relationships. <p>This parameter only applies on Data ONTAP 8.3 or later. <p>This parameter is not supported for relationships with non-Data ONTAP endpoints.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. </ul> This format may change in the future. On Data ONTAP Cluster-Mode when specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume or the source Vserver. On Data ONTAP operating in 7-Mode, If the source-location is not specified, then the source in /etc/snapmirror.conf for the destination path is used.

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Designates the source snapshot to use for a qtree update on Data ONTAP operating in 7-Mode, and the snapshot on the source volume to use for the transfer on Data ONTAP 8.2 or later operating in Cluster-Mode. <p>For data protection mirror relationships and extended data protection relationships with policy type async-mirror, Data ONTAP Cluster-Mode does not create a new Snapshot copy. It will use the specified Snapshot copy as if it were the most recent one; that is, all copies between the most recent common one and the specified one are transferred, but no copies newer than the specified one are transferred. <p>For extended data protection relationships with policy type vault or mirror-vault, Data ONTAP Cluster-Mode does not create a new Snapshot copy. It transfers the specified Snapshot copy instead of the ones that match its policy's rules. <p>This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source volume. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<string, optional>

=begin html

<br>Specifies the priority at which the transfer runs. Possible values are: "normal", and "low". The default value is the value specified in the snapmirror policy which is associated with the relationship. <p>This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error. This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error. This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job. This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode. This parameter should be used to monitor the transfer progress. But, on Data ONTAP 8.2 operating in Cluster-Mode, it should be ignored if the relationship-control-plane is not 'v1'. The snapmirror-get API should be used to monitor the progress of the transfer.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the SnapMirror operation. This field is only returned by Data ONTAP 8.3 or later. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed". This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=head2 snapmirror_resync_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-resync-iter API establishes or reestablishes one or more SnapMirror relationships between a source and a destination endpoint. This API is not supported on Infinite Volume constituents. On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating Cluster-Mode (The relationship-control-plane field is set to 'v1'), A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<is-auto-expand-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Auto Expand Enabled

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred between clusters. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<preserve>  =>   B<boolean, optional>

=begin html

<br>This parameter is only available for extended data protection relationships with policy type as vault or mirror-vault. The default value is false which means all Snapshot copies on the destination that are newer than the latest common Snapshot copy will be deleted. If preserve is specified, newer Snapshot copies are retained. If preserve is specified for any other relationships the API will fail. </p><p> This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode and for extended data protection relationships with policy type as vault or mirror-vault.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<quick-resync>  =>   B<boolean, optional>

=begin html

<br>If true, the resync time is reduced because the resync does not incur storage efficiency overhead before the transfer of new data. Specifying this parameter is recommended if the source of the resync does not have volume efficiency enabled or if reducing resync time is more important than preserving all possible storage efficiency. When this parameter is specified, resync does not preserve the storage efficiency of the new data with existing data over the wire and on the destination. The default is false. This parameter is not supported for data protection and load-sharing relationships. This parameter only applies on Data ONTAP 8.3 or later.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on or scheduled to be worked on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Designates the source Snapshot copies to use for a qtree update on Data ONTAP operating in 7-Mode, and the Snapshot copy on the source volume to use for the transfer on Data ONTAP 8.2 or later operating in Cluster-Mode. </p><p> For data protection mirror relationships and extended data protection relationships with policy type async-mirror, Data ONTAP Cluster-Mode does not create a new Snapshot copy. It will use the specified Snapshot copy as if it were the most recent one; that is, all copies between the most recent common one and the specified one are transferred, but no copies newer than the specified one are transferred. </p><p> For extended data protection relationships with policy type vault or mirror-vault, Data ONTAP Cluster-Mode does not create a new Snapshot copy. It transfers the specified Snapshot copy instead of the ones that match its policy's rules. </p><p> This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<sm-transfer-priority-enum, optional>

=begin html

<br>Specifies the priority at which the transfer runs. The default value is the value specified in the snapmirror policy which is associated with the relationship. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-resync-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed or scheduled to be processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-resync-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed or scheduled to be processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_snapshot_owner_create

[B<Family:> vserver]


=begin html

Add an owner to preserve a Snapshot copy for a SnapMirror mirror-to-vault cascade configuration.

=end html



B<Inputs>

=over 2

=item * I<snapshot>  =>   B<snapshot-id>

=begin html

<br>Snapshot Copy Name

=end html

=back



=over 2

=item * I<snapshot-owner-name>  =>   B<snapshot-owner-name, optional>

=begin html

<br>Specifies the name of the owner to preserve a Snapshot copy for a SnapMirror mirror-to-vault cascade configuration. An owner can contain letters, numbers, and the underscore character (_), and can be at most 32 characters long. If no owner is specified, the system will assign an internal default owner to preserve the Snapshot copy.

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_snapshot_owner_destroy

[B<Family:> vserver]


=begin html

Delete an owner used to preserve a Snapshot copy for a SnapMirror mirror-to-vault cascade configuration.

=end html



B<Inputs>

=over 2

=item * I<snapshot>  =>   B<snapshot-id>

=begin html

<br>Snapshot Copy Name

=end html

=back



=over 2

=item * I<snapshot-owner-name>  =>   B<snapshot-owner-name, optional>

=begin html

<br>The specified owner is removed from the Snapshot copy. If no owner name is provided, the system will look for and remove the internal default name for the owner. A specified owner of '*' removes all owners from the Snapshot copy.

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_snapshot_owner_get

[B<Family:> cluster, vserver]


=begin html

List all owners used to preserve a Snapshot copy for a SnapMirror mirror-to-vault cascade configuration.

=end html



B<Inputs>

=over 2

=item * I<snapshot>  =>   B<snapshot-id>

=begin html

<br>Name of the snapshot.

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Name of the volume to which this snapshot belongs.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Name of the vserver to which this volume belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<snapshot-owner-names>  =>   B<snapshot-owner-name[]>

=begin html

<br>Returns the owner(s) used to preserve a Snapshot copy for a SnapMirror mirror-to-vault cascade configuration.

=end html

=back



=head2 snapmirror_snapshot_owner_get_snapshots

[B<Family:> cluster, vserver]


=begin html

List all Snapshot copies that are preserved for a SnapMirror mirror-to-vault cascade configuration.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Name of the volume to which this snapshot belongs.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name>

=begin html

<br>Name of the vserver to which this volume belongs.

=end html

=back



B<Outputs>

=over 2

=item * I<snapshots>  =>   B<snapshot-id[]>

=begin html

<br>Returns the Snapshot copies that are preserved using owners for a SnapMirror mirror-to-vault cascade configuration.

=end html

=back



=head2 snapmirror_update

[B<Family:> cluster, vserver]


=begin html

Updates the destination endpoint of the SnapMirror relationship. The update is asynchronously handled, and there is no guarantee that it will succeed. <p> On Data ONTAP operating in 7-Mode the snapmirror-get-status API can be used to check the status of the update. The API must be issued on the destination storage system. <p> On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode and for relationships using a control plane compatible with Data 8.1 operating Cluster-Mode (relationship-control-plane set 'v1'), a job will be spawned to operate on the SnapMirror relationship, and the job id will be returned. The progress of the job can be tracked using the job APIs. <p> On Data ONTAP 8.2 or later operating in Cluster-Mode, you can track the progress of the operation using the snapmirror-get API, except for relationships using a control plane compatible with Data ONTAP 8.1 operating Cluster-Mode. <p> On Data ONTAP 8.3 or later result-operation-id is returned. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid. This operation-id appears in the current-operation-id field returned by the snapmirror-get API as long as the operation is active. <p> With Data ONTAP 8.3 or later, this API can be used to update a relationship between two volumes or two Vservers. 1. When volume names are specified, this API updates a volume level relationship. 2. When Vserver names without volume names are specified, this API will update a relationship between two Vservers. <p> With Data ONTAP 9.1, this API can be used to update a relationship between a Data ONTAP source volume and an AltaVault destination endpoint. 1. When an AltaVault destination is specified, the source must be a Data ONTAP volume. 2. An AltaVault source cannot be specifed for update. <p> With Data ONTAP 9.3, this API can be used to update a relationship between a Data ONTAP volume and a SolidFire endpoint. 1. When a SolidFire endpoint is specified, the other side of the SnapMirror relationship must be a Data ONTAP volume. <p> You must specify the destination endpoint when using snapmirror-update. <p> The API makes the destination endpoint or non-Data ONTAP destination an up-to-date mirror of the source endpoint. <p> This API must be used from the destination storage system on Data ONTAP 7-Mode, or from the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, and from the destination Vserver on Data ONTAP 8.2 or later operating in Cluster-Mode. <p> On Data ONTAP operating in 7-Mode, if the destination endpoint is a volume, the volume must be in the restricted state. If the destination endpoint is a qtree, the qtree must not already exist. <p> On Data ONTAP Cluster-Mode if the destination volume or non-Data ONTAP endpoint is empty, the snapmirror-update API will fail. The snapmirror-initialize API must be called to perform the baseline transfer before the snapmirror-update can be called. <p> For data protection relationships, the snapmirror-update API makes the destination volume an up-to-date mirror of the source volume with the following steps:</p> <ul> <li>If the source volume is read-write, takes a Snapshot copy on the source volume to capture the current image of the source volume. <li>Finds the most recent Snapshot copy on the destination volume and validates that the corresponding Snapshot copy is on the source. <li>Incrementally transfers Snapshot copies that are newer than the corresponding Snapshot copy to the destination volume. </ul> <p> For extended data protection relationships with policy type vault, the snapmirror-update API does not take a Snapshot copy on the source volume. For extended data protection relationships with policy type as mirror-vault, the snapmirror-update API takes a Snapshot copy on the source volume. But both of them transfer only selected Snapshot copies that are newer than the common Snapshot copy to the destination volume. Snapshot copies are selected by matching their 'snapmirror-label' with the 'snapmirror-label' of one of the rules from the corresponding SnapMirror policy associated with the SnapMirror relationship. All matching Snapshot copies are incrementally transferred to the destination volume. <p> For extended data protection relationships with policy type as vault or mirror-vault, the snapmirror-update API also manages expiration of Snapshot copies on the destination volume. It does so by deleting Snapshot copies that have exceeded the value of 'keep' for the matching rule from the corresponding SnapMirror policy associated with the SnapMirror relationship. Snapshot copies that match the same 'snapmirror-label' will be deleted in oldest-first order. <p> For data protection relationships, the parameter 'source-snapshot' is optional and allows for the transfer of Snapshot copies newer than the common Snapshot copy up to the specified 'source-snapshot'. <p> For extended data protection relationships, the parameter 'source-snapshot' is optional and allows transfer of a Snapshot copy that is older than the common Snapshot copy and/or may not be selected for transfer based on policy-based selection of an update transfer. <p> After the snapmirror-update API successfully completes, the last Snapshot copy transferred is made the new exported Snapshot copy on the destination volume. If an update to an extended data protection relationship specifies a Snapshot copy using the 'source-snapshot' parameter that is older than the common snapshot, after the snapmirror-update API successfully completes, the exported Snapshot copy on the destination volume will remain unchanged. <p> If the snapmirror-update does not finish successfully, due to a network failure or because a snapmirror-abort API was issued for example, a restart checkpoint might be recorded on the destination volume. If a restart checkpoint is recorded, the next update restarts and continues the transfer from the restart checkpoint. For extended data protection relationships, the next update will restart and continue the old transfer regardless of whether it is a matching Snapshot copy or not. <p> On Data ONTAP 8.1 operating in Cluster-Mode, you can use the snapmirror-update API to update a specific load-sharing mirror that lags behind up-to-date destination volumes in the set of load-sharing mirrors. An update to the lagging load-sharing mirror should bring it up to date with the other up-to-date destination volumes in the set of load-sharing mirrors. Note: You might have to run the snapmirror-update API more than once if the command does not finish before the next scheduled update of the set of load-sharing mirrors.

=end html



B<Inputs>

=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster of the SnapMirror relationship. The destination Vserver and destination volume must also be specified if using this parameter. This parameter is not supported if the destination is a non-Data ONTAP endpoint.

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault destination endpoint. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire destination endpoint. </ul> This format may change in the future. On Data ONTAP Cluster-Mode, when specifying a destination endpoint, you must use either the destination location, or the destination cluster, destination Vserver, and destination volume or the destination Vserver. On Data ONTAP 7-Mode, if the destination endpoint is a volume, the volume must be in the restricted state. If the destination endpoint is a qtree, the qtree must not already exist. This parameter is mandatory on Data ONTAP 7-mode This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the destination volume of the SnapMirror relationship. This paramter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the destination Vserver of the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the destination volume. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> This parameter is mandatory if destination-location is not specified.

=end html

=back



=over 2

=item * I<enable-storage-efficiency>  =>   B<boolean, optional>

=begin html

<br>Enables storage efficiency on an extended data protection relationship with policy type vault which is not currently storage efficient. Storage efficient in this context refers to both over-the-wire efficiency and how the data is written to the destination volume. <p>The transfer fails if it cannot be done storage efficiently. If the transfer succeeds, storage efficiency will be enabled on this extended data protection relationship and all future transfers will continue to be storage efficient for as long as possible, but will not fail should those transfers not be storage efficient. <p>The default value for this parameter is false. Note that a false value for this parameter only means that storage efficiency will not attempt to be switched on. If storage efficiency is currently enabled, providing this value as false will not disable storage efficiency. <p>This paramter is not supported for relationships with non-Data ONTAP endpoints.

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. On Data ONTAP operating in Cluster-Mode, the max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] On Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; On Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire source. </ul> This format may change in the future. On Data ONTAP Cluster-Mode when specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume or the source Vserver. On Data ONTAP 7-Mode, If the source-location is not specified, then the source in /etc/snapmirror.conf for the destination path is used.

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy on the source to use as the basis for the update. It is used for updates to Data ONTAP 7-mode qtree relationships and Data ONTAP Cluster-Mode relationships. <p>For a qtree relationship, Data ONTAP 7-mode does not create a new Snapshot copy and transfers the specified Snapshot copy instead. <p>For data protection relationships and extended data protection relationships with policy type async-mirror, Data ONTAP Cluster-Mode does not create a new Snapshot copy. Depending on the specific policy attached, it will either transfer only the specified Snapshot copy, or it will use the specified Snapshot copy as if it were the most recent one; that is, all copies between the most recent common one and the specified one are transferred, but no copies newer than the specified one are transferred. <p>For extended data protection relationships with policy type vault or mirror-vault, Data ONTAP Cluster-Mode does not create a new Snapshot copy. It just transfers the specified Snapshot copy instead of the ones that match its policy's rules. <p>Vserver level SnapMirror relationships do not support this parameter.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. If using this parameter, the following parameters must also be specified: <ul> <li> The name of the source volume. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul>

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<string, optional>

=begin html

<br>Specifies the priority at which the transfer runs. Possible values are: "normal", and "low". The default value is the value specified in the snapmirror policy which is associated with the relationship. <p>This parameter only applies on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error. This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error. This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job. This parameter is only returned by Data ONTAP 8.1 operating in Cluster-Mode.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the SnapMirror operation. This field is only returned by Data ONTAP 8.3 or later. It only contains a valid value if the relationship control plane is ???v2???. A null UUID value (00000000-0000-0000-0000-000000000000) is returned when the field is not valid.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed". This parameter is only returned by Data ONTAP 8.1 or above operating in Cluster-Mode.

=end html

=back



=head2 snapmirror_update_iter

[B<Family:> cluster, vserver]


=begin html

The snapmirror-update-iter API updates the destination volumes of one or more SnapMirror relationships. This API is not supported on Infinite Volume constituents. On Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating Cluster-Mode (The relationship-control-plane field is set to 'v1'), A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapmirror objects match a given query. If set to true, the API will continue with the next matching snapmirror even when the operation fails for the snapmirror. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<enable-storage-efficiency>  =>   B<boolean, optional>

=begin html

<br>Enables storage efficiency on a vault relationship which is not currently storage efficient. Storage efficient in this context refers to both over-the-wire efficiency and how the data is written to the destination volume. <p> The transfer fails if it cannot be done storage efficiently. If the transfer succeeds, storage efficiency will be enabled on this vault relationship and all future transfers will continue to be storage efficient for as long as possible, but will not fail should those transfers not be storage efficient. <p> The default value for this parameter is false. Note that a false value for this parameter only means that storage efficiency will not attempt to be switched on. If storage efficiency is currently enabled, providing this value as false will not disable storage efficiency.

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching snapmirror even when the operation on a previous matching snapmirror fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of snapmirror objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-info">>

=begin html

<br>If operating on a specific snapmirror, this input element must specify all keys. If operating on snapmirror objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were not operated on due to some error. If set to false, the list of snapmirror objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapmirror objects (just keys) that were successfully operated on or scheduled to be worked on. If set to false, the list of snapmirror objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<source-snapshot>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy on the source to use as the basis for the update. It is used for updates to Data ONTAP 7-mode qtree relationships and Data ONTAP Cluster-Mode relationships. <p> For a qtree relationship, Data ONTAP 7-mode does not create a new Snapshot copy and transfers the specified Snapshot copy instead. </p><p> For data protection relationships and extended data protection relationships with policy type async-mirror, Data ONTAP Cluster-Mode does not create a new Snapshot copy. Depending on the specific policy attached, it will either transfer only the specified Snapshot copy, or it will use the specified Snapshot copy as if it were the most recent one; that is, all copies between the most recent common one and the specified one are transferred, but no copies newer than the specified one are transferred. </p><p> For extended data protection relationships with policy type vault or mirror-vault, Data ONTAP Cluster-Mode does not create a new Snapshot copy. It just transfers the specified Snapshot copy instead of the ones that match its policy's rules. </p><p> Vserver level SnapMirror relationships do not support this parameter.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<sm-transfer-priority-enum, optional>

=begin html

<br>Specifies the priority at which the transfer runs. The default value is the value specified in the snapmirror policy which is associated with the relationship. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapmirror-update-iter-info">[], optional>

=begin html

<br>Information about snapmirror objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapmirror objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapmirror objects that matched the query and were successfully processed or scheduled to be processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapmirror-update-iter-info">[], optional>

=begin html

<br>The snapmirror objects that were successfully processed or scheduled to be processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 snapmirror_update_ls_set

[B<Family:> cluster, vserver]


=begin html

The snapmirror-update-ls-set API updates destination volumes of the set of load-sharing mirrors. The API makes destination volumes, in the group of load-sharing mirrors, up-to-date mirrors of the source volume. You must specify the source endpoint when using snapmirror-update-ls-set. Separate SnapMirror transfers are performed from the source volume to each of the up-to-date destination volumes in the set of load-sharing mirrors. Load-sharing mirrors that lag behind the up-to-date destination volumes might not be updated by the snapmirror-update-ls-set API. Use the snapmirror-update API to update a lagging load-sharing mirror. A job will be spawned to operate on the snapmirror and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the source cluster of the SnapMirror relationship. The source Vserver and source volume must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship. When specifying a source endpoint, you must use either the source location, or the source cluster, source Vserver, and source volume.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the source volume of the SnapMirror relationship. The source cluster and source Vserver must also be specified if using this parameter.

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the source Vserver of the SnapMirror relationship. The source cluster and source volume must also be specified if using this parameter.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror_policy_add_rule

[B<Family:> vserver]


=begin html

Add a rule to SnapMirror policy

=end html



B<Inputs>

=over 2

=item * I<keep>  =>   B<string>

=begin html

<br>Specifies the Snapshot copy retention count.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<sm-policy>

=begin html

<br>The name of the SnapMirror policy.

=end html

=back



=over 2

=item * I<prefix>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy creation prefix name associated with the rule.

=end html

=back



=over 2

=item * I<preserve>  =>   B<boolean, optional>

=begin html

<br>Specifies whether Snapshot copy preserve is enabled.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy creation schedule name associated with the rule.

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string>

=begin html

<br>Specifies the Snapshot copy label.

=end html

=back



=over 2

=item * I<warn>  =>   B<integer, optional>

=begin html

<br>Specifies the warning threshold count.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_policy_create

[B<Family:> vserver]


=begin html

Create the specified SnapMirror Policy

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable description associated with the SnapMirror policy.

=end html

=back



=over 2

=item * I<discard-configs>  =>   B<svmdr-config-obj[], optional>

=begin html

<br>Configurations Not Replicated During Identity Preserve Vserver DR Possible values: <ul> <li> "network" - Network </ul>

=end html

=back



=over 2

=item * I<ignore-atime>  =>   B<boolean, optional>

=begin html

<br>Specifies whether incremental transfers will ignore files which have only their access time changed. Applies to SnapMirror vault relationships only.

=end html

=back



=over 2

=item * I<is-network-compression-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether network compression is enabled for transfers. The default value is 'false'.

=end html

=back



=over 2

=item * I<keep>  =>   B<string[], optional>

=begin html

<br>Specifies the Snapshot copy retention count.

=end html

=back



=over 2

=item * I<owner>  =>   B<policy-owner, optional>

=begin html

<br>The owner of the SnapMirror policy. Possible values: <ul> <li> "cluster_admin" , <li> "vserver_admin" </ul>

=end html

=back



=over 2

=item * I<policy-name>  =>   B<sm-policy>

=begin html

<br>The name of the SnapMirror policy.

=end html

=back



=over 2

=item * I<prefix>  =>   B<string[], optional>

=begin html

<br>Specifies the Snapshot copy creation prefix name associated with the rule.

=end html

=back



=over 2

=item * I<preserve>  =>   B<boolean[], optional>

=begin html

<br>Specifies whether Snapshot copy preserve is enabled, which determines the behavior when the Snapshot copy retention count is reached on the SnapMirror Vault destination.

=end html

=back



=over 2

=item * I<restart>  =>   B<sm-restart-enum, optional>

=begin html

<br>Defines the behavior of SnapMirror if an interrupted transfer exists. Applies to SnapMirror data protection relationship only. Possible values: <ul> <li> "always" , <li> "never" , <li> "default" </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the snapmirror-policy on successful creation. Default: false

=end html

=back



=over 2

=item * I<schedule>  =>   B<string[], optional>

=begin html

<br>Specifies the Snapshot copy creation schedule name associated with the rule.

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string[], optional>

=begin html

<br>Specifies the Snapshot copy label.

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<sm-transfer-priority-enum, optional>

=begin html

<br>Specifies the priority at which a SnapMirror transfer runs. 'normal' : By default every transfer in the system has this priority. These transfers are scheduled before most 'low' priority transfers. 'low': These transfers have least priority and usually are scheduled after most 'normal' priority transfers. Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html

=back



=over 2

=item * I<tries>  =>   B<string, optional>

=begin html

<br>Specifies the maximum number of times to attempt each manual or scheduled transfer for a SnapMirror relationship. Valid input is a positive integer or 'unlimited'. The default is '8'.

=end html

=back



=over 2

=item * I<type>  =>   B<sm-policy-type-enum, optional>

=begin html

<br>The type of the Snapmirror policy. This field is only applicable on Data ONTAP 8.3 or later. Policy type sync-mirror is not supported on Data ONTAP 8.3 or earlier. Possible values: <ul> <li> "vault" , <li> "async_mirror" , <li> "mirror_vault" , <li> "sync_mirror" </ul>

=end html

=back



=over 2

=item * I<warn>  =>   B<integer[], optional>

=begin html

<br>Specifies the warning threshold count.

=end html

=back



=over 2

=item * I<window-size-for-tdp-mirror>  =>   B<size, optional>

=begin html

<br>Window size for TDP Mirror Transfer Operations. The default size is 2MB.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"snapmirror-policy-info">, optional>

=begin html

<br>The snapmirror-policy created (keys or the entire object if requested)

=end html

=back



=head2 snapmirror_policy_delete

[B<Family:> vserver]


=begin html

Delete the specified SnapMirror Policy

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<sm-policy>

=begin html

<br>The name of the SnapMirror policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_policy_get

[B<Family:> vserver]


=begin html

Get Information about a single SnapMirror Policy

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<sm-policy>

=begin html

<br>The name of the SnapMirror policy.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapmirror-policy-info">>

=begin html

<br>The attributes of the snapmirror-policy.

=end html

=back



=head2 snapmirror_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Get Information about multiple SnapMirror Policies

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapmirror-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapmirror-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapmirror-policy object. All snapmirror-policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapmirror-policy-info">[], optional>

=begin html

<br>The list of attributes of snapmirror-policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapmirror-policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapmirror_policy_modify

[B<Family:> vserver]


=begin html

Modify the specified SnapMirror Policy

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable description associated with the SnapMirror policy.

=end html

=back



=over 2

=item * I<discard-configs>  =>   B<svmdr-config-obj[], optional>

=begin html

<br>Configurations Not Replicated During Identity Preserve Vserver DR Possible values: <ul> <li> "network" - Network </ul>

=end html

=back



=over 2

=item * I<ignore-atime>  =>   B<boolean, optional>

=begin html

<br>Specifies whether incremental transfers will ignore files which have only their access time changed. Applies to SnapMirror vault relationships only.

=end html

=back



=over 2

=item * I<is-network-compression-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether network compression is enabled for transfers. The default value is 'false'.

=end html

=back



=over 2

=item * I<keep>  =>   B<string[], optional>

=begin html

<br>Specifies the Snapshot copy retention count.

=end html

=back



=over 2

=item * I<owner>  =>   B<policy-owner, optional>

=begin html

<br>The owner of the SnapMirror policy. Possible values: <ul> <li> "cluster_admin" , <li> "vserver_admin" </ul>

=end html

=back



=over 2

=item * I<policy-name>  =>   B<sm-policy>

=begin html

<br>The name of the SnapMirror policy.

=end html

=back



=over 2

=item * I<prefix>  =>   B<string[], optional>

=begin html

<br>Specifies the Snapshot copy creation prefix name associated with the rule.

=end html

=back



=over 2

=item * I<preserve>  =>   B<boolean[], optional>

=begin html

<br>Specifies whether Snapshot copy preserve is enabled, which determines the behavior when the Snapshot copy retention count is reached on the SnapMirror Vault destination.

=end html

=back



=over 2

=item * I<restart>  =>   B<sm-restart-enum, optional>

=begin html

<br>Defines the behavior of SnapMirror if an interrupted transfer exists. Applies to SnapMirror data protection relationship only. Possible values: <ul> <li> "always" , <li> "never" , <li> "default" </ul>

=end html

=back



=over 2

=item * I<schedule>  =>   B<string[], optional>

=begin html

<br>Specifies the Snapshot copy creation schedule name associated with the rule.

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string[], optional>

=begin html

<br>Specifies the Snapshot copy label.

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<sm-transfer-priority-enum, optional>

=begin html

<br>Specifies the priority at which a SnapMirror transfer runs. 'normal' : By default every transfer in the system has this priority. These transfers are scheduled before most 'low' priority transfers. 'low': These transfers have least priority and usually are scheduled after most 'normal' priority transfers. Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html

=back



=over 2

=item * I<tries>  =>   B<string, optional>

=begin html

<br>Specifies the maximum number of times to attempt each manual or scheduled transfer for a SnapMirror relationship. Valid input is a positive integer or 'unlimited'. The default is '8'.

=end html

=back



=over 2

=item * I<warn>  =>   B<integer[], optional>

=begin html

<br>Specifies the warning threshold count.

=end html

=back



=over 2

=item * I<window-size-for-tdp-mirror>  =>   B<size, optional>

=begin html

<br>Window size for TDP Mirror Transfer Operations. The default size is 2MB.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_policy_modify_rule

[B<Family:> vserver]


=begin html

Modify a SnapMirror policy rule

=end html



B<Inputs>

=over 2

=item * I<keep>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy retention count.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<sm-policy>

=begin html

<br>The name of the SnapMirror policy.

=end html

=back



=over 2

=item * I<prefix>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy creation prefix name associated with the rule.

=end html

=back



=over 2

=item * I<preserve>  =>   B<boolean, optional>

=begin html

<br>Specifies whether Snapshot copy preserve is enabled.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy creation schedule name associated with the rule.

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string>

=begin html

<br>Specifies the Snapshot copy label.

=end html

=back



=over 2

=item * I<warn>  =>   B<integer, optional>

=begin html

<br>Specifies the warning threshold count.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapmirror_policy_remove_rule

[B<Family:> vserver]


=begin html

Remove a rule from SnapMirror policy

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<sm-policy>

=begin html

<br>The name of the SnapMirror policy.

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string>

=begin html

<br>Specifies the Snapshot copy label.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_autodelete_list_info

[B<Family:> vserver]


=begin html

Returns the current snapshot autodelete settings.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the existing volume for which we want snapshot autodelete settings

=end html

=back



B<Outputs>

=over 2

=item * I<options>  =>   B<L<"snapshot-autodelete-info">[]>

=begin html

<br>List of snapshot autodelete options for this volume.

=end html

=back



=head2 snapshot_autodelete_set_option

[B<Family:> vserver]


=begin html

Set the option named 'option-name' to the value specified by 'option-value' in the autodelete settings of the specified volume. <p> This API is not supported on FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<option-name>  =>   B<string>

=begin html

<br>Name of the option to be set. Possible values: <dl> <dt>"state" (value: "on" | "off")</dt> <dd> This option determines if the snapshot autodelete is currently enabled for the volume. Setting the option to "on" switches on the snapshot autodelete for the volume. Setting the option to "off" switches off the snapshot autodelete for the volume. </dd><br> <dt>"commitment" (value: "try" | "disrupt" | "destroy" )</dt> <dd> This option determines the snapshots which snapshot autodelete is allowed to delete to get back space. Setting this option to "try" only permits the snapshots which are not locked by data protection utilities (dump, mirroring, NDMPcopy) and data backing functionalities (volume, LUN and File clones) to be deleted. Setting this option to "disrupt" only permits the snapshots which are not locked by data backing functionalities (volume, LUN and File clones) to be deleted. Setting this option to "destroy", will destroy the data backing functionality (volume, LUN and File clones) if the backing snapshot is deleted. </dd><br> <dt>"trigger" (value: "volume" | "snap_reserve" | "(DEPRECATED)-space_reserve") </dt> <dd> This option determines the condition which starts the automatic deletion of snapshots. Setting this option to "volume" triggers automatic deletion of snapshots when the volume reaches threshold capacity and the volume's snap reserve has been exceeded. Setting the option to "snap_reserve" triggers automatic deletion of snapshots when the snap reserve of the volume reaches threshold capacity. Setting the option to (DEPRECATED)-"space_reserve" triggers automatic deletion of snapshots when the space reserved the volume reaches threshold capacity and the volume's snap reserve has been exceeded. NOTE: The option "space_reserve" is deprecated. The threshold capacity is determined by the size of the volume as given below: <ul> <li>If the volume size is less than 20 GB, the autodelete threshold is 85%.</li> <li>If the volume size is equal to or greater than 20 GB and less than 100 GB, the autodelete threshold is 90%.</li> <li>If the volume size is equal to or greater than 100 GB and less than 500 GB, the autodelete threshold is 92%.</li> <li>If the volume size is equal to or greater than 500 GB and less than 1 TB, the autodelete threshold is 95%.</li> <li>If the volume size is equal to or greater than 1 TB, the autodelete threshold is 98%.</li> </ul></dd><br> <dt>"target_free_space" (value: &lt; number &gt;)</dt> <dd> This option determines when snapshot autodelete should stop deleting snapshot. Depending on the trigger, snapshots are deleted till we reach the target free space percentage. </dd><br> <dt>"delete_order" (value: newest_first | oldest_first)</dt> <dd> This option determines if the oldest or newest snapshot is deleted first. </dd><br> <dt>"defer_delete" (value: scheduled | user_created | prefix | none) </dt> <dd> This option determines which kind of snapshots to delete in the end. Setting this option value to "scheduled" will delete the snapshots created by the snapshot scheduler last. Setting this option value to "user_created" will delete the snapshots not created by the snapshot scheduler last. Setting this option value to "prefix" will delete the snapshots matching the prefix string to be deleted last. Setting this option value to "none" will disable the above choices. </dd><br> <dt>"prefix" (value: &lt; string &gt;)</dt> <dd> This option can be set to provide the prefix string for the "prefix" value of the "defer_delete" option. The prefix string length can be 15 char long. </dd><br> <dt>"destroy_list" (value: &lt; string &gt;)</dt> <dd> A comma seperated list of services which can be destroyed if the snapshot backing that service is deleted. For 7-mode, the possible values for this option are a combination of "lun_clone", "vol_clone", "cifs_share", "file_clone" or "none". For cluster-mode, the possible values for this option are a combination of "lun_clone,file_clone" (for LUN clone and/or file clone), "lun_clone,sfsr" (for LUN clone and/or sfsr), "vol_clone", "cifs_share", or "none". Please note that "lun_clone", "file_clone" and "sfsr" individually are not valid values. Only pairs "lun_clone,file_clone" and "lun_clone,sfsr" are supported. The option "sfsr" is not supported for 7-mode. The default value is "none" for 7-mode and cluster-mode. </dd><br> </dl>

=end html

=back



=over 2

=item * I<option-value>  =>   B<string>

=begin html

<br>The value to set the named option

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume for which we want to change autodelete settings.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_create

[B<Family:> vserver]


=begin html

Create a new snapshot on a specified volume. <p> This API is not supported on Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<async>  =>   B<boolean, optional>

=begin html

<br>If true, the snapshot is to be created asynchronously. The default value is false.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable comment attached with the snapshot. The size of the comment can be at most 255 characters. This parameter is not supported on FlexGroups.

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string, optional>

=begin html

<br>A human readable SnapMirror Label attached with the snapshot. Size of the label can be at most 31 characters. This label will be applied as an attribute to the snapshot that is created and will be used by the vaulting system to identify a vaulting scheme. This parameter is not supported on FlexGroups.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of the snapshot to be created. The maximum string length is 256 characters.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which the snapshot is to be created. The volume name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_create_async

[B<Family:> vserver]


=begin html

Create a new snapshot on a specified Infinite Volume. <p> This API is not supported on flexible volumes, Infinite Volume constituents, and FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable comment attached with the snapshot. The size of the comment can be at most 255 characters.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of the snapshot to be created. The maximum string length is 256 characters.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the Infinite Volume on which the snapshot is to be created. The Infinite Volume name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapshot_delete

[B<Family:> vserver]


=begin html

Delete a snapshot on a specified volume. EBUSY is returned when the snapshot is in use. EROFS is returned when the volume is read-only. EAGAIN is returned when splitting a blockmap or reverting. <p> This API is not supported on Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<ignore-owners>  =>   B<boolean, optional>

=begin html

<br>If this field is true, snapshot will be deleted even if some other processes are accessing it. <p> The default value is false.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of snapshot to be deleted on the specified volume.

=end html

=back



=over 2

=item * I<snapshot-instance-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128 bit unique snapshot identifier expressed in the form of UUID. This field is optional and can appear together with 'snapshot' to uniquely identify a snapshot for deletion. If this field is provided, 'snapshot' is a required parameter. <p> An example of an actual UUID is: <p> 73a010ec-3d28-11df-84e8-123478563412

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which the snapshot is to be deleted.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_delete_async

[B<Family:> vserver]


=begin html

Delete a snapshot on a specified Infinite Volume. EBUSY is returned when the snapshot is in use. EROFS is returned when the Infinite Volume is read-only. EAGAIN is returned when splitting a blockmap or reverting. <p> This API is not supported on flexible volumes, Infinite Volume constituents, and FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<ignore-owners>  =>   B<boolean, optional>

=begin html

<br>If this field is true, snapshot will be deleted even if some other processes are accessing it. The default value is false.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of snapshot to be deleted on the specified Infinite Volume.

=end html

=back



=over 2

=item * I<snapshot-instance-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128 bit unique snapshot identifier expressed in the form of UUID. This field is optional and can appear together with 'snapshot' to uniquely identify a snapshot for deletion. If this field is provided, 'snapshot' is a required parameter. An example of an actual UUID is: 73a010ec-3d28-11df-84e8-123478563412

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the Infinite Volume on which the snapshot is to be deleted.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapshot_delta_info

[B<Family:> vserver]


=begin html

Returns the amount of space consumed between two snapshots or a snapshot and active filesystem. <p> This API is not supported on FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<snapshot1>  =>   B<string>

=begin html

<br>Name of snapshot to be compared with snapshot2 for space consumption calculations.

=end html

=back



=over 2

=item * I<snapshot2>  =>   B<string, optional>

=begin html

<br>Name of snapshot to be compared with snapshot1 for space consumption calculations. If the snapshot is not specified, it is assumed to be Active File System.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which the snapshot delta is to be calculated.

=end html

=back



B<Outputs>

=over 2

=item * I<consumed-size>  =>   B<integer>

=begin html

<br>Size in bytes of space changed between the 2 specified snapshots or snapshot and the active file system. Range : [0 - 2^63-1].

=end html

=back



=over 2

=item * I<elapsed-time>  =>   B<integer>

=begin html

<br>Time in seconds elapsed between the 2 specified snapshots or the snapshot and the active file system. Range : [0 - 2^31-1].

=end html

=back



=head2 snapshot_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of snapshot objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapshot-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapshot-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapshot object. All snapshot objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapshot-info">[], optional>

=begin html

<br>The list of attributes of snapshot objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapshot objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=over 2

=item * I<volume-errors>  =>   B<L<"volume-error">[], optional>

=begin html

<br>Volume Error Info

=end html

=back



=head2 snapshot_get_reserve

[B<Family:> vserver]


=begin html

Obtain the current snapshot reserve on a specified volume. Error Returns: Invalid volume name.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume that contains the snapshot reserve.

=end html

=back



B<Outputs>

=over 2

=item * I<blocks-reserved>  =>   B<integer>

=begin html

<br>The number of 1024 byte blocks that has been set aside as reserve for snapshot usage.

=end html

=back



=over 2

=item * I<percent-reserved>  =>   B<integer>

=begin html

<br>The percentage of disk space that has been set aside as reserve for snapshot usage.

=end html

=back



=head2 snapshot_get_schedule

[B<Family:> vserver]


=begin html

Obtain the current snapshot schedule on a specified volume. <p> This API is not the preferred way of obtaining snapshot schedule information in Clustered Data ONTAP. Snapshot schedule information for a given volume may be obtained in Clustered Data ONTAP by using the following steps: <ul> <li>Issue API 'volume-get-iter' and record the 'snapshot-policy' field. <li>Issue API 'snapshot-policy-get' and use the previously obtained 'snapshot-policy' field as input to find out information about all the schedules attached to the given policy. <li>Issue API 'job-schedule-get' to obtain information about each individual schedule in the given snapshot policy. </ul> <p> This API is not supported on FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>This the volume name where the snapshots are located.

=end html

=back



B<Outputs>

=over 2

=item * I<days>  =>   B<integer>

=begin html

<br>The number of snapshots taken daily to keep on line. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<hours>  =>   B<integer>

=begin html

<br>The number of snapshots taken hourly to keep on line. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<minutes>  =>   B<integer>

=begin html

<br>The number of snapshots taken minutely to keep on line. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<weeks>  =>   B<integer>

=begin html

<br>The number of snapshots taken weekly to keep on line. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<which-hours>  =>   B<string>

=begin html

<br>A list of the hours at which the hourly snapshots are created.

=end html

=back



=over 2

=item * I<which-minutes>  =>   B<string>

=begin html

<br>A list of the minutes at which the minutely snapshots are created.

=end html

=back



=head2 snapshot_list_info

[B<Family:> vserver]


=begin html

Return snapshot information for a specified volume. A list of snapshots and information about each snapshot is returned. In Data ONTAP Cluster-Mode, 'snapshot-get-iter' API is the preferred way of retrieving snapshot information. <p> This API is not supported on FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<is-7-mode-snapshot>  =>   B<boolean, optional>

=begin html

<br>If set to true, check if snapshot is a 7-mode snapshot. A 7-mode snapshot can appear in a cluster-mode volume as a result of the volume being transitioned from 7-mode to cluster-mode. A 7-mode snapshot cannot be used in a volume snapshot restore. The default value is false.

=end html

=back



=over 2

=item * I<lun-clone-snapshot>  =>   B<boolean, optional>

=begin html

<br>If set to true, check if snapshot contains any lun clones. The default value is false.

=end html

=back



=over 2

=item * I<snapowners>  =>   B<boolean, optional>

=begin html

<br>If set to true, owners of the busy snapshot are returned. If false, or if the option is omitted, the list of owners is not returned.

=end html

=back



=over 2

=item * I<target-name>  =>   B<string, optional>

=begin html

<br>Name of the object on which to list the snaplist information. Arguments "target-name" and "target-type" should be used together. Arguments "volume" and ("target-name", "target-type") pair are mutually exclusive. One and only one of them should be specified.

=end html

=back



=over 2

=item * I<target-type>  =>   B<string, optional>

=begin html

<br>Type of the object on which to list the snaplist information. Possible values: volume, aggregate.

=end html

=back



=over 2

=item * I<terse>  =>   B<boolean, optional>

=begin html

<br>If set to true, the snapshot block ownership values, namely the "total" and "cumulative-total" outputs, will be omitted. If set to false, the block ownership calculation will be included in the output. The default value is false.

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Name of the volume on which to list the snaplist information. It is for backward compatibility. The recommended usage is to use arguments ("target-name", "target-type") pair.

=end html

=back



B<Outputs>

=over 2

=item * I<snapshots>  =>   B<L<"snapshot-info">[], optional>

=begin html

<br>null

=end html

=back



=head2 snapshot_modify_iter

[B<Family:> cluster, vserver]


=begin html

Modify the attributes of snapshot or a group of snapshot objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"snapshot-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple snapshot objects match a given query. If set to true, the API will continue modifying the next matching snapshot even when modification of a previous snapshot fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching snapshot even when the modification of a previous matching snapshot fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapshot-info">>

=begin html

<br>If modifying a specific snapshot, this input element must specify all keys. If modifying snapshot objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapshot objects (just keys) that were not modified due to some error. If set to false, the list of snapshot objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of snapshot objects (just keys) that were successfully updated. If set to false, the list of snapshot objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"snapshot-modify-iter-info">[], optional>

=begin html

<br>Information about snapshot objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching snapshot objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of snapshot objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of snapshot objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"snapshot-modify-iter-info">[], optional>

=begin html

<br>The snapshot objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 snapshot_modify_snaplock_expiry_time

[B<Family:> vserver]


=begin html

Modifies snaplock expiry time of a snapshot copy. Expiry time can only be extended from existing expiry time.

=end html



B<Inputs>

=over 2

=item * I<expiry-time>  =>   B<integer>

=begin html

<br>null

=end html

=back



=over 2

=item * I<infinite-expiry-time>  =>   B<boolean, optional>

=begin html

<br>If this option is set to true, api will set the infinite expiry time on the specified snapshot copy.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Specifies the name of the snapshot copy for which snaplock expiry time needs to be modified. The snapshot must have already been retained by snaplock.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Specifies the name of the volume that contains snapshot copy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_multicreate

[B<Family:> vserver]


=begin html

Create a snapshot with the specific name, on each of the specified volumes. It is the caller's responsibility to ensure that the data in the snapshots across all volumes is consistent, by quiescing I/O to these volumes (or the LUNs of interest in these volumes), across the call to this API. The API returns SUCCESS when a snapshot is successfully created on each of the specified volumes. This API bails out and reports FAILURE when an error is found at creating a snapshot on a volume. It does not continue on to create snapshots on the remaining volumes. When the API fails, the returned error code is for the failed volume. For clustered systems, the output 'status' will be set to FALSE in case of failure. In such case the caller should look at the output 'volume-errors' to find out in which volume snapshot creation failed. When an error occurs, it is possible that some snapshots may have been created. If the option cleanup is set to TRUE (default), API will attempt to delete these snapshots (but snapshot deletion may fail). When set to FALSE, it is users' responsibility to delete them. The output array volume-snapcreated-list records for each volume, if a snapshot has been created or not. There are at least two expected use cases for this API. The first one is to call this API with the cleanup option set to TRUE (default). If the call fails, any successfully created snapshots will be deleted before the function returns. This is a simple use case, but has the downside that in case of a failure, the call may take a long time to return due to snapshot cleanup. Another use case would be to call this API in a time critical environment. In such a scenario, it would be good to reduce the impact due to a failure. Hence, it would be better to first call the snapshot-multicreate-validate ZAPI, which would reduce the likelihood of failure of the snapshot-multicreate API. In case a failure does occur, the caller could avoid the cleanup delay by setting the cleanup option to FALSE, and performing snapshot cleanup later, outside the time-critical window. <p> This API is not supported on FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<cleanup>  =>   B<boolean, optional>

=begin html

<br>When the API fails, some snapshots may have been created for some volumes. When set to TRUE, the API will attempt to delete these snapshots. Note that newly created snapshots cannot be deleted right away until the snapshots are on-disk, which may take up to 10 secs. When set to FALSE, newly created snapshots are not deleted. Users can delete them later as needed. Default is TRUE.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of the snapshot to be created. The maximum string length is 256 characters.

=end html

=back



=over 2

=item * I<volume-names>  =>   B<volume-name[]>

=begin html

<br>Names of the volumes across which the snapshot is to be created. The maximum number of volumes on a cluster system is 1200 (100 for traditional volumes and 500 for flexible volumes. The number is then doubled for a cluster system).

=end html

=back



B<Outputs>

=over 2

=item * I<status>  =>   B<boolean, optional>

=begin html

<br>Set to 'FALSE' in case of failure of the API. The output 'volume-errors' will contain the error code and reason for the volume on which snapshot creation failed. This output is only returned for clustered systems.

=end html

=back



=over 2

=item * I<volume-errors>  =>   B<L<"volume-error">[], optional>

=begin html

<br>Error code and reason due to which snapshot creation failed on a volume. This output is only returned for clustered systems.

=end html

=back



=over 2

=item * I<volume-is-snapcreated-list>  =>   B<L<"volume-is-snapcreated">[], optional>

=begin html

<br>An array records if a snapshot has been created for a given volume. This is returned only in case of failure.

=end html

=back



=head2 snapshot_multicreate_validate

[B<Family:> vserver]


=begin html

This is a companion API of snapshot-multicreate. It validates the snapshot creation operation on the specified volumes. But it does not actually create any snapshot. This API only does validations on all volumes and report all errors in the output array. This API is intended to be issued before the snapshot-multicreate API to find out all the errors that may be found during the snapshot create. Its main purpose is to enable snapshot-multicreate's caller to reduce the likelihood of snapshot-multicreate's failure, thereby attempting to avoid the cleanup overhead (of deleting any newly created snapshots) during failure processing. However, this validation API does not guarantee that snapshot-multicreate API will actually work. Something could change between the two calls to cause the actual snapshot creations to fail. <p> This API is not supported on FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of the snapshot to be created. The maximum string length is 256 characters.

=end html

=back



=over 2

=item * I<volume-names>  =>   B<volume-name[]>

=begin html

<br>Names of the volumes across which the snapshot creation is to be validated.

=end html

=back



B<Outputs>

=over 2

=item * I<volume-errors>  =>   B<L<"volume-error">[]>

=begin html

<br>An array records the error code associated with each volume.

=end html

=back



=head2 snapshot_multidelete

[B<Family:> vserver]


=begin html

Delete the snapshot from the given flexible volumes. This API will return failure if the volume could not be found or it is busy. All the volumes should be online when this API is invoked. It will only delete snapshots on Read-Write volumes. Once all the necessary information to delete snapshots is available, this API will start deleting snapshots on the volumes. If any of the snapshot delete failed, the API will remember the failed volume and continue deleting snapshot on the remaining volumes. In case of failure to delete the snapshots from all the given volumes, the API will return a SUCCESS and also return information about the failed snapshot deletes via the 'volume-errors' output. If the API returns SUCCESS, the applications should check if the 'volume-errors' output is returned or not to check for failed snapshot deletions. <p> This API is not supported on FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<snapshot>  =>   B<string, optional>

=begin html

<br>Name of the snapshot to be deleted. The maximum string length is 256 characters. This field is ignored when the reverting flag is set to true.

=end html

=back



=over 2

=item * I<volume-names>  =>   B<volume-name[]>

=begin html

<br>Names of the volumes across which the snapshot is to be deleted.

=end html

=back



B<Outputs>

=over 2

=item * I<volume-errors>  =>   B<L<"volume-error">[], optional>

=begin html

<br>Error code and reason due to which snapshot deletion failed on a volume. This output is only returned when the API returns SUCCESS but snapshot on some volumes could not be deleted.

=end html

=back



=head2 snapshot_multirename

[B<Family:> vserver]


=begin html

Rename Snapshot copies with a specific name to a new name across multiple volumes. The API processes all the specified volumes even if rename fails on one or more volumes. The snapshot-multirename-errors field should be inspected for failures even if the API is successful.This API is not supported on FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<new-snapshot-name>  =>   B<snapshot-id>

=begin html

<br>The new snapshot name.

=end html

=back



=over 2

=item * I<snapshot-name>  =>   B<snapshot-id>

=begin html

<br>The current snapshot name.

=end html

=back



=over 2

=item * I<volume-names>  =>   B<volume-name[]>

=begin html

<br>Names of the volumes across which the snapshot is to be renamed.

=end html

=back



B<Outputs>

=over 2

=item * I<snapshot-multirename-errors>  =>   B<L<"snapshot-multirename-error">[], optional>

=begin html

<br>Information of the error details for snapshot multirename operation

=end html

=back



=head2 snapshot_partial_restore_file

[B<Family:> vserver]


=begin html

Restores a particular range of bytes in a file from a specified snapshot. <p> Partial file restores are used to restore particular pieces of LUNs and NFS or CIFS container files that are used by a host to store multiple sources of data. For example, a host may be storing multiple user databases in the same LUN. A partial file restore can be used to restore one of those databases in the LUN while not touching the other databases that are also stored in the LUN. Compressed files will not be restored, thought compression may be enabled on the volume. <p> Partial file restores require significant management by the caller. The caller must understand the metadata of the host LUN or container file so that they can know which bytes belong to the object being restored. <p> Before the restore operation beings, the caller must quiesce the object being restored. It must remain quiesced for the duration of the restore operation. No host I/O should be issued for the object while it is being restored because the snapshot-partial-restore-file commands will be incrementally restoring the LUN or file and the host will therefore see inconsistent content for the object until the restore operation is completed. Host I/O is permitted for the other objects stored in the LUN or container file because the partial file restore will not touch the bytes belonging to those other objects. <p> During the restore the caller must issue a snapshot-partial-restore-file command for each of the byte ranges that belong to the object being restored, based on the metadata of the LUN or container file. Once each command returns, that byte range is restored and the changes are persistent. If the filer should halt while processing a command, that byte range of the LUN or container file is inconsistent. Some of the bytes at the beginning of the range may have been restored while bytes at the end of the range have not been restored. Once the filer is rebooted the caller should re-issue the command to restore that byte range to complete the restore. <p> Once the restore is completed, the caller must purge any host operating system or application buffers that may hold data for the LUN or file that is now stale. For NFS or CIFS mounted volumes the easiest way to purge any host buffers is to unmount and remount the volume. Applications holding buffered data may need to be shut down and restarted. <p> Multiple partial file restore requests may be issued to the same LUN or file simultaneously. There is no requirement that the requests are all restoring from the same snapshot so that multiple restore operations for different objects may be concurrent on the same file. There is no checking to prevent overlapping byte ranges between requests. Preventing this condition is the responsibility of the caller. <p> Partial file restores are not intended for restoring parts of normal user-level files that are stored in an NFS or CIFS exported volume. Use snapshot-restore-file to restore normal files like these. <p> The volume where the LUN or container file to restore and where the snapshot to restore from live must be online and must not be a mirror volume. <p> The partial file restore request may fail if there is not sufficient free space to overwrite all of the blocks in the byte range to be restored. <p> The partial file restore request is synchronous, meaning that the command will not return until the entire byte range is restored. The snapshot being restored from cannot be deleted while a request is being executed, but it can be deleted between requests. If this happens the next request will notice that the snapshot has been deleted and will return an error. <p> The maximum number of bytes of data that can be restored in a single request is given by the max-byte-count value returned by the snapshot-partial-restore-file-list-info command. This limit ensures that requests are periodically interruptible and avoids overloading the filer. <p> If the system halts while a partial file restore request is being executed, the request will not be restarted upon reboot. Some of the bytes at the beginning of the range may have been restored while bytes at the end of the range have not been restored. The caller should reissue the partial file restore request for that byte range to complete the restore. <p> This API is not supported on FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<byte-count>  =>   B<integer>

=begin html

<br>The number of bytes to restore, beginning at start-byte. The byte count must be a multiple of 4096. Use snapshot-partial-restore-file-list-info to determine the maximum number of bytes that can be restored in a single request. Range : [0 - 2^64-1]

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If this field is set to "true", restore operation will proceed even if LUN being restored is read-only. The default value is false.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the file to restore. Path syntax has two forms: /vol/<volumename>/<rest of path> /<rest of path> In the latter case (relative path), if volume was not specified, the root volume will be used.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>The simple name of the snapshot to restore from. The snapshot must be from same volume as the file to partially restore.

=end html

=back



=over 2

=item * I<snapshot-instance-uuid>  =>   B<string, optional>

=begin html

<br>A unique physical version identifier for a given snapshot within a volume or an aggregate. A typical snapshot instance UUID will look like: c0335624-21f3-450c-aea1-55884d0218b9

=end html

=back



=over 2

=item * I<start-byte>  =>   B<integer>

=begin html

<br>The starting byte offset in the file to partially restore. The first byte of the file is byte zero. The start byte must be a multiple of 4096. Range : [0 - 2^64-1]

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Volume to restore to/from. If this is passed in, the path argument should be relative to the volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_partial_restore_file_list_info

[B<Family:> vserver]


=begin html

Returns partial file restore settings of the vserver. <p> This API is not supported on FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<max-byte-count>  =>   B<integer>

=begin html

<br>The maximum number of bytes that can be restored in a single request. This limit ensures that requests are periodically interruptible and avoids overloading the filer. Range : [0 - 2^64-1]

=end html

=back



=head2 snapshot_policy_add_schedule

[B<Family:> cluster, vserver]


=begin html

Add a new schedule to the Snapshot Policy. A schedule can be created by using 'job-schedule-cron-create' or 'job-schedule-interval-create' APIs.

=end html



B<Inputs>

=over 2

=item * I<count>  =>   B<integer>

=begin html

<br>The maximum number of snapshots to be retained for the schedule. The count of all the snapshots to be retained for this policy cannot be more than 255.

=end html

=back



=over 2

=item * I<policy>  =>   B<snapshot-policy>

=begin html

<br>A human readable string describing the name of the snapshot scheduling policy.

=end html

=back



=over 2

=item * I<prefix>  =>   B<string, optional>

=begin html

<br>The snapshot name prefix for the schedule. This field should be unique within the policy.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string>

=begin html

<br>A human readable string describing the name of a new schedule to be added inside the snapshot policy. Maximum length of this field can be 255 characters. The schedule name can be any one of the reserved schedules like 'hourly', 'weekly' or 'daily' or it can be a user created schedule.

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string, optional>

=begin html

<br>The SnapMirror Label for the schedule. This label will be used to define vaulting policies at a vault destination. Maximum length of this field is 31 characters

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_policy_create

[B<Family:> cluster, vserver]


=begin html

This API creates a Snapshot policy and adds the schedules to it. A Snapshot policy includes at least one schedule, up to a maximum of 5 schedules, and a maximum number of Snapshot copies per schedule. A schedule can be created by using 'job-schedule-cron-create' or 'job-schedule-interval-create' APIs. When applied to a volume, the Snapshot policy specifies the schedule on which Snapshot copies are taken and the maximum number of Snapshot copies that each schedule can take. The total count of all the Snapshot copies to be retained for the policy cannot be more than 255.

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable description associated with the snapshot policy. The maximum length of this field can be 255 characters.

=end html

=back



=over 2

=item * I<count1>  =>   B<integer>

=begin html

<br>Retention count for the snapshots created by the first schedule.

=end html

=back



=over 2

=item * I<count2>  =>   B<integer, optional>

=begin html

<br>Retention count for the snapshots created by the second schedule.

=end html

=back



=over 2

=item * I<count3>  =>   B<integer, optional>

=begin html

<br>Retention count for the snapshots created by the third schedule.

=end html

=back



=over 2

=item * I<count4>  =>   B<integer, optional>

=begin html

<br>Retention count for the snapshots created by the fourth schedule.

=end html

=back



=over 2

=item * I<count5>  =>   B<integer, optional>

=begin html

<br>Retention count for the snapshots created by the fifth schedule.

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean>

=begin html

<br>Status of the snapshot policy indicating whether the policy will be enabled or disabled. If set to true, the policy will be enabled.

=end html

=back



=over 2

=item * I<policy>  =>   B<string>

=begin html

<br>The name of the snapshot scheduling policy which has to be created. Maximum length of this string can be 256 characters.

=end html

=back



=over 2

=item * I<prefix1>  =>   B<string, optional>

=begin html

<br>Snapshot name prefix for the first schedule. Prefix name should be unique within the policy.

=end html

=back



=over 2

=item * I<prefix2>  =>   B<string, optional>

=begin html

<br>Snapshot name prefix for the second schedule. Prefix name should be unique within the policy.

=end html

=back



=over 2

=item * I<prefix3>  =>   B<string, optional>

=begin html

<br>Snapshot name prefix for the third schedule. Prefix name should be unique within the policy.

=end html

=back



=over 2

=item * I<prefix4>  =>   B<string, optional>

=begin html

<br>Snapshot name prefix for the fourth schedule. Prefix name should be unique within the policy.

=end html

=back



=over 2

=item * I<prefix5>  =>   B<string, optional>

=begin html

<br>Snapshot name prefix for the fifth schedule. Prefix name should be unique within the policy.

=end html

=back



=over 2

=item * I<schedule1>  =>   B<string>

=begin html

<br>First schedule to be added inside the policy. Atleast one schedule has to be added to create a policy.

=end html

=back



=over 2

=item * I<schedule2>  =>   B<string, optional>

=begin html

<br>Second schedule to be added inside the policy.

=end html

=back



=over 2

=item * I<schedule3>  =>   B<string, optional>

=begin html

<br>Third schedule to be added inside the policy.

=end html

=back



=over 2

=item * I<schedule4>  =>   B<string, optional>

=begin html

<br>Fourth schedule to be added inside the policy.

=end html

=back



=over 2

=item * I<schedule5>  =>   B<string, optional>

=begin html

<br>Fifth schedule to be added inside the policy.

=end html

=back



=over 2

=item * I<snapmirror-label1>  =>   B<string, optional>

=begin html

<br>Label for SnapMirror Operations for first schedule. Maximum length of this field is 31 characters.

=end html

=back



=over 2

=item * I<snapmirror-label2>  =>   B<string, optional>

=begin html

<br>Label for SnapMirror Operations for second schedule. Maximum length of this field is 31 characters.

=end html

=back



=over 2

=item * I<snapmirror-label3>  =>   B<string, optional>

=begin html

<br>Label for SnapMirror Operations for third schedule. Maximum length of this field is 31 characters.

=end html

=back



=over 2

=item * I<snapmirror-label4>  =>   B<string, optional>

=begin html

<br>Label for SnapMirror Operations for fourth schedule. Maximum length of this field is 31 characters.

=end html

=back



=over 2

=item * I<snapmirror-label5>  =>   B<string, optional>

=begin html

<br>Label for SnapMirror Operations for fifth schedule. Maximum length of this field is 31 characters.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_policy_delete

[B<Family:> cluster, vserver]


=begin html

Delete the specified Snapshot Scheduling Policy

=end html



B<Inputs>

=over 2

=item * I<policy>  =>   B<snapshot-policy>

=begin html

<br>A human readable string describing the name of the snapshot scheduling policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_policy_get

[B<Family:> cluster, vserver]


=begin html

Get Information about a single Snapshot Policy

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapshot-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<policy>  =>   B<snapshot-policy>

=begin html

<br>A human readable string describing the name of the snapshot scheduling policy.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"snapshot-policy-info">>

=begin html

<br>The attributes of the snapshot.

=end html

=back



=head2 snapshot_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Get Information about multiple Snapshot Policies

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"snapshot-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"snapshot-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the snapshot object. All snapshot objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"snapshot-policy-info">[], optional>

=begin html

<br>The list of attributes of snapshot objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more snapshot objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 snapshot_policy_modify

[B<Family:> cluster, vserver]


=begin html

Enable or Disable the specified Snapshot Scheduling Policy

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable comment attached with the snapshot. The size of the comment can be at most 255 characters.

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>The state of the snapshot policy. If true, the snapshot policy is enabled and scheduled snapshots will be created on the volume associated with this policy.

=end html

=back



=over 2

=item * I<policy>  =>   B<string>

=begin html

<br>A human readable string describing the name of the snapshot scheduling policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_policy_modify_schedule

[B<Family:> cluster, vserver]


=begin html

Modify a snapshot policy

=end html



B<Inputs>

=over 2

=item * I<new-count>  =>   B<integer, optional>

=begin html

<br>The new maximum number of snapshots to be retained for the schedule. The count of all the snapshots to be retained for this policy cannot be more than 255.

=end html

=back



=over 2

=item * I<new-snapmirror-label>  =>   B<string, optional>

=begin html

<br>The new SnapMirror Label for the schedule. This label will be used to define vaulting policies at a vault destination. If an empty label is specified, the existing label will be deleted. The maximum length of this field is 31 characters

=end html

=back



=over 2

=item * I<policy>  =>   B<snapshot-policy>

=begin html

<br>A human readable string describing the name of the snapshot scheduling policy.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string>

=begin html

<br>A human readable string describing the name of a schedule whose retention count will be modified. Maximum length of this field can be 255 characters. The schedule name can be any one of the reserved schedules like 'hourly','weekly' or 'daily' or it can be user created schedule.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_policy_remove_schedule

[B<Family:> cluster, vserver]


=begin html

Remove a snapshot schedule from policy

=end html



B<Inputs>

=over 2

=item * I<policy>  =>   B<snapshot-policy>

=begin html

<br>A human readable string describing the name of the snapshot scheduling policy.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string>

=begin html

<br>A human readable string describing the name of a schedule which will be removed from the snapshot policy. Maximum length of this field can be 255 characters. The schedule name can be any one of the reserved schedules like 'hourly','weekly' or 'daily' or it can be a user created schedule.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_reclaimable_info

[B<Family:> vserver]


=begin html

Returns the amount of space that would be freed when a set of snapshots are deleted from a specified volume. <p> This API is not supported on FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<snapshots>  =>   B<snapshot-name[]>

=begin html

<br>List of snapshots. A maximum of 255 snapshots can be listed.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which the snapshot reclaimable space info is to be collected.

=end html

=back



B<Outputs>

=over 2

=item * I<reclaimable-size>  =>   B<integer>

=begin html

<br>Size in bytes of space reclaimable if the snapshots were deleted. Range : [0 - 2^63-1].

=end html

=back



=head2 snapshot_rename

[B<Family:> vserver]


=begin html

Rename a specified snapshot to a new name on a specified volume. This API is not supported on FlexGroups or Infinite Volume constituents.

=end html



B<Inputs>

=over 2

=item * I<current-name>  =>   B<string>

=begin html

<br>Name of snapshot to be renamed.

=end html

=back



=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New name of snapshot as a result of the rename.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume where the current snapshot and the new snapshot are located.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_reserve_list_info

[B<Family:> cluster, vserver]


=begin html

Gets the percentage of disk space that is reserved for snapshots in the indicated volume. If no volume is specified, this will return the percentage of disk space reserved for snapshots for each of the volumes in the system. Reserve space can be used only by snapshots and not by the active file system. This API is deprecated in Data ONTAP Cluster-Mode 8.2 and later. Use volume-get-iter instead.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Volume to get percentage of space reserved for snapshots.

=end html

=back



B<Outputs>

=over 2

=item * I<snapshot-reserve-details>  =>   B<L<"snapshot-reserve-detail-info">[]>

=begin html

<br>List of volumes along with their snapshot space reservation configuration.

=end html

=back



=head2 snapshot_restore_file

[B<Family:> vserver]


=begin html

Restores a single file or LUN from the specified snapshot. This operation can be executed to overwrite an existing version of the file or LUN present in the active file system or create a new copy of the file or LUN at a separate location within the same volume. Only normal files and LUNs are restored. Special files and directories (and their contents) are not restored. Starting Data ONTAP 9.0, restore operation is supported on file with streams. The file or LUN is ready for read/write access once this API returns. <p> This API is not supported on FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If this field is set to "true", restore operation will proceed even if LUN being restored is read-only. The default value is false.

=end html

=back



=over 2

=item * I<ignore-streams>  =>   B<boolean, optional>

=begin html

<br>Use this option to control the behavior while restoring file with streams. If false, streams are restored along with the file. If true, the file is restored without its streams. The default value is false. This option is only supported on Data ONTAP 9.0 and later.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the file to restore. Path syntax has two forms: /vol/<volumename>/<rest of path> /<rest of path> In the latter case (relative path), if volume was not specified, the root volume will be used.

=end html

=back



=over 2

=item * I<restore-path>  =>   B<string, optional>

=begin html

<br>Path to restore to. The path must be a full path to a filename, and must be in the same volume as the volume used for the restore. If not specified, restore-path is defaulted to the original path.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of snapshot to restore from. Snapshot must be from same volume as the file to restore.

=end html

=back



=over 2

=item * I<snapshot-instance-uuid>  =>   B<string, optional>

=begin html

<br>A unique physical version identifier for a given snapshot within a volume or an aggregate. A typical snapshot instance UUID will look like: c0335624-21f3-450c-aea1-55884d0218b9

=end html

=back



=over 2

=item * I<space-efficient-split-disabled>  =>   B<boolean, optional>

=begin html

<br>By default 'false', space-efficient LUN clone split is allowed during restore. This parameter, if set to 'true', disables space-efficient splitting for this specific operation.

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Volume to restore to/from. If this is passed in, the path argument should be relative to the volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_restore_file_info

[B<Family:> vserver]


=begin html

Get information about snapshot file restores on a given vserver. Returns maximum snapshot file restores limit and snapshot file restores in progress numbers. <p> This API is not supported on FlexGroups.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<max-sfsr-limit>  =>   B<integer>

=begin html

<br>The maximum number of parallel single file snapshot restores (SFSR) allowed on a filer.

=end html

=back



=over 2

=item * I<sfsr-in-progress>  =>   B<integer>

=begin html

<br>Number of single file snapshot restores (SFSR) in progress on a filer.

=end html

=back



=head2 snapshot_restore_volume

[B<Family:> vserver]


=begin html

Reverts a volume to a specified snapshot. The volume must be online and must not be a mirror. If reverting the root volume, the filer will be rebooted. Non-root volumes do not require a reboot. A volume cannot have both a volume snaprestore and a single-file snaprestore executing simultaneously. Multiple single-file snaprestores can be in progress simultaneously. After the reversion, the volume is in the same state as it was when the snapshot was taken. <p> This API is not supported on Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>If this field is set to "true", the Snapshot copy is restored even if the volume has one or more newer Snapshot copies which are currently used as reference Snapshot copy by SnapMirror. If a restore is done in this situation, this will cause future SnapMirror transfers to fail. The SnapMirror relationship may be repaired using "snapmirror resync" command if a common Snapshot copy is found between the source and destination volume. If there is no common Snapshot copy between the source and the destination volume, a baseline SnapMirror copy would be required. <p> The default value is false.

=end html

=back



=over 2

=item * I<preserve-lun-ids>  =>   B<boolean, optional>

=begin html

<br>When this field is specified, LUNs in the volume being restored will remain mapped and their identities preserved such that host connectivity will not be disrupted during the restore operation. I/O's to the LUN will be fenced during the restore operation by placing the LUNs in an unavailable state. Once the restore operation has completed, hosts will be able to resume I/O access to the LUNs. <p> The default value is false.

=end html

=back



=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of snapshot to restore from.

=end html

=back



=over 2

=item * I<snapshot-instance-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128 bit unique snapshot identifier expressed in the form of UUID. This field is optional and can appear together with 'snapshot' to uniquely identify a snapshot to restore. If this field is provided, 'snapshot' is a required parameter. <p> An example of an actual UUID is: <p> 84a010ec-3d28-11df-84e8-123478653412

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of volume to restore.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_restore_volume_async

[B<Family:> vserver]


=begin html

Reverts an Infinite Volume to a specified snapshot. The Infinite Volume must be online and unmounted and must not be a mirror. After the reversion, the Infinite Volume is in the same state as it was when the snapshot was taken. <p> This API is not supported on flexible volumes, Infinite Volume constituents, and FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<snapshot>  =>   B<string>

=begin html

<br>Name of snapshot to restore from.

=end html

=back



=over 2

=item * I<snapshot-instance-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128 bit unique snapshot identifier expressed in the form of UUID. This field is optional and can appear together with 'snapshot' to uniquely identify a snapshot to restore. If this field is provided, 'snapshot' is a required parameter. An example of an actual UUID is: 84a010ec-3d28-11df-84e8-123478653412

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of Infinite Volume to restore.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapshot_set_reserve

[B<Family:> vserver]


=begin html

Sets the size of the indicated volume's snapshot reserve to the specified percentage. Reserve space can be used only by snapshots and not by the active file system.

=end html



B<Inputs>

=over 2

=item * I<percentage>  =>   B<integer>

=begin html

<br>Percentage to set. Range [0-100].

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of volume on which to set the snapshot space reserve.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snapshot_volume_info

[B<Family:> vserver]


=begin html

Returns snapshot related volume information. The information returned is valid at the time the API call reached the filer and maybe outdated soon after. <p> This API is not supported on FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume on which the space needs to be checked.

=end html

=back



B<Outputs>

=over 2

=item * I<size-available>  =>   B<integer>

=begin html

<br>Total bytes that when exhausted will disable us from taking snapshots. If this value is 0, snapshots cannot be taken. Any other value would allow us to take a reliable snapshot. This space may or may not get exhausted by taking a snapshot. Also it may get used by writes/allocations in the volume. This is not equal to the free space in the active file system or anyway related to the size of the next snapshot. Range : [0..2^64-1].

=end html

=back



=head2 snmp_community_add

[B<Family:> cluster, vserver]


=begin html

Adds a community to the list of communities.

=end html



B<Inputs>

=over 2

=item * I<access-control>  =>   B<string>

=begin html

<br>Access control for the community. The only supported value is "ro" (read-only).

=end html

=back



=over 2

=item * I<community>  =>   B<string>

=begin html

<br>Community name to be added.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_community_delete

[B<Family:> cluster, vserver]


=begin html

Deletes a community from the list of communities.

=end html



B<Inputs>

=over 2

=item * I<access-control>  =>   B<string>

=begin html

<br>Access control for the community.The only supported value is "ro" (read-only).

=end html

=back



=over 2

=item * I<community>  =>   B<string>

=begin html

<br>Community name to be deleted.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_community_delete_all

[B<Family:> cluster, vserver]


=begin html

Deletes all the communities.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_disable

[B<Family:> cluster]


=begin html

Disables snmp protocol.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_enable

[B<Family:> cluster]


=begin html

Enables snmp protocol.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_enable_snmpv3

[B<Family:> cluster]


=begin html

Enable SNMPv3 cluster-wide

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_get

[B<Family:> cluster]


=begin html

Retrieves the value of a snmp object.

=end html



B<Inputs>

=over 2

=item * I<object-id>  =>   B<string>

=begin html

<br>Fully qualified object identifier of a snmp object. Only numeric OID's (ex: .1.3.6.1.4.1.789.1.1.1.0) are allowed.

=end html

=back



B<Outputs>

=over 2

=item * I<is-value-hexadecimal>  =>   B<boolean, optional>

=begin html

<br>If true, the string returned in 'value' is the hexadecimal representation of the octet string returned by a snmp call to the object-id. This output is not present if 'value' is a normal string.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value of the snmp object specified through the input argument "object-id".

=end html

=back



=head2 snmp_get_next

[B<Family:> cluster]


=begin html

This is used to retrieve the next OID in the mib tree of data. Instead of returning the data you requested, it returns the next OID in the tree and its value. Unlike the snmp-get api, this api does return data for a OID which is too short or is missing the index part of the OID.

=end html



B<Inputs>

=over 2

=item * I<object-id>  =>   B<string>

=begin html

<br>Object Identifier of a snmp object. The OID can be a fully qualified OID or a partial OID. Only numeric OID's (ex: .1.3.6.1.4.1.789.1.1.1.0) are allowed.

=end html

=back



B<Outputs>

=over 2

=item * I<is-value-hexadecimal>  =>   B<boolean, optional>

=begin html

<br>If true, the string returned in 'value' is the hexadecimal representation of the octet string returned by a snmp call to the object-id. This output is not present if 'value' is a normal string.

=end html

=back



=over 2

=item * I<next-object-id>  =>   B<string>

=begin html

<br>Object Identifier of the next snmp object in the mib.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value of the snmp object reported through the output argument "next-object-id".

=end html

=back



=head2 snmp_status

[B<Family:> cluster]


=begin html

Returns configuration information of the SNMP agent daemon.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<communities>  =>   B<L<"community-info">[], optional>

=begin html

<br>Returns a list of communities and their access control settings.

=end html

=back



=over 2

=item * I<contact>  =>   B<string>

=begin html

<br>Contact name.

=end html

=back



=over 2

=item * I<is-trap-enabled>  =>   B<boolean>

=begin html

<br>Retuns "true" if traps are enabled. "false" otherwise.

=end html

=back



=over 2

=item * I<location>  =>   B<string>

=begin html

<br>Location name.

=end html

=back



=over 2

=item * I<traphosts>  =>   B<L<"traphost-info">[], optional>

=begin html

<br>Returns a list of registered trap hosts followed by their IP addresses. Only resolvable trap hosts are returned. If a host name cannot be found in /etc/hosts for a previously registered IP address, its name defaults to a string representation of its IP address.

=end html

=back



=head2 snmp_test_trap_trigger

[B<Family:> cluster]


=begin html

Trigger SNMP test trap

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_trap_disable

[B<Family:> cluster]


=begin html

Disables snmp traps.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_trap_enable

[B<Family:> cluster]


=begin html

Enables snmp traps.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_traphost_add

[B<Family:> cluster]


=begin html

Adds a host to the list of trap hosts.

=end html



B<Inputs>

=over 2

=item * I<host>  =>   B<string>

=begin html

<br>Specify the host to be added. Host may be specified in Domain Name format such as MyHost.MyNetwork.com, or as an IP address such as 10.20.30.40. If a Domain Name is used, the host must resolve to an IP address.

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>Specify the USM user name to indicate SNMPv3 traphost. USM user must have already been defined before adding a SNMPv3 traphost.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 snmp_traphost_delete

[B<Family:> cluster]


=begin html

Deletes a host from the list of trap hosts.

=end html



B<Inputs>

=over 2

=item * I<host>  =>   B<string>

=begin html

<br>Specify the host to be added. Host may be specified in Domain Name format such as MyHost.MyNetwork.com, or as an IP address such as 10.20.30.40. If a Domain Name is used, the host must resolve to an IP address.

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>Specify the USM user name to indicate SNMPv3 traphost.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_acp_firmware_file_get_iter

[B<Family:> cluster]


=begin html

return the firmware file list

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-acp-firmware-file">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-acp-firmware-file">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-acp-firmware object. All storage-acp-firmware objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-acp-firmware-file">[], optional>

=begin html

<br>The list of attributes of storage-acp-firmware objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-acp-firmware objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_adapter_enable_adapter

[B<Family:> cluster]


=begin html

Enables specified host adapter. I/O traffic can be issued on the adapter.

=end html



B<Inputs>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>The adapter name is either a slot number, or, if a port letter is also present, a slot number and port letter concatenated into a single name -- for example, "8a" or "11b". If adapter-name is not supplied, the command will return EAPIMISSINGARGUMENT.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_adapter_get_adapter_info

[B<Family:> cluster]


=begin html

Display the information about a specified host adapter. The information is displayed base on the controller interface type. ATA, Parallel SCSI, SAS, FC.

=end html



B<Inputs>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>The adapter name is either a slot number, or, if a port letter is also presented, a slot number and port letter concatenated into a single name -- for example, "8a" or "11b".

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. If node-name is not specified when the request is sent to Admin VserverLIF, then all matching adapters in the cluster will be returned. This is the storage system name the command will be executed on.

=end html

=back



B<Outputs>

=over 2

=item * I<adapter-details>  =>   B<L<"adapter-detail-info">[]>

=begin html

<br>List of detail info for given adapter.

=end html

=back



=head2 storage_adapter_get_adapter_list

[B<Family:> cluster]


=begin html

Get the list of adapters present on this system.

=end html



B<Inputs>

=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. If node-name is not specified when the request is sent to Admin VserverLIF, then all matching adapters in the cluster will be returned. This is the storage system name the command will be executed on.

=end html

=back



B<Outputs>

=over 2

=item * I<adapter-list>  =>   B<L<"adapter-name-elem">[]>

=begin html

<br>The adapter-list is a list of the names of adapters on this system. These adapter names can be used by other commands, including storage-adapter-enable-adapter and storage-adapter-disable-adapter.

=end html

=back



=head2 storage_adapter_modify

[B<Family:> cluster]


=begin html

Modify the adapter state.

=end html



B<Inputs>

=over 2

=item * I<adapter-state>  =>   B<string>

=begin html

<br>The new requested state for the adapter, Possible values: <ul> <li> "online" - enable the specified port. <li> "offline" - disable the specified port. </ul>

=end html

=back



=over 2

=item * I<force-offline>  =>   B<boolean, optional>

=begin html

<br>When true, this allows disabling a port when the port is busy, i.e. has pending or active commands. Default is false. This field is allowed, only when the adapter-state is "offline".

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF. This is the storage system name the command will be executed on.

=end html

=back



=over 2

=item * I<port-name>  =>   B<string>

=begin html

<br>The port name is a slot number and port letter concatenated into a single name -- for example, "8a" or "11b".

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_array_get_config_summary

[B<Family:> cluster]


=begin html

Generates a high level summary of array LUN pathing (connectivity) information.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Obtain array LUN pathing information for a specified node.

=end html

=back



=over 2

=item * I<ownership-type>  =>   B<string, optional>

=begin html

<br>Option that allows the user to select which array LUNs are displayed. Valid values for ownership-type are 'assigned', 'unassigned' and 'all'. If ownership-type is set to 'assigned' only assigned array LUNs are displayed. If ownership-type is set to 'unassigned' only unassigned array LUNs are displayed. If ownership-type is set to 'all', all array LUNs are displayed. Default: 'all'.

=end html

=back



B<Outputs>

=over 2

=item * I<config-summary>  =>   B<L<"storage-array-config-summary">[], optional>

=begin html

<br>A summary of array LUN connectivity for each attached array.

=end html

=back



=head2 storage_array_list_info

[B<Family:> cluster]


=begin html

Retrieves a list of all array profiles known to the controller.

=end html



B<Inputs>

=over 2

=item * I<array-name>  =>   B<string, optional>

=begin html

<br>When specified, only the named array profile record will be returned. (28 chars)

=end html

=back



B<Outputs>

=over 2

=item * I<array-profiles>  =>   B<L<"storage-array-profile">[]>

=begin html

<br>A list of arrays (and their details)

=end html

=back



=head2 storage_array_modify

[B<Family:> cluster]


=begin html

Update an array profile with new or changed information.

=end html



B<Inputs>

=over 2

=item * I<all-path-fail-delay>  =>   B<integer, optional>

=begin html

<br>The time delay (in secs) to hold IO during All Path Failure Event.

=end html

=back



=over 2

=item * I<array-name>  =>   B<string>

=begin html

<br>The name of the array profile to update. (28 chars max)

=end html

=back



=over 2

=item * I<is-upgrade-pending>  =>   B<boolean, optional>

=begin html

<br>Used to indicate that the specified array will under go an upgrade in the near future.

=end html

=back



=over 2

=item * I<lun-queue-depth>  =>   B<integer, optional>

=begin html

<br>The queue depth assigned to array LUNs from this array.

=end html

=back



=over 2

=item * I<max-queue-depth>  =>   B<integer, optional>

=begin html

<br>The target port queue depth for all target ports on this array.

=end html

=back



=over 2

=item * I<model>  =>   B<string, optional>

=begin html

<br>The model of the array. (16 chars max)

=end html

=back



=over 2

=item * I<options>  =>   B<string, optional>

=begin html

<br>Array profile specific options. (comma separated list of name/value pairs) (127 chars max)

=end html

=back



=over 2

=item * I<path-failover-time>  =>   B<integer, optional>

=begin html

<br>The time delay (in secs) before switching the I/O path when the path is deleted.

=end html

=back



=over 2

=item * I<prefix>  =>   B<string, optional>

=begin html

<br>A short label used to refer to this array. (7 chars max)

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>The name of the array's manufacturer. (8 chars max)

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_array_port_modify

[B<Family:> cluster]


=begin html

Update an array port with new or changed information.

=end html



B<Inputs>

=over 2

=item * I<array-name>  =>   B<string>

=begin html

<br>The name of the array profile to update. (28 chars max)

=end html

=back



=over 2

=item * I<max-queue-depth>  =>   B<integer, optional>

=begin html

<br>The target port queue depth for this target port.

=end html

=back



=over 2

=item * I<target-iqn>  =>   B<string, optional>

=begin html

<br>Target IQN.

=end html

=back



=over 2

=item * I<tpgt>  =>   B<string, optional>

=begin html

<br>TPGT

=end html

=back



=over 2

=item * I<utilization-policy>  =>   B<utilizationpolicytypes, optional>

=begin html

<br>The policy used while sending I/O to an array target port when it reaches queue depth.

=end html

=back



=over 2

=item * I<wwnn>  =>   B<string, optional>

=begin html

<br>World wide node name of array's target port (64 chars).

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>World wide port name of array's target port (64 chars).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_array_ports_list_info

[B<Family:> cluster]


=begin html

generate a list of online array ports and their associated arrays

=end html



B<Inputs>

=over 2

=item * I<array-name>  =>   B<string, optional>

=begin html

<br>When supplied, only port records for the named array are returned. (28 chars)

=end html

=back



B<Outputs>

=over 2

=item * I<array-ports>  =>   B<L<"storage-array-port">[], optional>

=begin html

<br>A list of all array ports, or just the ports for the named array

=end html

=back



=head2 storage_array_rename

[B<Family:> cluster]


=begin html

Rename an array profile

=end html



B<Inputs>

=over 2

=item * I<array-name>  =>   B<string>

=begin html

<br>The name of the array profile to update. (28 chars max)

=end html

=back



=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>The new name to assign to this array profile. (28 chars max)

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_bridge_config_dump_collect

[B<Family:> cluster]


=begin html

Retrieve the dumpconfiguration file from the bridge.

=end html



B<Inputs>

=over 2

=item * I<bridge>  =>   B<string>

=begin html

<br>Bridge Name

=end html

=back



B<Outputs>

=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>Job ID

=end html

=back



=head2 storage_bridge_config_dump_delete

[B<Family:> cluster]


=begin html

Delete a saved dumpconfiguration file.

=end html



B<Inputs>

=over 2

=item * I<file>  =>   B<string>

=begin html

<br>The name of the dumpconfiguration file. The file name has the following format: dsbridge_config.serial_no.timestamp.txt.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The node where the dumpconfiguration file is located.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_bridge_config_dump_get_iter

[B<Family:> cluster]


=begin html

Get a list of available bridge dumpconfiguration files.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-bridge-config-dump-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-bridge-config-dump-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-bridge object. All storage-bridge objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-bridge-config-dump-info">[], optional>

=begin html

<br>The list of attributes of storage-bridge objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-bridge objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_bridge_coredump_collect

[B<Family:> cluster]


=begin html

Collect the coredump file from the bridge.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Bridge Name

=end html

=back



B<Outputs>

=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>Job ID

=end html

=back



=head2 storage_bridge_coredump_delete

[B<Family:> cluster]


=begin html

Delete a saved coredump file

=end html



B<Inputs>

=over 2

=item * I<corename>  =>   B<string>

=begin html

<br>Coredump Filename

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Bridge Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_bridge_coredump_get_iter

[B<Family:> cluster]


=begin html

Return a list of coredumps available.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-bridge-coredump-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-bridge-coredump-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-bridge-coredump object. All storage-bridge-coredump objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-bridge-coredump-info">[], optional>

=begin html

<br>The list of attributes of storage-bridge-coredump objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-bridge-coredump objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_bridge_get

[B<Family:> cluster]


=begin html

Get the attributes of the storage-bridge.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-bridge-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the bridge.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-bridge-info">>

=begin html

<br>The attributes of the storage-bridge.

=end html

=back



=head2 storage_bridge_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of storage-bridge objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-bridge-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-bridge-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-bridge object. All storage-bridge objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-bridge-info">[], optional>

=begin html

<br>The list of attributes of storage-bridge objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-bridge objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_disk_get_iter

[B<Family:> cluster]


=begin html

Disk enumeration ZAPI. Get disk information about one or more disks, from the Storage Subsystem. Clustered ONTAP iterator APIs support filtering of output, to constrain the disks that are included in the return list, and/or what information is returned about each disk. The default is to return all information about all disks in the cluster. That list may be reduced using the 'query' input element. For example, the return list may include only (1) Disks visible to a particular cluster node "nodeA", e.g., "query.storage-disk-info.disk-paths.disk-path-info.disk-name=nodeA:*" (2) A particular disk visible to a particular node, e.g., "query.storage-disk-info.disk-paths.disk-path-info.disk-name=nodeA:6a.01". (3) A disk with a particular unique id, e.g., "query.storage-disk-info.disk-uid=20000000:87A9652B:00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000000" (4) Disks with a name that matches a certain wildcard pattern, e.g., "query.storage-disk-info.disk-name=1.*" or "query.storage-disk-info.disk-name=NET-1.*" for virtual disks. (5) Disks assigned to a particular node. e.g., "query.storage-disk-info.disk-ownership-info.home-node-id=1252487" or "query.storage-disk-info.disk-ownership-info.home-node-name=nodeA". (6) Some subset of disks in the cluster or visible to a particular node in the cluster. If 'desired-attributes' is included, then only those data specified by in 'desired-attributes' are returned for each disk. If there is badly formed input or an invalid input value is specified, then EINVALIDINPUTERROR is returned. If there is some internal error which prevents processing of this request, then EINTERNALERROR is returned.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-disk-info">, optional>

=begin html

<br>May be used to express which data are returned for each disk. If omitted, then all available data are returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return to the caller per iteration. The default is 2000 for clustered ONTAP. It's 200 for D-blade calls. If the total number of records exceeds either the 'max-records' supplied, or the number the system is capable of returning at one time, then storage-disk-get-iter must be called multiple times to get all the records. The 'num-records' output field informs the caller how many records are returned by a single iterative call to storage-disk-get-iter.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-disk-info">, optional>

=begin html

<br>May be used to express which disks to include in the return list. If omitted, then all disks are returned. If the input query is badly formed, then EINVALIDINPUTERROR is returned. If there are no disks which match the input query, then there is no error. However, no disk records are returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>This indicates where to continue iteration. A first invocation would normally omit this, to indicate to start iteration with the first disk. If multiple invocations are required to fetch all disk records, then each successive call would set 'tag' to the 'next-tag' value from the prior invocation. If an invalid value is specified, then EINVAIDINPUTERROR is returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-disk-info">[], optional>

=begin html

<br>List of disk records.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>An opaque string indicating that there are more records to fetch. If this field is returned, then the API must be called again with the 'tag' parameter set to this 'next-tag' value, to continue fetching additional records from this point. Omitted if there are no more records to fetch.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call. This is guaranteed to be less than or equal to the minimum of 'max-records' and 2000.

=end html

=back



=head2 storage_disk_modify

[B<Family:> cluster]


=begin html

Modify the attributes of storage-disk object.

=end html



B<Inputs>

=over 2

=item * I<disk-name>  =>   B<disk-name, optional>

=begin html

<br>Modify the attributes of this disk

=end html

=back



=over 2

=item * I<is-foreign>  =>   B<boolean>

=begin html

<br>A true value indicates an array LUN has been designated as a foreign LUN and cannot be assigned

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Modify the attributes of this disk

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_disk_set_foreign_lun

[B<Family:> cluster]


=begin html

Sets or Unsets an array LUN as foreign

=end html



B<Inputs>

=over 2

=item * I<disk>  =>   B<string>

=begin html

<br>Disk Name

=end html

=back



=over 2

=item * I<is-foreign-lun>  =>   B<boolean>

=begin html

<br>Is Foreign LUN

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_disk_firmware_file_get_iter

[B<Family:> cluster]


=begin html

return the firmware file list

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-disk-firmware-file">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-disk-firmware-file">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-acp-firmware object. All storage-acp-firmware objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-disk-firmware-file">[], optional>

=begin html

<br>The list of attributes of storage-acp-firmware objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-acp-firmware objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_initiator_balance

[B<Family:> cluster]


=begin html

Balances primary/secondary array LUN paths across available initiator ports based on I/O load. This API is deprecated in Clustered Data ONTAP 8.3.0 and later.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>node to balance initiator ports on

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_initiator_disk_path_list_info

[B<Family:> cluster]


=begin html

Returns path information and statistics for a given disk or all disks. We use the word disk to refer to an array lun, real disk, or Solid State Device This API is deprecated in Clustered Data ONTAP 8.3.0 and later.

=end html



B<Inputs>

=over 2

=item * I<disk-name>  =>   B<string, optional>

=begin html

<br>The name of the disk to list path information for. If not supplied all paths to all attached targets are returned.

=end html

=back



B<Outputs>

=over 2

=item * I<disk-path-info>  =>   B<L<"disk-path-info">[]>

=begin html

<br>A table of per path statistics, errors and other related data for this disk

=end html

=back



=head2 storage_initiator_errors_list_info

[B<Family:> cluster]


=begin html

Lists all known disk/configuration errors associated with an array or shelves acting like array.

=end html



B<Inputs>

=over 2

=item * I<array-name>  =>   B<string, optional>

=begin html

<br>The name of the array to list error information for. (28 chars)

=end html

=back



=over 2

=item * I<disk-name>  =>   B<string, optional>

=begin html

<br>The name of the disk or array lun to list error information for. If not specified, all errors for all disks/array LUNs will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<errors>  =>   B<L<"storage-error-info">[], optional>

=begin html

<br>A list of all errors for the requested array/shelf or disks/luns.

=end html

=back



=head2 storage_initiator_get_load

[B<Family:> cluster]


=begin html

Gets disk I/O rates for a given fibre channel initiator port or for all initiator ports if no port is specified. The term disk refers to an array LUN, actual disk, or solid state device. This API is deprecated in Clustered Data ONTAP 8.3.0 and later.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Obtain disk I/O rates for initiator ports on the specified node.

=end html

=back



=over 2

=item * I<port>  =>   B<string, optional>

=begin html

<br>Port to show load on, e.g. 0a.

=end html

=back



B<Outputs>

=over 2

=item * I<load-info>  =>   B<L<"storage-initiator-load-info">[], optional>

=begin html

<br>A table of per disk load related information for the named port. Omitted if no array LUNs are visible, or some other internal error occurs.

=end html

=back



=head2 storage_initiator_path_list_info

[B<Family:> cluster]


=begin html

Returns information and statistics on all known paths to back end storage.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Obtain back end storage path statistics for this node.

=end html

=back



B<Outputs>

=over 2

=item * I<path-info>  =>   B<L<"storage-initiator-path-info">[], optional>

=begin html

<br>A table of back end path statistics, errors and other related data.

=end html

=back



=head2 storage_initiator_path_quiesce

[B<Family:> cluster]


=begin html

Quiesces an array LUN on a path. A quiesced array LUN will not be sent I/O on the specified path.

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>The initiator port of the path that I/O will be quiesced on.

=end html

=back



=over 2

=item * I<lun-number>  =>   B<integer, optional>

=begin html

<br>LU number. If this value is not specified then the command applies for the specified path. Range: [0..65535]

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node name on which the quiesce is issued

=end html

=back



=over 2

=item * I<path-failure-threshold>  =>   B<integer, optional>

=begin html

<br>The path failure count, exceeding the specified value within wait duration will quiesce the path. This value is mutually exclusive with lun-number. If this value is not specified to quiesce path, path will be quiesed immediately. wait-duration must be specified along with path-failure-threshold. Range: [1..100]

=end html

=back



=over 2

=item * I<target-wwpn>  =>   B<string>

=begin html

<br>The array target port of the path that I/O will be quiesced on. World wide port number has to be specified without colons.

=end html

=back



=over 2

=item * I<wait-duration>  =>   B<integer, optional>

=begin html

<br>The time duration in which path is monitored for path failures. This value is mutually exclusive with lun-number. If this value is not specified to quiesce path, path will be quiesed immediately. path-failure-threshold must be specified along with wait-duration. Range: [1..1440]

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_initiator_path_resume

[B<Family:> cluster]


=begin html

Resumes I/O to array LUN on a path that was previously quiesced. Resuming I/O to a non-quiesced array LUN is a no-op and not an error.

=end html



B<Inputs>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>The initiator port of the path that I/O will be resumed to.

=end html

=back



=over 2

=item * I<lun-number>  =>   B<integer, optional>

=begin html

<br>LU number. If this value is not specified then the specified path will be resumed. Range: [0..65535]

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node name on which the resume is issued

=end html

=back



=over 2

=item * I<target-wwpn>  =>   B<string>

=begin html

<br>The array target port of the path that I/O will be resumed to. World wide port number has to be specified without colons.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_iscsi_initiator_add_target

[B<Family:> cluster]


=begin html

Add an iSCSI target.

=end html



B<Inputs>

=over 2

=item * I<administrative-status>  =>   B<service-state, optional>

=begin html

<br>Specifies the initial administrative status of the connection. The default setting is up. The administrative status can differ from the operational status; for instance, if you specify the status as up but a network problem prevents the connection from functioning, the operational status remains as down. Possible values: <ul> <li> "down" , <li> "up" </ul>

=end html

=back



=over 2

=item * I<label>  =>   B<string>

=begin html

<br>The user defined identifier for the iSCSI target.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



=over 2

=item * I<target-name>  =>   B<string>

=begin html

<br>The target name. Example: iqn.2012-06.com.bsdctl:target0

=end html

=back



=over 2

=item * I<target-portal>  =>   B<string>

=begin html

<br>The target's IP address. Example: 10.7.125.10

=end html

=back



=over 2

=item * I<target-type>  =>   B<iscsi-initiator-target-type>

=begin html

<br>The type of the target: external, mailbox, partner, dr_auxiliary or dr_partner Possible values: <ul> <li> "external" - Target has external disks, <li> "mailbox" - Target has mailbox disks, <li> "partner" - Target has partner disks, <li> "dr_auxiliary" - Target has DR auxiliary disks for MetroCluster over IP, <li> "dr_partner" - Target has DR partner disks for MetroCluster over IP </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_iscsi_initiator_connect

[B<Family:> cluster]


=begin html

Connect to an iSCSI target.

=end html



B<Inputs>

=over 2

=item * I<label>  =>   B<string>

=begin html

<br>The user defined identifier for the iSCSI target.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



=over 2

=item * I<target-type>  =>   B<iscsi-initiator-target-type, optional>

=begin html

<br>The type of the target: external, mailbox, partner, dr_auxiliary or dr_partner Possible values: <ul> <li> "external" - Target has external disks, <li> "mailbox" - Target has mailbox disks, <li> "partner" - Target has partner disks, <li> "dr_auxiliary" - Target has DR auxiliary disks for MetroCluster over IP, <li> "dr_partner" - Target has DR partner disks for MetroCluster over IP </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_iscsi_initiator_disconnect

[B<Family:> cluster]


=begin html

Disconnect from an iSCSI target.

=end html



B<Inputs>

=over 2

=item * I<label>  =>   B<string>

=begin html

<br>The user defined identifier for the iSCSI target.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



=over 2

=item * I<target-type>  =>   B<iscsi-initiator-target-type, optional>

=begin html

<br>The type of the target: external, mailbox, partner, dr_auxiliary or dr_partner Possible values: <ul> <li> "external" - Target has external disks, <li> "mailbox" - Target has mailbox disks, <li> "partner" - Target has partner disks, <li> "dr_auxiliary" - Target has DR auxiliary disks for MetroCluster over IP, <li> "dr_partner" - Target has DR partner disks for MetroCluster over IP </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_iscsi_initiator_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of iSCSI targets.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-iscsi-initiator-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-iscsi-initiator-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-iscsi-initiator object. All storage-iscsi-initiator objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-iscsi-initiator-info">[], optional>

=begin html

<br>The list of attributes of storage-iscsi-initiator objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-iscsi-initiator objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_iscsi_initiator_remove_target

[B<Family:> cluster]


=begin html

Remove an iSCSI target.

=end html



B<Inputs>

=over 2

=item * I<label>  =>   B<string>

=begin html

<br>The user defined identifier for the iSCSI target.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



=over 2

=item * I<target-type>  =>   B<iscsi-initiator-target-type, optional>

=begin html

<br>The type of the target: external, mailbox, partner, dr_auxiliary or dr_partner Possible values: <ul> <li> "external" - Target has external disks, <li> "mailbox" - Target has mailbox disks, <li> "partner" - Target has partner disks, <li> "dr_auxiliary" - Target has DR auxiliary disks for MetroCluster over IP, <li> "dr_partner" - Target has DR partner disks for MetroCluster over IP </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_pool_add

[B<Family:> cluster]


=begin html

Add disks to a storage pool A job will be spawned to operate on the storage-pool and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<auto-grow-aggregates>  =>   B<boolean, optional>

=begin html

<br>Automatically grow the existing aggregates that are eligible for growing.

=end html

=back



=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>The number of disks that should be added to the storage pool. This option cannot be used with disk-list.

=end html

=back



=over 2

=item * I<disk-list>  =>   B<disk-name[], optional>

=begin html

<br>List of spare disks that need to be added to the storage pool. They should be of the same size as the existing disks in the storage pool.

=end html

=back



=over 2

=item * I<nodes>  =>   B<node-name[], optional>

=begin html

<br>List of nodes from which the spare disks that need to be added to storage pool can be selected.

=end html

=back



=over 2

=item * I<simulate>  =>   B<boolean, optional>

=begin html

<br>Simulates the addition of disks to the given storage pool. If set to \"true\", addition of disks won't happen but returns a list of aggregates that would auto-grow and the size of the aggregate prior to grow and also after the auto-grow.

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string>

=begin html

<br>Name of the Storage Pool to which the spare disks will be added.

=end html

=back



B<Outputs>

=over 2

=item * I<aggregates-autogrow-list>  =>   B<L<"aggregate-autogrow-info">, optional>

=begin html

<br>Information of aggregates that will auto-grow

=end html

=back



=over 2

=item * I<available-capacity>  =>   B<size>

=begin html

<br>The current available capacity in the pool in bytes.

=end html

=back



=over 2

=item * I<new-available-capacity>  =>   B<size>

=begin html

<br>The new available capacity in the pool in bytes after adding the disks to storage pool.

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=over 2

=item * I<selected-disks>  =>   B<disk-name[], optional>

=begin html

<br>List of spare disks that would have been added to the storage pool.

=end html

=back



=head2 storage_pool_aggregate_get_iter

[B<Family:> cluster]


=begin html

This is a ZAPI used to iterate over a list of aggregates provisioned from storage pool.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-pool-aggregate-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-pool-aggregate-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-pool object. All storage-pool objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-pool-aggregate-info">[], optional>

=begin html

<br>The list of attributes of storage-pool objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-pool objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_pool_available_capacity_get_iter

[B<Family:> cluster]


=begin html

This is a ZAPI used to iterate over all available capacities available on each node in the cluster. These available capacities are listed per storage pool on each node.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-pool-available-capacity-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-pool-available-capacity-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-pool object. All storage-pool objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-pool-available-capacity-info">[], optional>

=begin html

<br>The list of attributes of storage-pool objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-pool objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_pool_create

[B<Family:> cluster]


=begin html

Create a storage pool. Capacity can be allocated to aggregates from these storage pools using 'aggr-add'.

=end html



B<Inputs>

=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>The number of disks that are part of the storage pool.

=end html

=back



=over 2

=item * I<disk-list>  =>   B<disk-name[], optional>

=begin html

<br>List of spare disks that should be used to create the storage pool.

=end html

=back



=over 2

=item * I<disk-size>  =>   B<size, optional>

=begin html

<br>Usable size of the disk in bytes. Disks that are within 5% of the specified size will be selected for use in the storage pool. If it is not specified smallest disks are selected first. This option cannot be used with \"disk-list\".

=end html

=back



=over 2

=item * I<nodes>  =>   B<node-name[], optional>

=begin html

<br>The list of nodes in which the storage pool resides.

=end html

=back



=over 2

=item * I<simulate>  =>   B<boolean, optional>

=begin html

<br>Simulate the creation of storage pool. If set to \"true\", new storage pool won't be created but returns the minimum allocation unit size of the storage pool that would have been created. Selected disk list would also be returned for the disk-count option. By default, simulate option is set to false.

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string>

=begin html

<br>Name of the storage pool to be created.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The ID of the job that was spawned to create this storage-pool.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded" if creation completed successfully, "in_progress" if creation is in progress, "failed" if creation failed.

=end html

=back



=over 2

=item * I<selected-allocation-unit-size>  =>   B<size, optional>

=begin html

<br>Minimum allocation unit size of the storage pool that would have been created.

=end html

=back



=over 2

=item * I<selected-disks>  =>   B<disk-name[], optional>

=begin html

<br>List of spare disks selected for the storage pool that would have been created.

=end html

=back



=head2 storage_pool_delete

[B<Family:> cluster]


=begin html

Delete the specified storage pool. A job will be spawned to operate on the storage-pool and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<storage-pool>  =>   B<string>

=begin html

<br>Name of the storage pool to be deleted.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 storage_pool_disk_get_iter

[B<Family:> cluster]


=begin html

This is a ZAPI used to iterate over all disks in storage pool. These disks are listed per Storage Pool

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-pool-disk-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-pool-disk-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-pool object. All storage-pool objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-pool-disk-info">[], optional>

=begin html

<br>The list of attributes of storage-pool objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-pool objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_pool_get_iter

[B<Family:> cluster]


=begin html

This is a ZAPI used to iterate over all the storage pools in the cluster and retrieve attributes of individual storage pool.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-pool-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-pool-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-pool object. All storage-pool objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-pool-info">[], optional>

=begin html

<br>The list of attributes of storage-pool objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-pool objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_pool_reassign

[B<Family:> cluster]


=begin html

Reassign capacity from one node to another node in storage pool A job will be spawned to operate on the storage-pool and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<allocation-units>  =>   B<integer>

=begin html

<br>The available capacity to be assigned in the form of count that is multiple of 'allocation-unit-size'. Available capacity can be found through API 'storage-pool-available-capacity-get-iter' where allocation unit size and total number of allocation units will be specified.

=end html

=back



=over 2

=item * I<from-node>  =>   B<node-name>

=begin html

<br>The node that owns the available capacity which needs to be re-assigned. The amount of available capacity owned by a Node can be determined using the fields 'allocation-units' and 'allocation-unit-size' from the 'storage-pool-available-capacity-get-iter' API. Capacity can be re-assigned only in multiples of 'allocation-unit-size'

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string>

=begin html

<br>The cluster-wide unique name of the storage pool.

=end html

=back



=over 2

=item * I<to-node>  =>   B<node-name>

=begin html

<br>The node to which the capacity will be assigned. To view the existing free space in the node, use 'storage-pool-available-capacity-get-iter'

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 storage_port_disable

[B<Family:> cluster]


=begin html

Disable a storage port

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean>

=begin html

<br>Force

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Port

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_port_enable

[B<Family:> cluster]


=begin html

Enable a storage port

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Port

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_port_info_get

[B<Family:> cluster]


=begin html

Get information about a specified storage port.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-port-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The cluster node where the storage port is located.

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>The name of the port. Example: '0a', '1b', etc.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-port-info">>

=begin html

<br>The attributes of the storage-port.

=end html

=back



=head2 storage_port_info_get_iter

[B<Family:> cluster]


=begin html

Get information about one or more storage ports.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-port-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-port-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-port object. All storage-port objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-port-info">[], optional>

=begin html

<br>The list of attributes of storage-port objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-port objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_port_rescan

[B<Family:> cluster]


=begin html

Rescan a storage port

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Port

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_port_reset

[B<Family:> cluster]


=begin html

Reset a storage port

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Port

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_port_reset_device

[B<Family:> cluster]


=begin html

Reset a device behind a storage port

=end html



B<Inputs>

=over 2

=item * I<bay-id>  =>   B<integer, optional>

=begin html

<br>Bay ID

=end html

=back



=over 2

=item * I<loop-id>  =>   B<integer, optional>

=begin html

<br>Loop ID

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<string>

=begin html

<br>Port

=end html

=back



=over 2

=item * I<shelf-name>  =>   B<string, optional>

=begin html

<br>Shelf Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_shelf_acp_configure

[B<Family:> cluster]


=begin html

Configure connection.

=end html



B<Inputs>

=over 2

=item * I<channel>  =>   B<channel-config-enum, optional>

=begin html

<br>The channel to which the connection needs to be configured (in-band/out-of-band). Possible values: <ul> <li> "out_of_band" - The connection type is out-of-band, <li> "in_band" - The connection type is in-band </ul>

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<true-false>

=begin html

<br>The state to which the connection needs to be configured (true/false).

=end html

=back



=over 2

=item * I<netmask>  =>   B<ip-address, optional>

=begin html

<br>The netmask that the configuration will use to setup connection (type: IPv4).

=end html

=back



=over 2

=item * I<subnet>  =>   B<ip-address, optional>

=begin html

<br>The subnet that the configuration will use to setup connection (type: IPv4).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_shelf_acp_firmware_update

[B<Family:> cluster]


=begin html

Start shelf firmware download process to update firmware on disk shelves. This operation is asynchronous, and therefore returns no errors that might occur during the download process. This operation will only update firmware on shelves that do not have the latest firmware revision.

=end html



B<Inputs>

=over 2

=item * I<module-name>  =>   B<string, optional>

=begin html

<br>The module name. Example: 1.10.A

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node that has alternate control path configured

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_shelf_acp_get

[B<Family:> cluster]


=begin html

Return the connectivity of the node. A return status of Full-Connectivity means, that the connection is properly configured and fully working. Any other status means that an error is seen.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-acp-connection">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node that has alternate control path configured.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-acp-connection">>

=begin html

<br>The attributes of the storage-shelf.

=end html

=back



=head2 storage_shelf_acp_module_get

[B<Family:> cluster]


=begin html

return the first module

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-acp-module">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>The node that has alternate control path configured

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-acp-module">>

=begin html

<br>The attributes of the storage-shelf.

=end html

=back



=head2 storage_shelf_acp_module_get_iter

[B<Family:> cluster]


=begin html

return the module list

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-acp-module">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-acp-module">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-shelf object. All storage-shelf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-shelf-acp-module">[], optional>

=begin html

<br>The list of attributes of storage-shelf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-shelf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_shelf_drawer_get

[B<Family:> cluster]


=begin html

Get drawer information about a specified storage shelf drawer.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-drawer-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<drawer>  =>   B<integer>

=begin html

<br>Drawer Number

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-drawer-info">>

=begin html

<br>The attributes of the storage-shelf.

=end html

=back



=head2 storage_shelf_drawer_get_iter

[B<Family:> cluster]


=begin html

Get drawer information about one or more storage shelf drawers.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-drawer-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-drawer-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-shelf object. All storage-shelf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-shelf-drawer-info">[], optional>

=begin html

<br>The list of attributes of storage-shelf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-shelf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_shelf_drawer_phy_get

[B<Family:> cluster]


=begin html

Get phy information about a specified storage shelf drawer phy.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-drawer-phy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<drawer>  =>   B<integer>

=begin html

<br>Drawer Number

=end html

=back



=over 2

=item * I<phy>  =>   B<integer>

=begin html

<br>PHY Number

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-drawer-phy-info">>

=begin html

<br>The attributes of the storage-shelf.

=end html

=back



=head2 storage_shelf_drawer_phy_get_iter

[B<Family:> cluster]


=begin html

Get phy information about one or more storage shelf drawer phys.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-drawer-phy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-drawer-phy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-shelf object. All storage-shelf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-shelf-drawer-phy-info">[], optional>

=begin html

<br>The list of attributes of storage-shelf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-shelf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_shelf_drawer_slot_get

[B<Family:> cluster]


=begin html

Get a map between bay number and drawer/slot number.

=end html



B<Inputs>

=over 2

=item * I<bay>  =>   B<integer>

=begin html

<br>Bay Number

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-drawer-slot-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-drawer-slot-info">>

=begin html

<br>The attributes of the storage-shelf.

=end html

=back



=head2 storage_shelf_drawer_slot_get_iter

[B<Family:> cluster]


=begin html

Get a map between bay number and drawer/slot number.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-drawer-slot-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-drawer-slot-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-shelf object. All storage-shelf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-shelf-drawer-slot-info">[], optional>

=begin html

<br>The list of attributes of storage-shelf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-shelf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_shelf_error_list_info

[B<Family:> cluster]


=begin html

Lists all known errors associated with a storage shelf.

=end html



B<Inputs>

=over 2

=item * I<shelf-name>  =>   B<string, optional>

=begin html

<br>Shelf Name

=end html

=back



B<Outputs>

=over 2

=item * I<shelf-errors>  =>   B<L<"storage-shelf-error-show-info">[], optional>

=begin html

<br>Returns storage shelf errors.

=end html

=back



=head2 storage_shelf_firmware_update

[B<Family:> cluster]


=begin html

Start shelf firmware download process to update firmware on disk shelves. This operation is asynchronous, and therefore returns no errors that might occur during the download process. This operation will only update firmware on shelves that do not have the latest firmware revision.

=end html



B<Inputs>

=over 2

=item * I<module-type>  =>   B<shelf-module-type, optional>

=begin html

<br>All the shelves in the cluster with this module type will be updated. Possible values: <ul> <li> "at_fcx" - AT-FCX Module Type, <li> "esh4" - ESH4 Module Type, <li> "iom3" - IOM3 Module Type, <li> "iom6" - IOM6 Module Type, <li> "iom6e" - IOM6E Module Type, <li> "iom12" - IOM12 Module Type, <li> "iom12e" - IOM12E Module Type, <li> "iom12f" - IOM12F Module Type </ul>

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name of the shelf that needs to be updated.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_shelf_firmware_update_info_get

[B<Family:> cluster]


=begin html

Storage shelf firmware update status record.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-firmware-update-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-firmware-update-info">>

=begin html

<br>The attributes of the storage-shelf-firmware-update.

=end html

=back



=head2 storage_shelf_firmware_update_info_get_iter

[B<Family:> cluster]


=begin html

Storage shelf firmware update status records.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-firmware-update-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-firmware-update-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-shelf-firmware-update object. All storage-shelf-firmware-update objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-shelf-firmware-update-info">[], optional>

=begin html

<br>The list of attributes of storage-shelf-firmware-update objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-shelf-firmware-update objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_shelf_info_get

[B<Family:> cluster]


=begin html

Get shelf information about a specified storage shelf.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-info">>

=begin html

<br>The attributes of the storage-shelf.

=end html

=back



=head2 storage_shelf_info_get_iter

[B<Family:> cluster]


=begin html

Get shelf information about one or more storage shelves.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-shelf object. All storage-shelf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-shelf-info">[], optional>

=begin html

<br>The list of attributes of storage-shelf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-shelf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_shelf_location_led_get

[B<Family:> cluster]


=begin html

Get the Location LED status of a shelf

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-location-led-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<shelf-name>  =>   B<string, optional>

=begin html

<br>Shelf Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-location-led-info">>

=begin html

<br>The attributes of the storage-shelf.

=end html

=back



=head2 storage_shelf_location_led_get_iter

[B<Family:> cluster]


=begin html

Get the Location LED status of one or more shelves

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-location-led-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-location-led-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-shelf object. All storage-shelf objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-shelf-location-led-info">[], optional>

=begin html

<br>The list of attributes of storage-shelf objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-shelf objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_shelf_location_led_modify

[B<Family:> cluster]


=begin html

Modify the state of the Location LED

=end html



B<Inputs>

=over 2

=item * I<led-status>  =>   B<storage-shelf-led-status, optional>

=begin html

<br>Location LED Possible values: <ul> <li> "off" , <li> "on" , <li> "unsupported" </ul>

=end html

=back



=over 2

=item * I<shelf-name>  =>   B<string, optional>

=begin html

<br>Shelf Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_shelf_location_led_modify_iter

[B<Family:> cluster]


=begin html

Modify the state of the Location LED of one or more shelves

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-shelf-location-led-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple storage-shelf objects match a given query. If set to true, the API will continue modifying the next matching storage-shelf even when modification of a previous storage-shelf fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching storage-shelf even when the modification of a previous matching storage-shelf fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-location-led-info">>

=begin html

<br>If modifying a specific storage-shelf, this input element must specify all keys. If modifying storage-shelf objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of storage-shelf objects (just keys) that were not modified due to some error. If set to false, the list of storage-shelf objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of storage-shelf objects (just keys) that were successfully updated. If set to false, the list of storage-shelf objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"storage-shelf-location-led-modify-iter-info">[], optional>

=begin html

<br>Information about storage-shelf objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching storage-shelf objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of storage-shelf objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of storage-shelf objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"storage-shelf-location-led-modify-iter-info">[], optional>

=begin html

<br>The storage-shelf objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 storage_shelf_storage_acp_configure

[B<Family:> cluster]


=begin html

Configure connection.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<true-false>

=begin html

<br>The state to which the connection needs to be configured (true/false).

=end html

=back



=over 2

=item * I<netmask>  =>   B<ip-address, optional>

=begin html

<br>The netmask that the configuration will use to setup connection (type: IPv4).

=end html

=back



=over 2

=item * I<subnet>  =>   B<ip-address, optional>

=begin html

<br>The subnet that the configuration will use to setup connection (type: IPv4).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 storage_shelf_firmware_file_get_iter

[B<Family:> cluster]


=begin html

return the firmware file list

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-shelf-firmware-file">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-shelf-firmware-file">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-shelf-firmware object. All storage-shelf-firmware objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-shelf-firmware-file">[], optional>

=begin html

<br>The list of attributes of storage-shelf-firmware objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-shelf-firmware objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 storage_switch_get

[B<Family:> cluster]


=begin html

Get the attributes of the storage-switch.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-switch-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the switch.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"storage-switch-info">>

=begin html

<br>The attributes of the storage-switch.

=end html

=back



=head2 storage_switch_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of storage-switch objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-switch-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-switch-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the storage-switch object. All storage-switch objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-switch-info">[], optional>

=begin html

<br>The list of attributes of storage-switch objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more storage-switch objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 external_cache_get

[B<Family:> cluster]


=begin html

Get the cluster-wide EC QoS settings.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"external-cache-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"external-cache-info">>

=begin html

<br>The attributes of the external-cache.

=end html

=back



=head2 external_cache_modify

[B<Family:> cluster]


=begin html

Modify the existing cluster-wide EC QoS settings.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Enabled

=end html

=back



=over 2

=item * I<is-hya-enabled>  =>   B<boolean, optional>

=begin html

<br>Is hya caching enabled

=end html

=back



=over 2

=item * I<is-rewarm-enabled>  =>   B<boolean, optional>

=begin html

<br>Is rewarm on

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<pcs-size>  =>   B<integer, optional>

=begin html

<br>PCS size

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_api_get_elements

[B<Family:> cluster, vserver]


=begin html

get elements for specified apis

=end html



B<Inputs>

=over 2

=item * I<api-list>  =>   B<api-list-info[]>

=begin html

<br>list of apis to retrieve

=end html

=back



B<Outputs>

=over 2

=item * I<api-entries>  =>   B<L<"system-api-entry-info">[]>

=begin html

<br>null

=end html

=back



=head2 system_api_list

[B<Family:> cluster, vserver]


=begin html

get list of apis. This returns the names only - to get the parameter info, use system-api-get-elements

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<apis>  =>   B<L<"system-api-info">[]>

=begin html

<br>null

=end html

=back



=head2 system_api_list_types

[B<Family:> cluster, vserver]


=begin html

get list and description of typedefs

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<type-entries>  =>   B<L<"system-api-type-entry-info">[]>

=begin html

<br>null

=end html

=back



=head2 system_get_node_info_iter

[B<Family:> cluster]


=begin html

Obtain appliance information which includes cpu and backplane information. The output contains the head information in a sysconfig -a command. I/O information is not included. System refers to a node in a cluster.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"system-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the system-info object. All system-info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"system-info">[], optional>

=begin html

<br>The list of attributes of system-info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more system-info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_get_ontapi_version

[B<Family:> cluster, vserver]


=begin html

Obtain the current ONTAPI major and minor versions.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<major-version>  =>   B<integer>

=begin html

<br>Current ONTAPI major version supported by this appliance.

=end html

=back



=over 2

=item * I<minor-version>  =>   B<integer>

=begin html

<br>Current ONTAPI minor version supported by this appliance.

=end html

=back



=over 2

=item * I<node-ontapi-details>  =>   B<L<"node-ontapi-detail-info">[], optional>

=begin html

<br>List of nodes along with the ONTAPI versions supported by each of them.

=end html

=back



=head2 system_get_vendor_info

[B<Family:> cluster]


=begin html

Obtain the Data ONTAP vendor information.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<autosupport-email>  =>   B<string>

=begin html

<br>Vendor's AutoSupport e-mail target.

=end html

=back



=over 2

=item * I<autosupport-url>  =>   B<string>

=begin html

<br>Vendor's AutoSupport URL target.

=end html

=back



=over 2

=item * I<complete-name>  =>   B<string>

=begin html

<br>Complete name of vendor.

=end html

=back



=over 2

=item * I<customer-support-contact>  =>   B<string>

=begin html

<br>Vendor's technical support contact information.

=end html

=back



=over 2

=item * I<customer-support-name>  =>   B<string>

=begin html

<br>Name of vendor's customer support organization.

=end html

=back



=over 2

=item * I<information-url>  =>   B<string>

=begin html

<br>Vendor's AutoSupport information URL.

=end html

=back



=over 2

=item * I<ontap-oid-prefix>  =>   B<string>

=begin html

<br>Vendor's starting SNMP OID prefix for Data ONTAP. The suffix that follows is the storage system MIB. For example, ".1.3.6.1.4.1.789". To obtain the filer's model name, one would concatenate the OID prefix and ".1.1.5.0" from the storage system MIB.

=end html

=back



=over 2

=item * I<product-url>  =>   B<string>

=begin html

<br>Vendor's installed product information URL.

=end html

=back



=over 2

=item * I<short-name>  =>   B<string>

=begin html

<br>Vendor's short name.

=end html

=back



=head2 system_get_version

[B<Family:> cluster, vserver]


=begin html

Obtain the Data ONTAP version.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<build-timestamp>  =>   B<integer, optional>

=begin html

<br>Time of build creation, in seconds since January 1, 1970, of the image running on the appliance or of the build whose Data ONTAP version is lowest across the cluster. This field is available in Data ONTAP 8.1 or later.

=end html

=back



=over 2

=item * I<is-clustered>  =>   B<boolean>

=begin html

<br>If true, indicates Data ONTAP Cluster-Mode, else Data ONTAP 7-Mode. This field is available in Data ONTAP 8.1 or later.

=end html

=back



=over 2

=item * I<node-version-details>  =>   B<L<"node-version-detail-info">[], optional>

=begin html

<br>List of node names along with the Data ONTAP version running on each node. This field is returned only if the cluster is currently operating with more than one version of Data ONTAP.

=end html

=back



=over 2

=item * I<version>  =>   B<string>

=begin html

<br>Current Data ONTAP version running on the appliance. If the cluster is currently operating with more than one version of Data ONTAP, then the lowest version of all is returned.

=end html

=back



=over 2

=item * I<version-tuple>  =>   B<L<"system-version-tuple">, optional>

=begin html

<br>The Data ONTAP version tuple, lowest across the cluster i.e. the effective cluster version. This field is available in Data ONTAP 8.1 or later.

=end html

=back



=head2 system_hypervisor_host_config_create

[B<Family:> cluster]


=begin html

Create the hypervisor host config.

=end html



B<Inputs>

=over 2

=item * I<address-ipv4>  =>   B<ip-address>

=begin html

<br>Address

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port-ipv4>  =>   B<integer, optional>

=begin html

<br>UDP Port

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the Hypervisor Host Config on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"system-hypervisor-host-config-info">, optional>

=begin html

<br>The Hypervisor Host Config created (keys or the entire object if requested)

=end html

=back



=head2 system_hypervisor_host_config_destroy

[B<Family:> cluster]


=begin html

Destroy the hypervisor host config.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_hypervisor_host_config_get

[B<Family:> cluster]


=begin html

Get the attributes of the hypervisor host config.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-hypervisor-host-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"system-hypervisor-host-config-info">>

=begin html

<br>The attributes of the Hypervisor Host Config.

=end html

=back



=head2 system_hypervisor_host_config_get_iter

[B<Family:> cluster]


=begin html

Iterate over the attributes of the hypervisor host config.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-hypervisor-host-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"system-hypervisor-host-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Hypervisor Host Config object. All Hypervisor Host Config objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"system-hypervisor-host-config-info">[], optional>

=begin html

<br>The list of attributes of Hypervisor Host Config objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Hypervisor Host Config objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_hypervisor_host_config_modify

[B<Family:> cluster]


=begin html

Modify the hypervisor host config.

=end html



B<Inputs>

=over 2

=item * I<address-ipv4>  =>   B<ip-address, optional>

=begin html

<br>Address

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port-ipv4>  =>   B<integer, optional>

=begin html

<br>UDP Port

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_hypervisor_snmpv3_config_create

[B<Family:> cluster]


=begin html

Create the hypervisor snmpv3 config.

=end html



B<Inputs>

=over 2

=item * I<auth-password>  =>   B<string, optional>

=begin html

<br>Authentication Password

=end html

=back



=over 2

=item * I<auth-protocol>  =>   B<string, optional>

=begin html

<br>Authentication Protocol

=end html

=back



=over 2

=item * I<engine-id>  =>   B<string, optional>

=begin html

<br>Engine ID

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<priv-protocol>  =>   B<string, optional>

=begin html

<br>Private Protocol

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the Hypervisor SNMPv4 Config on successful creation. Default: false

=end html

=back



=over 2

=item * I<snmp-trapport>  =>   B<integer, optional>

=begin html

<br>SNMP Trap Port

=end html

=back



=over 2

=item * I<username>  =>   B<string>

=begin html

<br>Username

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"system-hypervisor-snmpv3-config-info">, optional>

=begin html

<br>The Hypervisor SNMPv4 Config created (keys or the entire object if requested)

=end html

=back



=head2 system_hypervisor_snmpv3_config_destroy

[B<Family:> cluster]


=begin html

Destroy the hypervisor snmpv3 config.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_hypervisor_snmpv3_config_get

[B<Family:> cluster]


=begin html

Get the attributes of the hypervisor snmpv3 config.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-hypervisor-snmpv3-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"system-hypervisor-snmpv3-config-info">>

=begin html

<br>The attributes of the Hypervisor SNMPv4 Config.

=end html

=back



=head2 system_hypervisor_snmpv3_config_get_iter

[B<Family:> cluster]


=begin html

Iterate over the attributes of the hypervisor snmpv3 config.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-hypervisor-snmpv3-config-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"system-hypervisor-snmpv3-config-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the Hypervisor SNMPv4 Config object. All Hypervisor SNMPv4 Config objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"system-hypervisor-snmpv3-config-info">[], optional>

=begin html

<br>The list of attributes of Hypervisor SNMPv4 Config objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more Hypervisor SNMPv4 Config objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_hypervisor_snmpv3_config_modify

[B<Family:> cluster]


=begin html

Modify the hypervisor snmpv3 config.

=end html



B<Inputs>

=over 2

=item * I<auth-password>  =>   B<string, optional>

=begin html

<br>Authentication Password

=end html

=back



=over 2

=item * I<auth-protocol>  =>   B<string, optional>

=begin html

<br>Authentication Protocol

=end html

=back



=over 2

=item * I<engine-id>  =>   B<string, optional>

=begin html

<br>Engine ID

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<priv-protocol>  =>   B<string, optional>

=begin html

<br>Private Protocol

=end html

=back



=over 2

=item * I<snmp-trapport>  =>   B<integer, optional>

=begin html

<br>SNMP Trap Port

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>Username

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_hypervisor_uplink_mapping_create

[B<Family:> cluster]


=begin html

Create the hypervisor uplink mapping.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<net-port>

=begin html

<br>Port

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the Hypervisor Uplink Mapping on successful creation. Default: false

=end html

=back



=over 2

=item * I<uplinks>  =>   B<string[]>

=begin html

<br>Uplink Mapping

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"system-hypervisor-uplink-mapping-info">, optional>

=begin html

<br>The Hypervisor Uplink Mapping created (keys or the entire object if requested)

=end html

=back



=head2 system_hypervisor_uplink_mapping_destroy

[B<Family:> cluster]


=begin html

Destroy the hypervisor uplink mapping.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<net-port>

=begin html

<br>Port

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_hypervisor_uplink_mapping_get

[B<Family:> cluster]


=begin html

Get the attributes of a hypervisor uplink mapping.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-hypervisor-uplink-mapping-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<net-port>

=begin html

<br>Port

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"system-hypervisor-uplink-mapping-info">>

=begin html

<br>The attributes of the Hypervisor Uplink Mapping.

=end html

=back



=head2 system_hypervisor_uplink_mapping_modify

[B<Family:> cluster]


=begin html

Modify the hypervisor uplink mapping.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<filer-id>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<port>  =>   B<net-port>

=begin html

<br>Port

=end html

=back



=over 2

=item * I<uplinks>  =>   B<string[], optional>

=begin html

<br>Uplink Mapping

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_image_external_package_delete

[B<Family:> cluster]


=begin html

Delete file on external device

=end html



B<Inputs>

=over 2

=item * I<device>  =>   B<externaldevice>

=begin html

<br>Device Possible values: <ul> <li> "usb0" - Usb0 </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<package>  =>   B<string>

=begin html

<br>File Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_image_external_package_get_iter

[B<Family:> cluster]


=begin html

Display file listing on external device

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-image-external-package-attributes">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"system-image-external-package-attributes">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the system object. All system objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"system-image-external-package-attributes">[], optional>

=begin html

<br>The list of attributes of system objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more system objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_image_fetch_package

[B<Family:> cluster]


=begin html

Fetch a file from a URL. This API will return immediately. The progress can be monitored using the 'system-image-update-progress-get' API.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<package>  =>   B<string>

=begin html

<br>Package URL

=end html

=back



=over 2

=item * I<rename-package>  =>   B<string, optional>

=begin html

<br>Rename the File

=end html

=back



=over 2

=item * I<replace-package>  =>   B<boolean, optional>

=begin html

<br>Replace the Local File

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_image_get_iter

[B<Family:> cluster]


=begin html

Display software image information

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-image-attributes">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"system-image-attributes">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the system object. All system objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"system-image-attributes">[], optional>

=begin html

<br>The list of attributes of system objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more system objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_image_install

[B<Family:> cluster]


=begin html

Perform software image fresh install

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<package>  =>   B<string>

=begin html

<br>Package URL

=end html

=back



=over 2

=item * I<rename-package>  =>   B<string, optional>

=begin html

<br>Rename the File

=end html

=back



=over 2

=item * I<replace-package>  =>   B<boolean, optional>

=begin html

<br>Replace the Local File

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_image_modify

[B<Family:> cluster]


=begin html

Modify software image configuration

=end html



B<Inputs>

=over 2

=item * I<image>  =>   B<string>

=begin html

<br>Image Name

=end html

=back



=over 2

=item * I<is-default>  =>   B<boolean, optional>

=begin html

<br>Is Default Image

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_image_package_delete

[B<Family:> cluster]


=begin html

Delete a software package

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<package>  =>   B<string>

=begin html

<br>Package File Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_image_package_get_iter

[B<Family:> cluster]


=begin html

Display software information for all packages

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-image-package-attributes">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"system-image-package-attributes">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the system object. All system objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"system-image-package-attributes">[], optional>

=begin html

<br>The list of attributes of system objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more system objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_image_update

[B<Family:> cluster]


=begin html

Perform software image upgrade/downgrade. This API will return immediately. The progress can be monitored using the 'system-image-update-progress-get' API.

=end html



B<Inputs>

=over 2

=item * I<ignore-compatibility>  =>   B<boolean, optional>

=begin html

<br>Ignore Version Compatibility Checking

=end html

=back



=over 2

=item * I<ignore-offline>  =>   B<boolean, optional>

=begin html

<br>Ignore Offline Aggregates and Volumes

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<package>  =>   B<string>

=begin html

<br>Package URL

=end html

=back



=over 2

=item * I<rename-package>  =>   B<string, optional>

=begin html

<br>Rename the File

=end html

=back



=over 2

=item * I<replace>  =>   B<string, optional>

=begin html

<br>Image to Replace

=end html

=back



=over 2

=item * I<replace-package>  =>   B<boolean, optional>

=begin html

<br>Replace the Local File

=end html

=back



=over 2

=item * I<setdefault>  =>   B<boolean, optional>

=begin html

<br>Set Newly Updated Image as Default

=end html

=back



=over 2

=item * I<validate-only>  =>   B<boolean, optional>

=begin html

<br>Validate the Package before Installation

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_image_update_get_abort

[B<Family:> cluster]


=begin html

Abort software image update or get operation

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_image_update_progress_get

[B<Family:> cluster]


=begin html

Show progress information for current or previous update

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<exit-message>  =>   B<string, optional>

=begin html

<br>Exit Message

=end html

=back



=over 2

=item * I<exit-status>  =>   B<string, optional>

=begin html

<br>Exit Status

=end html

=back



=over 2

=item * I<last-message>  =>   B<string, optional>

=begin html

<br>Internal message

=end html

=back



=over 2

=item * I<phase>  =>   B<string, optional>

=begin html

<br>Phase

=end html

=back



=over 2

=item * I<run-status>  =>   B<string, optional>

=begin html

<br>Run Status

=end html

=back



=head2 system_node_discovery_get_iter

[B<Family:> cluster]


=begin html

Get the discovered nodes sequentially. This returns all unconfigured nodes and all cluster nodes found within the local cluster network.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-node-discovery">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"system-node-discovery">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the system-node-discovery object. All system-node-discovery objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"system-node-discovery">[], optional>

=begin html

<br>The list of attributes of system-node-discovery objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more system-node-discovery objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_node_get

[B<Family:> cluster]


=begin html

Obtain the node information when the node is part of a cluster. Information returned includes details like location, serial-number, asset tag, uptime, vendor name etc.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"node-details-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The textual name of a node.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"node-details-info">>

=begin html

<br>The attributes of the system-node.

=end html

=back



=head2 system_node_get_iter

[B<Family:> cluster]


=begin html

Obtain the node information when the node is a part of the cluster in an iteration.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"node-details-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"node-details-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the system-node object. All system-node objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"node-details-info">[], optional>

=begin html

<br>The list of attributes of system-node objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more system-node objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_node_modify

[B<Family:> cluster]


=begin html

Modify the node information when the node is a part of the cluster.

=end html



B<Inputs>

=over 2

=item * I<is-diff-svcs>  =>   B<boolean, optional>

=begin html

<br>Is this node part of differentiated services storage infrastructure.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The textual name of a node.

=end html

=back



=over 2

=item * I<node-asset-tag>  =>   B<string, optional>

=begin html

<br>The asset tag of the node.

=end html

=back



=over 2

=item * I<node-location>  =>   B<string, optional>

=begin html

<br>The physical location of the node. For example, Sunnyvale.

=end html

=back



=over 2

=item * I<node-owner>  =>   B<string, optional>

=begin html

<br>The owner of the node.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_node_power_cycle

[B<Family:> cluster]


=begin html

Remote Node Power Cycle

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node which needs to be power cycled

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_node_power_get

[B<Family:> cluster]


=begin html

Get power status information about a node

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-node-power-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Target node for the operation

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"system-node-power-info">>

=begin html

<br>The attributes of the system-node-power.

=end html

=back



=head2 system_node_power_off

[B<Family:> cluster]


=begin html

Remote Node Power Off

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node which needs to be powered off

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_node_power_on

[B<Family:> cluster]


=begin html

Remote Node Power On

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node which needs to be powered on

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_node_reboot

[B<Family:> cluster]


=begin html

Reboot the specified node. Only an admin can reboot the node. If attempted by a user with insufficient privileges EAPIPRIVILEGE is returned.

=end html



B<Inputs>

=over 2

=item * I<ignore-quorum-warnings>  =>   B<boolean, optional>

=begin html

<br>Skip quorum check before reboot.

=end html

=back



=over 2

=item * I<is-dump>  =>   B<boolean, optional>

=begin html

<br>If 'true', a core dump will be created. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-inhibit-takeover>  =>   B<boolean, optional>

=begin html

<br>If 'true', storage takeover by partner will be disallowed. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-skip-lif-migration-before-reboot>  =>   B<boolean, optional>

=begin html

<br>If 'true', skip migrating LIFs away from this node prior to reboot. Default value is 'true'.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node to reboot.

=end html

=back



=over 2

=item * I<reason>  =>   B<string, optional>

=begin html

<br>Reason for reboot.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_node_rename

[B<Family:> cluster]


=begin html

Rename the specified node to a new name specified by 'new-name'

=end html



B<Inputs>

=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New Name

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The textual name of a node.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_node_reset

[B<Family:> cluster]


=begin html

Reset node using selected BIOS firmware

=end html



B<Inputs>

=over 2

=item * I<firmware>  =>   B<bios-fw-type, optional>

=begin html

<br>BIOS Firmware to use on reboot

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node to be reset

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_node_shutdown

[B<Family:> cluster]


=begin html

Shut down a node. Only an admin can initiate a node shutdown. If attempted by a user with insufficient privileges EAPIPRIVILEGE is returned.

=end html



B<Inputs>

=over 2

=item * I<ignore-quorum-warnings>  =>   B<boolean, optional>

=begin html

<br>Skip quorum check before halt.

=end html

=back



=over 2

=item * I<is-dump>  =>   B<boolean, optional>

=begin html

<br>If 'true', a core dump will be created. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-inhibit-takeover>  =>   B<boolean, optional>

=begin html

<br>If 'true', storage takeover by partner will be disallowed. Default value is 'true'.

=end html

=back



=over 2

=item * I<is-skip-lif-migration-before-shutdown>  =>   B<boolean, optional>

=begin html

<br>If 'true', skip migrating LIFs away from this node prior to shutdown. Default value is 'true'.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node to shutdown.

=end html

=back



=over 2

=item * I<reason>  =>   B<string, optional>

=begin html

<br>Reason for shutdown.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_services_web_get

[B<Family:> cluster]


=begin html

Get the configuration for the web server for Data ONTAP web services

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-services-web-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"system-services-web-info">>

=begin html

<br>The attributes of the system.

=end html

=back



=head2 system_services_web_node_get

[B<Family:> cluster]


=begin html

Get the status of the web server for Data ONTAP web services

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-services-web-node-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"system-services-web-node-info">>

=begin html

<br>The attributes of the system.

=end html

=back



=head2 system_services_web_node_get_iter

[B<Family:> cluster]


=begin html

Get the status of the web server for Data ONTAP web services

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"system-services-web-node-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"system-services-web-node-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the system object. All system objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"system-services-web-node-info">[], optional>

=begin html

<br>The list of attributes of system objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more system objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_status_hypervisor_get

[B<Family:> cluster]


=begin html

Returns the hypervisor support levels

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"status-hypervisor-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"status-hypervisor-info">>

=begin html

<br>The attributes of the status-hypervisor.

=end html

=back



=head2 system_status_hypervisor_modify

[B<Family:> cluster]


=begin html

Modifies the hypervisor support levels

=end html



B<Inputs>

=over 2

=item * I<host-type>  =>   B<oss-host-type>

=begin html

<br>Hypervisor platform type

=end html

=back



=over 2

=item * I<support-level>  =>   B<oss-support-level>

=begin html

<br>Hypervisor support level

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_status_restart_restart_service

[B<Family:> cluster]


=begin html

Restart a system status service

=end html



B<Inputs>

=over 2

=item * I<service>  =>   B<oss-restart>

=begin html

<br>Service to restart Possible values: <ul> <li> "statd" , <li> "mond" , <li> "both" </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 system_status_service_get_iter

[B<Family:> cluster]


=begin html

Returns status information for objects in the system

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the status_service object. All status_service objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"status-info">[], optional>

=begin html

<br>The list of attributes of status_service objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more status_service objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 system_user_capability_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns the objects and their operations which are permitted to user who called this API.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"capability-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"capability-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the security login role object. All security login role objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"capability-info">[], optional>

=begin html

<br>The list of attributes of security login role objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more security login role objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 tape_mc_get

[B<Family:> cluster]


=begin html

Return a tape drive / media changer view

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"tape-mc-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<device-id>  =>   B<string>

=begin html

<br>Device ID

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"tape-mc-info">>

=begin html

<br>The attributes of the tape-mc-info.

=end html

=back



=head2 tape_mc_get_iter

[B<Family:> cluster]


=begin html

Iterate over the list of Tape/MC objects

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"tape-mc-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 300

=end html

=back



=over 2

=item * I<query>  =>   B<L<"tape-mc-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the tape-mc-info object. All tape-mc-info objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"tape-mc-info">[], optional>

=begin html

<br>The list of attributes of tape-mc-info objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more tape-mc-info objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 tape_mc_info_alias_clear

[B<Family:> cluster]


=begin html

Clear tape drive / media changer alias. Specify name or clear-scope but not both.

=end html



B<Inputs>

=over 2

=item * I<clear-scope>  =>   B<tape-mc-device-scope-enum, optional>

=begin html

<br>Scope of Alias Clear Operation

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Alias Name That Is to Be Cleared

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 tape_mc_info_alias_set

[B<Family:> cluster]


=begin html

Set a tape/drive media changer alias

=end html



B<Inputs>

=over 2

=item * I<mapping>  =>   B<string>

=begin html

<br>Mapping for Alias Name

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Alias Name for Tape Drive or Media Changer

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 tape_mc_info_offline

[B<Family:> cluster]


=begin html

Take a tape drive offline. Specify name or device-id but not both.

=end html



B<Inputs>

=over 2

=item * I<device-id>  =>   B<string, optional>

=begin html

<br>Tape Drive Device ID

=end html

=back



=over 2

=item * I<device-name>  =>   B<string, optional>

=begin html

<br>Tape Drive Device Name

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 tape_mc_info_online

[B<Family:> cluster]


=begin html

Bring a tape drive online

=end html



B<Inputs>

=over 2

=item * I<device-id>  =>   B<string, optional>

=begin html

<br>Tape Drive Device ID

=end html

=back



=over 2

=item * I<device-name>  =>   B<string, optional>

=begin html

<br>Tape Drive Device Name

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 tape_mc_info_position

[B<Family:> cluster]


=begin html

Position tape cartridge

=end html



B<Inputs>

=over 2

=item * I<count>  =>   B<integer, optional>

=begin html

<br>Count for Positioning

=end html

=back



=over 2

=item * I<device-name>  =>   B<string>

=begin html

<br>Tape Drive Device Name

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



=over 2

=item * I<operation>  =>   B<tape-mc-tape-oper-enum>

=begin html

<br>Tape Position Operation

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 tape_mc_info_reset

[B<Family:> cluster]


=begin html

Reset the tape drive

=end html



B<Inputs>

=over 2

=item * I<device-id>  =>   B<string>

=begin html

<br>Tape Drive Device ID

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 tape_mc_info_test_release

[B<Family:> cluster]


=begin html

Release a tape drive test reservation

=end html



B<Inputs>

=over 2

=item * I<device-id>  =>   B<string>

=begin html

<br>Tape Drive Device ID

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 tape_mc_info_test_reserve

[B<Family:> cluster]


=begin html

Reserve a tape drive for testing

=end html



B<Inputs>

=over 2

=item * I<device-id>  =>   B<string>

=begin html

<br>Tape Drive Device ID

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 tape_mc_info_trace

[B<Family:> cluster]


=begin html

Enable/disable tape trace operations

=end html



B<Inputs>

=over 2

=item * I<is-trace-enabled>  =>   B<boolean>

=begin html

<br>Tape Trace Enabled or Disabled

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 template_management_template_copy

[B<Family:> cluster]


=begin html

Copy a Template.

=end html



B<Inputs>

=over 2

=item * I<destination-name>  =>   B<string>

=begin html

<br>Destination template.

=end html

=back



=over 2

=item * I<destination-template>  =>   B<string>

=begin html

<br>Destination Template Name.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the template

=end html

=back



=over 2

=item * I<template>  =>   B<string>

=begin html

<br>Name of the Template

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 template_management_template_delete

[B<Family:> cluster]


=begin html

Delete a template.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the template.

=end html

=back



=over 2

=item * I<template>  =>   B<string>

=begin html

<br>Template name.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 template_management_template_download

[B<Family:> cluster]


=begin html

Download a template.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the template.

=end html

=back



=over 2

=item * I<uri>  =>   B<string>

=begin html

<br>URI of the template.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 template_management_template_get

[B<Family:> cluster]


=begin html

Get the attributes of the template.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"template-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<name>  =>   B<template-name>

=begin html

<br>Name of the template

=end html

=back



=over 2

=item * I<template>  =>   B<string>

=begin html

<br>Name of the Template

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"template-info">>

=begin html

<br>The attributes of the template-management.

=end html

=back



=head2 template_management_template_get_iter

[B<Family:> cluster]


=begin html

Display information about templates.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"template-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"template-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the template-management object. All template-management objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"template-info">[], optional>

=begin html

<br>The list of attributes of template-management objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more template-management objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 template_management_template_parameter_get

[B<Family:> cluster]


=begin html

Get the parameter of a Template.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"template-parameter-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the parameter

=end html

=back



=over 2

=item * I<parameter>  =>   B<string>

=begin html

<br>Name of the Parameter

=end html

=back



=over 2

=item * I<template>  =>   B<template-name>

=begin html

<br>Name of the template

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"template-parameter-info">>

=begin html

<br>The attributes of the template-management.

=end html

=back



=head2 template_management_template_parameter_get_iter

[B<Family:> cluster]


=begin html

Get the parameters of the Template.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"template-parameter-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"template-parameter-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the template-management object. All template-management objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"template-parameter-info">[], optional>

=begin html

<br>The list of attributes of template-management objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more template-management objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 template_management_template_parameter_modify

[B<Family:> cluster]


=begin html

Modify attributes of a parameter.

=end html



B<Inputs>

=over 2

=item * I<default-value>  =>   B<string, optional>

=begin html

<br>Default value of the parameter

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the parameter

=end html

=back



=over 2

=item * I<parameter>  =>   B<string>

=begin html

<br>Name of the Parameter

=end html

=back



=over 2

=item * I<template>  =>   B<template-name>

=begin html

<br>Name of the template

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 template_management_template_parameter_modify_iter

[B<Family:> cluster]


=begin html

Modify attributes of a parameter.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"template-parameter-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple template-management objects match a given query. If set to true, the API will continue modifying the next matching template-management even when modification of a previous template-management fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching template-management even when the modification of a previous matching template-management fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"template-parameter-info">>

=begin html

<br>If modifying a specific template-management, this input element must specify all keys. If modifying template-management objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of template-management objects (just keys) that were not modified due to some error. If set to false, the list of template-management objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of template-management objects (just keys) that were successfully updated. If set to false, the list of template-management objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"template-management-template-parameter-modify-iter-info">[], optional>

=begin html

<br>Information about template-management objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching template-management objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of template-management objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of template-management objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"template-management-template-parameter-modify-iter-info">[], optional>

=begin html

<br>The template-management objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 template_management_template_provision

[B<Family:> cluster]


=begin html

Configures a Vserver according to the specification provided in the template. This is an async operation. On a successful queuing of the import operation, a job ID of the job that would configure the Vserver would be returned.

=end html



B<Inputs>

=over 2

=item * I<custom-inputs>  =>   B<L<"custom-input-info">[], optional>

=begin html

<br>An array, one entry per each custom input.

=end html

=back



=over 2

=item * I<template>  =>   B<string>

=begin html

<br>The name of the template.

=end html

=back



B<Outputs>

=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>The job id of the job that was queued to configure the Vserver.

=end html

=back



=head2 template_management_template_provision_error_get

[B<Family:> cluster]


=begin html

Get the Template Provision Error Details.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"template-provision-error-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<jobid>  =>   B<integer>

=begin html

<br>Job ID

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"template-provision-error-info">>

=begin html

<br>The attributes of the template-management.

=end html

=back



=head2 template_management_template_rename

[B<Family:> cluster]


=begin html

Rename a template.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the template

=end html

=back



=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New name of the template.

=end html

=back



=over 2

=item * I<template>  =>   B<string>

=begin html

<br>Name of the Template

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 template_management_template_upload

[B<Family:> cluster]


=begin html

Upload a template.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the template.

=end html

=back



=over 2

=item * I<uri>  =>   B<string>

=begin html

<br>URI to upload the template.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 ucm_adapter_get

[B<Family:> cluster]


=begin html

Get the attributes of the UC Adapter.

=end html



B<Inputs>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>Adapter

=end html

=back



=over 2

=item * I<desired-attributes>  =>   B<L<"uc-adapter-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"uc-adapter-info">>

=begin html

<br>The attributes of the UC Adapter.

=end html

=back



=head2 ucm_adapter_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of UC Adapter objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"uc-adapter-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"uc-adapter-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the UC Adapter object. All UC Adapter objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"uc-adapter-info">[], optional>

=begin html

<br>The list of attributes of UC Adapter objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more UC Adapter objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 ucm_adapter_modify

[B<Family:> cluster]


=begin html

Modify the attributes of UC Adapter object.

=end html



B<Inputs>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>Adapter

=end html

=back



=over 2

=item * I<fc4-type>  =>   B<ucm-type, optional>

=begin html

<br>Configured Type

=end html

=back



=over 2

=item * I<mode>  =>   B<ucm-mode, optional>

=begin html

<br>Configured Mode

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name>

=begin html

<br>Node

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 virtual_machine_get_info

[B<Family:> cluster]


=begin html

Retrieve virtual machine instance information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vm-instance-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vm-instance-info">>

=begin html

<br>The attributes of the virtual-machine.

=end html

=back



=head2 virtual_machine_provider_credential_create

[B<Family:> cluster]


=begin html

Add provider credentials. If the node is already configured with credentials, the command will return EDUPLICATEENTRY.

=end html



B<Inputs>

=over 2

=item * I<aws-access-key>  =>   B<string, optional>

=begin html

<br>An Amazon Web Services access key ID. Access key must be 16 to 32 characters in length.

=end html

=back



=over 2

=item * I<aws-secret-key>  =>   B<string, optional>

=begin html

<br>The Amazon Web Services secret key associated with the access key.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the virtual-machine-provider-credential on successful creation. Default: false

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"vm-provider-credential">, optional>

=begin html

<br>The virtual-machine-provider-credential created (keys or the entire object if requested)

=end html

=back



=head2 virtual_machine_provider_credential_destroy

[B<Family:> cluster]


=begin html

Remove provider credentials.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 virtual_machine_provider_credential_destroy_iter

[B<Family:> cluster]


=begin html

Remove provider credentials.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple virtual-machine-provider-credential objects match a given query. If set to true, the API will continue deleting the next matching virtual-machine-provider-credential even when the deletion of a previous virtual-machine-provider-credential fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching virtual-machine-provider-credential even when the deletion of a previous matching virtual-machine-provider-credential fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of virtual-machine-provider-credential objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vm-provider-credential">>

=begin html

<br>If deleting a specific virtual-machine-provider-credential, this input element must specify all keys. If deleting multiple virtual-machine-provider-credential objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of virtual-machine-provider-credential objects (just keys) that were not deleted due to some error. If set to false, the list of virtual-machine-provider-credential objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of virtual-machine-provider-credential objects (just keys) that were successfully deleted. If set to false, the list of virtual-machine-provider-credential objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"virtual-machine-provider-credential-destroy-iter-info">[], optional>

=begin html

<br>Information about virtual-machine-provider-credential objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching virtual-machine-provider-credential objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of virtual-machine-provider-credential objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of virtual-machine-provider-credential objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"virtual-machine-provider-credential-destroy-iter-info">[], optional>

=begin html

<br>The virtual-machine-provider-credential objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 virtual_machine_provider_credential_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of provider credentials.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vm-provider-credential">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vm-provider-credential">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the virtual-machine-provider-credential object. All virtual-machine-provider-credential objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vm-provider-credential">[], optional>

=begin html

<br>The list of attributes of virtual-machine-provider-credential objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more virtual-machine-provider-credential objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 virtual_machine_provider_credential_modify

[B<Family:> cluster]


=begin html

Modify provider credentials. Modifying a node with no existing credentials will succeed in adding the credentials to the node.

=end html



B<Inputs>

=over 2

=item * I<aws-access-key>  =>   B<string, optional>

=begin html

<br>An Amazon Web Services access key ID. Access key must be 16 to 32 characters in length.

=end html

=back



=over 2

=item * I<aws-secret-key>  =>   B<string, optional>

=begin html

<br>The Amazon Web Services secret key associated with the access key.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 virtual_machine_provider_credential_modify_iter

[B<Family:> cluster]


=begin html

Modify provider credentials. Modifying a node with no existing credentials will succeed in adding the credentials to the node.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"vm-provider-credential">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple virtual-machine-provider-credential objects match a given query. If set to true, the API will continue modifying the next matching virtual-machine-provider-credential even when modification of a previous virtual-machine-provider-credential fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching virtual-machine-provider-credential even when the modification of a previous matching virtual-machine-provider-credential fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vm-provider-credential">>

=begin html

<br>If modifying a specific virtual-machine-provider-credential, this input element must specify all keys. If modifying virtual-machine-provider-credential objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of virtual-machine-provider-credential objects (just keys) that were not modified due to some error. If set to false, the list of virtual-machine-provider-credential objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of virtual-machine-provider-credential objects (just keys) that were successfully updated. If set to false, the list of virtual-machine-provider-credential objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"virtual-machine-provider-credential-modify-iter-info">[], optional>

=begin html

<br>Information about virtual-machine-provider-credential objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching virtual-machine-provider-credential objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of virtual-machine-provider-credential objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of virtual-machine-provider-credential objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"virtual-machine-provider-credential-modify-iter-info">[], optional>

=begin html

<br>The virtual-machine-provider-credential objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 virtual_machine_provider_proxy_create

[B<Family:> cluster]


=begin html

Add a proxy server. If the node already has a proxy server, the command will return EDUPLICATEENTRY.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the virtual-machine-provider-proxy on successful creation. Default: false

=end html

=back



=over 2

=item * I<server>  =>   B<string>

=begin html

<br>A proxy server that can reach the provider. It takes the form: [protocol://]server[:port], for example: 'http://10.11.12.13:9090'.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"vm-provider-proxy">, optional>

=begin html

<br>The virtual-machine-provider-proxy created (keys or the entire object if requested)

=end html

=back



=head2 virtual_machine_provider_proxy_destroy

[B<Family:> cluster]


=begin html

Remove a proxy server.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 virtual_machine_provider_proxy_destroy_iter

[B<Family:> cluster]


=begin html

Remove proxy servers.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple virtual-machine-provider-proxy objects match a given query. If set to true, the API will continue deleting the next matching virtual-machine-provider-proxy even when the deletion of a previous virtual-machine-provider-proxy fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching virtual-machine-provider-proxy even when the deletion of a previous matching virtual-machine-provider-proxy fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of virtual-machine-provider-proxy objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vm-provider-proxy">>

=begin html

<br>If deleting a specific virtual-machine-provider-proxy, this input element must specify all keys. If deleting multiple virtual-machine-provider-proxy objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of virtual-machine-provider-proxy objects (just keys) that were not deleted due to some error. If set to false, the list of virtual-machine-provider-proxy objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of virtual-machine-provider-proxy objects (just keys) that were successfully deleted. If set to false, the list of virtual-machine-provider-proxy objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"virtual-machine-provider-proxy-destroy-iter-info">[], optional>

=begin html

<br>Information about virtual-machine-provider-proxy objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching virtual-machine-provider-proxy objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of virtual-machine-provider-proxy objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of virtual-machine-provider-proxy objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"virtual-machine-provider-proxy-destroy-iter-info">[], optional>

=begin html

<br>The virtual-machine-provider-proxy objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 virtual_machine_provider_proxy_get_iter

[B<Family:> cluster]


=begin html

Iterate over a list of proxy servers.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vm-provider-proxy">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vm-provider-proxy">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the virtual-machine-provider-proxy object. All virtual-machine-provider-proxy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vm-provider-proxy">[], optional>

=begin html

<br>The list of attributes of virtual-machine-provider-proxy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more virtual-machine-provider-proxy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 virtual_machine_provider_proxy_modify

[B<Family:> cluster]


=begin html

Modify the proxy server. Modifying a node with no proxy will succeed in configuring a proxy for the node.

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node.

=end html

=back



=over 2

=item * I<server>  =>   B<string, optional>

=begin html

<br>A proxy server that can reach the provider. It takes the form: [protocol://]server[:port], for example: 'http://10.11.12.13:9090'.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 virtual_machine_provider_proxy_modify_iter

[B<Family:> cluster]


=begin html

Modify the proxy server. Modifying a node with no proxy will succeed in configuring a proxy for the node.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"vm-provider-proxy">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple virtual-machine-provider-proxy objects match a given query. If set to true, the API will continue modifying the next matching virtual-machine-provider-proxy even when modification of a previous virtual-machine-provider-proxy fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching virtual-machine-provider-proxy even when the modification of a previous matching virtual-machine-provider-proxy fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vm-provider-proxy">>

=begin html

<br>If modifying a specific virtual-machine-provider-proxy, this input element must specify all keys. If modifying virtual-machine-provider-proxy objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of virtual-machine-provider-proxy objects (just keys) that were not modified due to some error. If set to false, the list of virtual-machine-provider-proxy objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of virtual-machine-provider-proxy objects (just keys) that were successfully updated. If set to false, the list of virtual-machine-provider-proxy objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"virtual-machine-provider-proxy-modify-iter-info">[], optional>

=begin html

<br>Information about virtual-machine-provider-proxy objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching virtual-machine-provider-proxy objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of virtual-machine-provider-proxy objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of virtual-machine-provider-proxy objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"virtual-machine-provider-proxy-modify-iter-info">[], optional>

=begin html

<br>The virtual-machine-provider-proxy objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 virtual_machine_system_disks_get_iter

[B<Family:> cluster]


=begin html

Retrieve Data ONTAP virtual machine system disks details.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"virtual-machine-system-disks-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"virtual-machine-system-disks-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the virtual-machine-system-disks object. All virtual-machine-system-disks objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"virtual-machine-system-disks-info">[], optional>

=begin html

<br>The list of attributes of virtual-machine-system-disks objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more virtual-machine-system-disks objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vmservices_vsphere_credential_check

[B<Family:> cluster]


=begin html

Check vSphere credentials by attempting to login to the vSphere server. <p> The error return values may be interpreted as follows: EOPNOTSUPPORTED This was invoked on a non-VSA platform. EINVALIDINPUTERROR Missing username or password. EAPIAUTHENTICATION vSphere server authentication failed. EHOSTNOTFOUND could not resolve server name with DNS EONTAPI_ECONNREFUSED could not connect to server EINTERNALERROR internal error in underlying implementation

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node to check credentials on.

=end html

=back



B<Outputs>

=over 2

=item * I<are-credentials-correct>  =>   B<boolean, optional>

=begin html

<br>Either 'true' for correct credentials or 'false' for incorrect credentials.

=end html

=back



=head2 vmservices_vsphere_credential_get

[B<Family:> cluster]


=begin html

Reports the currently configured vSphere server and username. <p> The error return values may be interpreted as follows: EOPNOTSUPPORTED This was invoked on a non-VSA platform. EINTERNALERROR internal error in underlying implementation

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node to get credentials for.

=end html

=back



B<Outputs>

=over 2

=item * I<server>  =>   B<string, optional>

=begin html

<br>The currently configured vSphere server, if any. It can be a hostname if DNS is enabled, otherwise it must be an IP address.

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>The currently configured vSphere username, if any.

=end html

=back



=head2 vmservices_vsphere_credential_modify

[B<Family:> cluster]


=begin html

Modify or set initial value for vSphere server, user, and/or password. <p> The error return values may be interpreted as follows: EOPNOTSUPPORTED This was invoked on a non-VSA platform. EINVALIDINPUTERROR argument(s) too large EINTERNALERROR internal error in underlying implementation

=end html



B<Inputs>

=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The node to send this modify operation to.

=end html

=back



=over 2

=item * I<password>  =>   B<string, optional, encrypted>

=begin html

<br>Password for the vSphere user. If not specified, the configured password (if any) is not changed.

=end html

=back



=over 2

=item * I<server>  =>   B<string, optional>

=begin html

<br>vSphere server managing this VSA instance: either the ESX host itself or its managing vCenter server. It can be a hostname if DNS is enabled, otherwise it must be an IP address. If not specified, the configured server (if any) is not changed.

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>A vSphere username (only "read-only" access required) to be used when connecting to the vSphere server. If not specified, the configured username (if any) is not changed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_aggregate_vacate_async

[B<Family:> cluster]


=begin html

Moves all constituents belonging to a given Infinite Volume from the source aggregate to the destination aggregate. A job will be spawned to operate on the volume and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<dest-aggr>  =>   B<string>

=begin html

<br>The name of the destination aggregate to which the Infinite Volume constituents are being moved. The maximum length of the aggregate name is 255 characters.

=end html

=back



=over 2

=item * I<source-aggr>  =>   B<string>

=begin html

<br>The name of the source aggregate from which all Infinite Volume constituents are being moved. The maximum length of the aggregate name is 255 characters.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the Infinite Volume. The maximum length of the Infinite Volume name is 255 characters.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The name of the Vserver which owns the volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_autobalance_get

[B<Family:> vserver]


=begin html

displays information about Auto Balance Volume operations for an Infinite Volume. <p>This API is only supported for Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-autobalance-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<storage-service>  =>   B<storage-service-name>

=begin html

<br>If the Infinite Volume uses storage services, the storage-service parameter specifies the storage service being rebalanced. If the Infinite Volume does not use storage services, the storage-service parameter is ignored, as the entire Infinite Volume is being rebalanced.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<volume-name>

=begin html

<br>Specifies the Infinite Volume to be rebalanced.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"volume-autobalance-info">>

=begin html

<br>The attributes of the volume-autobalance.

=end html

=back



=head2 volume_autobalance_get_iter

[B<Family:> cluster, vserver]


=begin html

displays information about Auto Balance Volume operations for an Infinite Volume. <p>This API is only supported for Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-autobalance-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-autobalance-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume-autobalance object. All volume-autobalance objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"volume-autobalance-info">[], optional>

=begin html

<br>The list of attributes of volume-autobalance objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume-autobalance objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_autobalance_start

[B<Family:> vserver]


=begin html

Start Auto Balance Volume for an Infinite Volume and rebalance the used data capacity in an Infinite Volume after files are created. Auto Balance Volume moves data between data constituents of an Infinite Volume. If the Infinite Volume uses storage services, Auto Balance Volume moves data between data constituents of a storage service in an Infinite Volume. Auto Balance Volume ensures that all data constituents in an Infinite Volume or all data constituents in a storage service of an Infinite Volume have similar amounts of used data capacity. <p>This API is only supported for Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<storage-service>  =>   B<string>

=begin html

<br>If the Infinite Volume uses storage services, the storage-service parameter is required to specify the storage service to be rebalanced. If the Infinite Volume does not use storage services, the storage-service parameter cannot be specified, and the entire Infinite Volume will be rebalanced.

=end html

=back



=over 2

=item * I<timeout>  =>   B<integer, optional>

=begin html

<br>The maximum number of seconds Auto Balance Volume will permit an operation to continue without moving files, before moving the operation to the 'complete' state.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Specifies the Infinite Volume to be rebalanced.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_autobalance_stop

[B<Family:> vserver]


=begin html

Allows the user to stop Auto Balance Volume for an Infinite Volume. <p>This API is only supported for Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<storage-service>  =>   B<string>

=begin html

<br>If the Infinite Volume being rebalanced uses storage services, the storage-service parameter is required to specify the storage service being rebalanced. If the Infinite Volume being rebalanced does not use storage services, the storage-service parameter cannot be specified because the entire Infinite Volume is being rebalanced.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Specifies the Infinite Volume being rebalanced.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_autosize_get

[B<Family:> vserver]


=begin html

Given the name of a volume, get the autosize settings. This API is not supported for Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the volume for which we want to get autosize.

=end html

=back



B<Outputs>

=over 2

=item * I<grow-threshold-percent>  =>   B<integer, optional>

=begin html

<br>The threshold capacity percentage at which the volume automatiacally grows. Range : [0..100]

=end html

=back



=over 2

=item * I<increment-size>  =>   B<string, optional>

=begin html

<br>The increment size by which the volume would be grown, in kbytes.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>This element is deprecated in Data ONTAP 8.2 and later. Please use autosize-mode instead. When this parameter is 'true', the 'grow' autosize mode is in effect, while 'false' means that the autosize mode to 'off'.

=end html

=back



=over 2

=item * I<maximum-size>  =>   B<string>

=begin html

<br>The maximum size to which the volume would be grown automatically, in kbytes.

=end html

=back



=over 2

=item * I<minimum-size>  =>   B<string, optional>

=begin html

<br>The minimum size to which the volume would be shrunk automatically, in kbytes.

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>The operating mode of autosize. Valid values are "grow", "grow_shrink", and "off".

=end html

=back



=over 2

=item * I<shrink-threshold-percent>  =>   B<integer, optional>

=begin html

<br>The threshold capacity percentage at which the volume automatically shrinks. Range : [0..100]

=end html

=back



=head2 volume_autosize_set

[B<Family:> vserver]


=begin html

Given the name of a volume, set the autosize settings. This API is not supported for FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<grow-threshold-percent>  =>   B<integer, optional>

=begin html

<br>Specifies the percentage of the flexible volume's capacity at which autogrow is initiated. The default grow threshold varies from 85% to 98%, depending on the volume size. It is an error for the grow threshold to be less than or equal to the shrink threshold. Range : [0..100]

=end html

=back



=over 2

=item * I<increment-size>  =>   B<string, optional>

=begin html

<br>Specify the flexible volume's increment size using the following format &lt number &gt [k|m|g|t] The amount is the absolute size to set. The optional trailing 'k', 'm', 'g', and 't' indicates the desired units, namely 'kilobytes', 'megabytes', 'gigabytes', and 'terabytes' (respectively). If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes desired. The default value of increment size is 5%.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>This element is deprecated in Data ONTAP 8.2 and later. Please use autosize-mode instead. Setting this parameter to 'true' enables the 'grow' mode, while setting it to 'false' disables autosize and sets the autosize mode to 'off'. The default value is 'false'.

=end html

=back



=over 2

=item * I<maximum-size>  =>   B<string, optional>

=begin html

<br>Specify the flexible volume's maximum allowed size using the following format &lt number &gt [k|m|g|t] The amount is the absolute size to set. The optional trailing 'k', 'm', 'g', and 't' indicates the desired units, namely 'kilobytes', 'megabytes', 'gigabytes', and 'terabytes' (respectively). If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes desired. The default value is 20% greater than the volume size at the time autosize was enabled. It is an error for the maximum volume size to be less than the current volume size. It is also an error for the maximum size to be less than or equal to the minimum size.

=end html

=back



=over 2

=item * I<minimum-size>  =>   B<string, optional>

=begin html

<br>Specify the flexible volume's minimum allowed size using the following format &lt number &gt [k|m|g|t] The amount is the absolute size to set. The optional trailing 'k', 'm', 'g', and 't' indicates the desired units, namely 'kilobytes', 'megabytes', 'gigabytes', and 'terabytes' (respectively). If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes desired. The default value is the size of the volume at the time the 'grow_shrink' mode was enabled. It is an error for the minimum size to be greater than or equal to the maximum size.

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>Specify the flexible volume's autosize mode of operation. Valid values are "grow", "grow_shrink", and "off". The default mode is "off".

=end html

=back



=over 2

=item * I<reset>  =>   B<boolean, optional>

=begin html

<br>Sets the values of is-enabled, maximum size, increment-size, minimum-size, grow-threshold-percent, shrink-threshold-percent and mode to their defaults.

=end html

=back



=over 2

=item * I<shrink-threshold-percent>  =>   B<integer, optional>

=begin html

<br>Specifies the percentage of the flexible volume's capacity at which autoshrink is initiated. The default shrink theshold is 50%. It is an error for the shrink threshold to be greater than or equal to the grow threshold. Range : [0..100]

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the flexible volume for which we want to set autosize.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_autosize_set_async

[B<Family:> vserver]


=begin html

Given the name of a volume, set the autosize settings. This API is not supported for flexible volumes or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<grow-threshold-percent>  =>   B<integer, optional>

=begin html

<br>Specifies the percentage of the flexible volume's capacity at which autogrow is initiated. The default grow threshold varies from 85% to 98%, depending on the volume size. It is an error for the grow threshold to be less than or equal to the shrink threshold. Range : [0..100]

=end html

=back



=over 2

=item * I<maximum-size>  =>   B<string, optional>

=begin html

<br>Specify the flexible volume's maximum allowed size using the following format &lt number &gt [k|m|g|t] The amount is the absolute size to set. The optional trailing 'k', 'm', 'g', and 't' indicates the desired units, namely 'kilobytes', 'megabytes', 'gigabytes', and 'terabytes' (respectively). If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes desired. The default value is 20% greater than the volume size at the time autosize was enabled. It is an error for the maximum volume size to be less than the current volume size. It is also an error for the maximum size to be less than or equal to the minimum size.

=end html

=back



=over 2

=item * I<minimum-size>  =>   B<string, optional>

=begin html

<br>Specify the flexible volume's minimum allowed size using the following format &lt number &gt [k|m|g|t] The amount is the absolute size to set. The optional trailing 'k', 'm', 'g', and 't' indicates the desired units, namely 'kilobytes', 'megabytes', 'gigabytes', and 'terabytes' (respectively). If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes desired. The default value is the size of the volume at the time the 'grow_shrink' mode was enabled. It is an error for the minimum size to be greater than or equal to the maximum size.

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>Specify the flexible volume's autosize mode of operation. Valid values are "grow", "grow_shrink", and "off". The default mode is "off".

=end html

=back



=over 2

=item * I<reset>  =>   B<boolean, optional>

=begin html

<br>Sets the values of is-enabled, maximum size, increment-size, minimum-size, grow-threshold-percent, shrink-threshold-percent and mode to their defaults.

=end html

=back



=over 2

=item * I<shrink-threshold-percent>  =>   B<integer, optional>

=begin html

<br>Specifies the percentage of the flexible volume's capacity at which autoshrink is initiated. The default shrink theshold is 50%. It is an error for the shrink threshold to be greater than or equal to the grow threshold. Range : [0..100]

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the flexible volume for which we want to set autosize.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_clone_create

[B<Family:> cluster, vserver]


=begin html

Create a flexible volume that is a clone of a "backing" or "parent" flexible volume. A clone is a volume that is a writable snapshot of another volume. Initially, the clone and its parent share the same storage; more storage space is consumed only as one volume or the other changes. If a specific snapshot name within the parent volume is provided, it is chosen as the parent snapshot. Otherwise, the filer will create a new, distinctively- named snapshot in the parent volume for that purpose. The parent snapshot is locked in the parent volume, preventing its deletion until the clone is either destroyed or split from the parent using the 'volume-clone-split-start' command (see below). This command fails if the chosen parent volume is currently involved in a split operation. This command also fails if the chosen parent volume is a traditional volume. Cloning is a new capability that applies exclusively to flexible volumes.

=end html



B<Inputs>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A description for the clone volume being created. The maximum length of the description is 1023 characters.

=end html

=back



=over 2

=item * I<gid>  =>   B<integer, optional>

=begin html

<br>The UNIX group ID for the clone volume.

=end html

=back



=over 2

=item * I<junction-active>  =>   B<boolean, optional>

=begin html

<br>This field indicates whether the mounted volume is accessible. The default is true. If the mounted junction path is not accessible, the volume does not appear in the owning Vserver's namespace. This field applies only to Cluster-Mode volumes.

=end html

=back



=over 2

=item * I<junction-path>  =>   B<string, optional>

=begin html

<br>The Junction Path at which this volume is to be mounted. <p> The fully-qualified pathname in the owning Vserver's namespace at which a volume is mounted. Note that this pathname may itself contain junctions, one for each volume (other than the namespace root volume) that provides storage along the pathname's length. As with all fully-qualified pathnames , this string must begin with '/'. In addition, it must not end with '/'. <p> An example of a valid junction path is: '/user/my_volume'. <p> Only one volume can be mounted at any given junction path. If an incorrect junction path is specified, EINVALIDINPUTERROR is returned. If another volume is mounted at the specified junction path, EVOLALREADYMOUNTED is returned.

=end html

=back



=over 2

=item * I<parent-snapshot>  =>   B<string, optional>

=begin html

<br>Name of the snapshot within 'parent-volume' that is to serve as the parent snapshot for the clone. If not provided, the filer will create a new snapshot named 'clone_parent_<UUID>' (using a freshy-generated UUID) in 'parent-volume' for this purpose.

=end html

=back



=over 2

=item * I<parent-volume>  =>   B<string>

=begin html

<br>Name of the parent flexible volume for the clone.

=end html

=back



=over 2

=item * I<parent-vserver>  =>   B<string, optional>

=begin html

<br>Parent flexible volume's Vserver.

=end html

=back



=over 2

=item * I<qos-policy-group-name>  =>   B<string, optional>

=begin html

<br>The QoS Policy Group Name that is to be associated with this FlexClone volume in order to enforce Service Level Objectives (SLO). If you do not assign a QoS policy group to a volume, the system will not monitor and control the traffic to it. Note that "none" is a reserved keyword used to remove the association of a storage object to a QoS policy group. Specifying "none" as a QoS policy group in this command would have no effect.

=end html

=back



=over 2

=item * I<space-reserve>  =>   B<string, optional>

=begin html

<br>Specifies the type of volume guarantee for the clone. Possible values: none, file, volume. If this argument is not provided, then guarantee type is inherited from parent volume.

=end html

=back



=over 2

=item * I<uid>  =>   B<integer, optional>

=begin html

<br>The UNIX user ID for the clone volume.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Desired name of the clone.

=end html

=back



=over 2

=item * I<volume-type>  =>   B<string, optional>

=begin html

<br>The type of the volume to be created. Possible values: <ul> <li> "rw" - read-write volume (default setting), <li> "dp" - data-protection volume </ul> If not provided, the filer will assume the default value i.e. "rw" volume. Creation of data-protection volume clone is only allowed from parent-volume which is paloma logical DP volume.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the Vserver in which the clone will be created.

=end html

=back



=over 2

=item * I<vserver-dr-protection>  =>   B<string, optional>

=begin html

<br>Specifies the protection type for the volume in a Vserver DR setup. <p> Possible values: <ul> <li> 'protected' ... Volume will be replicated to the destination, <li> 'unprotected' ... Volume will not be replicated to the destination. </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_clone_get

[B<Family:> vserver]


=begin html

Display details of a specific FlexClone volume

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-clone-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>FlexClone Volume

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"volume-clone-info">>

=begin html

<br>The attributes of the volume.

=end html

=back



=head2 volume_clone_get_iter

[B<Family:> cluster, vserver]


=begin html

Display a list of FlexClone volumes

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-clone-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 10

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-clone-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume object. All volume objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"volume-clone-info">[], optional>

=begin html

<br>The list of attributes of volume objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_clone_split_estimate

[B<Family:> vserver]


=begin html

Display an estimate of additional storage required in the underlying aggregate to perform a volume clone split operation. This command fails if applied to a traditional volume. Cloning is a new capability that applies exclusively to flexible volumes.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the clone whose split usage is being estimated.

=end html

=back



B<Outputs>

=over 2

=item * I<clone-split-estimate>  =>   B<L<"clone-split-estimate-info">[]>

=begin html

<br>An estimate of the number of blocks required in the enclosing aggregate to split a clone from its parent.

=end html

=back



=head2 volume_clone_split_start

[B<Family:> vserver]


=begin html

Begin the process by which the given clone is split off from its underlying parent volume and snapshot. New storage is allocated for the clone that is distinct from its parent. This process may take some time and proceeds in the background. Use the 'volume-clone-split-status' command to view the operation's progress. Both clone and parent volumes remain available during the process of splitting them apart. Upon completion, the snapshot on which the clone was based will be unlocked in the parent volume. Any snapshots in the clone are removed at the end of processing. Use the 'volume-clone-split-stop' command to stop this process. This command fails if applied to a traditional volume. Cloning is a new capability that applies exclusively to flexible volumes. <p> In Data ONTAP Cluster-Mode, a job is created to perform the split operation. The job id of the job is returned in the API response. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the clone that we want split off from its parent volume and snapshot.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The job id of the job that was queued to split the clone volume.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded", "in-progress", "failed".

=end html

=back



=head2 volume_clone_split_status

[B<Family:> vserver]


=begin html

Display the progress in separating clones from their underlying parent volumes and snapshots. If a clone name is specified, then the split status for that clone is provided. If no clone name is provided, then status is provided for all clones currently being split. This command fails if applied to a traditional volume, and EONTAPI_EVOLNOTFLEX is thrown. Cloning is a capability that applies exclusively to flexible volumes. This command fails if the volume specified is not a clone, and EVOLNOTCLONE is thrown. This command fails if the volume specified is not being split, and EVOLOPNOTUNDERWAY is thrown.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>The name of the clone being split off from its parent volume and snapshot for which we want status.

=end html

=back



B<Outputs>

=over 2

=item * I<clone-split-details>  =>   B<L<"clone-split-detail-info">[], optional>

=begin html

<br>List of clones that are currently being split from their parent volumes, along with all relevant status information.

=end html

=back



=head2 volume_clone_split_stop

[B<Family:> vserver]


=begin html

Stop the process of splitting off a clone from its parent volume and snapshot. All of the blocks that were formerly shared between the given clone and its parent volume that have already been split off will remain that way. This command fails if applied to a traditional volume. Cloning is a new capability that applies exclusively to flexible volumes.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the clone for which we want to stop the process of being split off from its parent volume and snapshot.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_container

[B<Family:> vserver]


=begin html

Return the name of the containing aggregate for the named flexible volume.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the flexible volume for which we want the containing aggregate.

=end html

=back



B<Outputs>

=over 2

=item * I<containing-aggregate>  =>   B<string>

=begin html

<br>Name of the given volume's containing aggregate, if applicable.

=end html

=back



=head2 volume_copy_start

[B<Family:> cluster]


=begin html

Copy a volume A job will be spawned to operate on the volume and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<destination-aggregate>  =>   B<string>

=begin html

<br>Specify the name of aggregate where the source-volume should be copied.

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string>

=begin html

<br>Specify the name of volume on destination aggregate where the source-volume should be copied.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string>

=begin html

<br>Specifies the name of the volume to be copied.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The name of the Vserver which owns the volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_create

[B<Family:> vserver]


=begin html

Create a volume. <p> The detailed behavior of this API depends on where it is received: <p> 1. In Data ONTAP Cluster-Mode, create a new flexible volume. <p> 2. In Data ONTAP 7-Mode, create a new flexible, traditional, or sparse volume with the given name and characteristics. Freshly-created traditional volumes may not be operational immediately after the API returns. Use 'volume-list-info' to obtain information about volumes, including the status of the newly-created traditional volume in order to determine when it is fully operational. <p> This API is not supported for FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<antivirus-on-access-policy>  =>   B<string, optional>

=begin html

<br>{Deprecated, this field does not have any effect on the operation of the volume.} The name of the Anti-Virus On-Access policy. The default policy name is 'default'. <p> If not specified when creating a volume, the Anti-Virus On-Access Policy is inherited from the owning Vserver. Currently, this policy can only be managed using the 'antivirus' command line interfaces.

=end html

=back



=over 2

=item * I<cache-retention-priority>  =>   B<string, optional>

=begin html

<br>The cache retention priority that is to be associated with the volume. This policy decides how long blocks of a volume will be cached in flash pool once they become cold. The possible values for this field are: <ul> <li>low - Cache the cold blocks for the lowest time.</li> <li>normal - Cache the cold blocks for the default time.</li> <li>high - Cache the cold blocks for the highest time.</li> </ul> Default cache retention priority is normal.

=end html

=back



=over 2

=item * I<caching-policy>  =>   B<string, optional>

=begin html

<br>The caching policy that is to be associated with this volume. This policy is used to make caching decisions for this volume. The possible options for this value are: <ul> <li>none - Does not cache any user data or metadata blocks.</li> <li>auto - Read caches all metadata blocks and randomly read user data blocks and write caches all randomly overwritten user data blocks.</li> <li>meta - Read caches only metadata blocks.</li> <li>random_read - Read caches all metadata and randomly read user data blocks.</li> <li>random_read_write - Read caches all metadata, randomly read and randomly written user data blocks.</li> <li>all_read - Read caches all metadata, randomly read and sequentially read user data blocks.</li> <li>all_read_random_write - Read caches all metadata, randomly read, sequentially read and randomly written user data.</li> <li>all - Read caches all data blocks read and written. It does not do any write caching.</li> <li>noread-random_write - Write caches all randomly overwritten user data blocks. It does not do any read caching.</li> <li>meta-random_write - Same as meta and noread-random_write.</li> <li>random_read_write-random_write - Same as random_read_write and noread-random_write.</li> <li>all_read-random_write - Same as all_read and noread-random_write.</li> <li>all_read_random_write-random_write - Same as all_read_random_write and noread-random_write.</li> <li>all-random_write - Same as all and noread-random_write.</li> </ul> Default caching-policy is auto.

=end html

=back



=over 2

=item * I<constituent-role>  =>   B<string, optional>

=begin html

<br>This field specifies the role of a constituent within an Infinite Volume. This field is only supported for Infinite Volume constituents and this API will fail if no value is passed for an Infinite Volume constituent. <p> Possible values: <ul> <li> 'namespace' ... namespace constituent, <li> 'data' ... data constituent, <li> 'ns_mirror' ... namespace mirror constituent </ul>

=end html

=back



=over 2

=item * I<containing-aggr-name>  =>   B<string, optional>

=begin html

<br><b>Flexible</b> volumes only. The name of the aggregate in which to create the new flexible volume. If provided, this argument must be accompanied by the "size" parameter described below. <p> This input is required for creating a Cluster-Mode volume.

=end html

=back



=over 2

=item * I<efficiency-policy>  =>   B<string, optional>

=begin html

<br>Efficiency policy name. This attribute selects the efficiency policy to use for this volume. Each efficiency policy controls how volume efficiency (deduplication and/or compression) will operate. <p> This policy can be created using the 'volume-efficiency-policy-create' API.

=end html

=back



=over 2

=item * I<encrypt>  =>   B<boolean, optional>

=begin html

<br>Specifies whether a volume is encrypted or not.

=end html

=back



=over 2

=item * I<excluded-from-autobalance>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the volume is excluded from Auto Balance aggregate processing. The default value is false, meaning that the volume is included in Auto Balance Aggregate processing.

=end html

=back



=over 2

=item * I<export-policy>  =>   B<string, optional>

=begin html

<br>The name of the Export Policy to be used by NFS/CIFS protocols. The default policy name is 'default'.

=end html

=back



=over 2

=item * I<extent-size>  =>   B<string, optional>

=begin html

<br>This field specifies the default extent size for the volume. In case of WAFL volumes, this option would always be set to 4K. For MetaWAFL volumes, the possible values are as follows. <p> Possible values: <ul> <li> '4K' ... 4K, <li> '8K' ... 8K, <li> '16K' ... 16K, <li> '32K' ... 32K </ul>

=end html

=back



=over 2

=item * I<flexcache-cache-policy>  =>   B<string, optional>

=begin html

<br>The name of the FlexCache cache policy. <p> The default policy name is 'default'. <p> This policy applies only to FlexCache volumes and can be created using the 'flexcache-cache-policy-create' API.

=end html

=back



=over 2

=item * I<flexcache-fill-policy>  =>   B<string, optional>

=begin html

<br>The name of the FlexCache prefill policy. <p> The default policy name is 'default'. <p> This policy applies only to FlexCache volumes and can be created using the 'flexcache-fill-policy-create' API.

=end html

=back



=over 2

=item * I<flexcache-origin-volume-name>  =>   B<string, optional>

=begin html

<br>The name of the origin volume that contains the authoritative data. This field is valid only for a FlexCache volume. The origin volume must belong to the same Vserver that owns this volume.

=end html

=back



=over 2

=item * I<group-id>  =>   B<integer, optional>

=begin html

<br>The UNIX group ID for the volume. The default value is 0 ('root').

=end html

=back



=over 2

=item * I<index-dir-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, index directory format is enabled. Default: false.

=end html

=back



=over 2

=item * I<is-junction-active>  =>   B<boolean, optional>

=begin html

<br>This field indicates whether the mounted volume is accessible. The default is true. If the mounted junction path is not accessible, the volume does not appear in the owning Vserver's namespace. This field applies only to Cluster-Mode volumes.

=end html

=back



=over 2

=item * I<is-nvfail-enabled>  =>   B<string, optional>

=begin html

<br>If true, the controller performs additional work at boot and takeover times if it finds that there has been any potential data loss in this volume due to an NVRAM failure. <p> For 7-Mode volumes, it causes the invalidation of all NFS file handles on all volumes affected by the problem so that client-side users are forced to remount the affected file system (and thus not continue to use potentially incorrect data). <p> It is also possible to specify a set of files per volume that are to be renamed out of the way in these cases. The controller sends error messages to the console whenever such problems are found. <p> For Cluster-Mode volumes, the volume would be put in a special state called 'in-nvfailed-state' such that protocol access is blocked. This will cause the client applications to crash and thus prevent access to stale data on the volume. <p> To get out of this situation, the admin needs to manually clear the 'in-nvfailed-state' on the volume. <p> By default, this value is false.

=end html

=back



=over 2

=item * I<is-vserver-root>  =>   B<boolean, optional>

=begin html

<br>If true, this volume is the namespace root volume of the Vserver which owns this volume. The default value is false. <p> When creating a volume, if this field is set to true, the new volume is to become the new namespace root volume of the Vserver. This field can be used in a recovery scenario in which the namespace root volume of the Vserver becomes unrecoverable.

=end html

=back



=over 2

=item * I<junction-path>  =>   B<string, optional>

=begin html

<br>The Junction Path at which this volume is to be mounted. <p> The fully-qualified pathname in the owning Vserver's namespace at which a volume is mounted. The pathname is case insensitive and must be unique within a Vserver's namespace. Note that this pathname may itself contain junctions, one for each volume (other than the namespace root volume) that provides storage along the pathname's length. As with all fully-qualified pathnames , this string must begin with '/'. In addition, it must not end with '/'. <p> An example of a valid junction path is: '/user/my_volume'. <p> Only one volume can be mounted at any given junction path. If an incorrect junction path is specified, EINVALIDINPUTERROR is returned. If another volume is mounted at the specified junction path, EVOLALREADYMOUNTED is returned.

=end html

=back



=over 2

=item * I<language-code>  =>   B<string, optional>

=begin html

<br>Specifies the language to use for the new volume via a language code. The default language is the one used by the filer's root volume. Available language codes are: <ul> <li> 'C' ... POSIX, <li> 'ar' ... Arabic, <li> 'cs' ... Czech, <li> 'da' ... Danish, <li> 'de' ... German, <li> 'en' ... English, <li> 'en_US' ... English (US), <li> 'es' ... Spanish, <li> 'fi' ... Finnish, <li> 'fr' ... French, <li> 'he' ... Hebrew, <li> 'hr' ... Croatian, <li> 'hu' ... Hungarian, <li> 'it' ... Italian, <li> 'ja' ... Japanese euc-j, <li> 'ja_v1' ... Japanese euc-j, <li> 'ja_JP.PCK' ... Japanese PCK (sjis), <li> 'ja_JP.932' ... Japanese cp932, <li> 'ja_JP.PCK_v2' ... Japanese PCK (sjis), <li> 'ko' ... Korean, <li> 'no' ... Norwegian, <li> 'nl' ... Dutch, <li> 'pl' ... Polish, <li> 'pt' ... Portuguese, <li> 'ro' ... Romanian, <li> 'ru' ... Russian, <li> 'sk' ... Slovak, <li> 'sl' ... Slovenian, <li> 'sv' ... Swedish, <li> 'tr' ... Turkish, <li> 'zh' ... Simplified Chinese, <li> 'zh.GBK' ... Simplified Chinese (GBK), <li> 'zh_TW' ... Traditional Chinese euc-tw, <li> 'zh_TW.BIG5' ... Traditional Chinese Big 5 </ul> <p> To use UTF-8 as the NFS character set, append '.UTF-8' to the language code.

=end html

=back



=over 2

=item * I<max-dir-size>  =>   B<integer, optional>

=begin html

<br>The maximum size (in bytes) to which any directory in this volume can grow. <p> For 7-Mode volumes, the default setting of 10240 limits directory size to 10 MBytes and allows it to hold up to approximately 300,000 files. For Cluster-Mode volumes, the default setting is 100 MBytes and it allows the directory to hold up to approximately 3,000,000 files. The number of files that the directory actually can hold varies depending on such things as the length of the names and whether it needs to use double-byte UNICODE characters. <p> Most users should not need to change this field's default setting. It is useful for environments where system users may grow a directory to a size that starts impacting system performance. When a user tries to create a file in a directory that is at the limit, the system returns a ENOSPC error and fails the create.

=end html

=back



=over 2

=item * I<max-write-alloc-blocks>  =>   B<integer, optional>

=begin html

<br>The maximum number of blocks used for write allocation. <p> This feature is deprecated.

=end html

=back



=over 2

=item * I<percentage-snapshot-reserve>  =>   B<integer, optional>

=begin html

<br>The percentage of disk space that has to be set aside as reserve for snapshot usage. The default value is 5. Range : [0..90] <p> If this argument is not specified for the creation of constituents of an Infinite Volume that does not support storage services, the default reserve is the reserve of the Infinite Volume.

=end html

=back



=over 2

=item * I<qos-adaptive-policy-group-name>  =>   B<string, optional>

=begin html

<br>The QoS Adaptive Policy Group Name that is to be associated with this volume in order to enforce Service Level Objectives (SLO) that adjust based on the volume allocated space or used space. NOTE: "none" is a reserved keyword for deleting the association of the volume with a QoS adaptive policy group. Specifying "none" as a the QoS adaptive policy group during volume creation will have no effect. This parameter is not supported on FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<qos-policy-group-name>  =>   B<string, optional>

=begin html

<br>The QoS Policy Group Name that is to be associated with this volume in order to enforce Service Level Objectives (SLO). If you do not assign a QoS policy group to a volume, the system will not monitor and control the traffic to it. NOTE: "none" is a reserved keyword for deleting the association of the volume with a QoS policy group. Specifying "none" as a the QoS policy group during volume creation will have no effect. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<size>  =>   B<string, optional>

=begin html

<br><b>Flexible</b> volumes only. The initial size of the new flexible volume. The format to use is: &lt number &gt k|m|g|t where "k" means kilobytes, "m" means megabytes, "g" means gigabytes, and "t" means terabytes. If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes desired. If provided, this argument must be accompanied by the "containing-aggr-name" parameter described above.

=end html

=back



=over 2

=item * I<snapshot-policy>  =>   B<string, optional>

=begin html

<br>The name of the snapshot policy. <p> The default policy name is 'default'. <p> This policy can be created using the 'snapshot-policy-create' API. It can be managed using the 'snapshot-policy-*' APIs.

=end html

=back



=over 2

=item * I<space-reserve>  =>   B<string, optional>

=begin html

<br>Specifies the type of volume guarantee the new volume will use. Possible values: none, file, volume. If this argument is not provided, the default volume guarantee type is volume. <p> If this argument is not specified for the creation of constituents of an Infinite Volume that does not support storage services, the default guarantee is the guarantee of the Infinite Volume.

=end html

=back



=over 2

=item * I<space-slo>  =>   B<string, optional>

=begin html

<br>Specifies the space SLO type for the volume. The space SLO type is the Service Level Objective for space management for the volume. The space SLO value is used to enforce existing volume settings so that sufficient space is set aside on the aggregate to meet the space SLO. This parameter is not supported on Infinite Volumes. The default setting is <b>none</b>. There are three supported values: <b>none</b>, <b>thick</b> and <b>semi-thick</b>. <p> <b>none</b>: The value of <b>none</b> does not provide any guarantee for overwrites or enforce any restrictions. It should be used if the admin plans to manually manage space consumption in the volume and aggregate, and out of space errors. <p> <b>thick</b>: The value of <b>thick</b> guarantees that the hole fills and overwrites to space-reserved files in this volume will always succeed by reserving space. To meet this space SLO, the following volume-level settings are automatically set and cannot be modified: <ul> <li>Space Guarantee: volume - The entire size of the volume is preallocated in the aggregate. Changing the volume's <b>space-guarantee</b> type is not supported. <li>Fractional Reserve: 100 - 100% of the space required for overwrites is reserved. Changing the volume's <b>fractional-reserve</b> setting is not supported.</li> </ul> <p> <b>semi-thick</b>: The value of <b>semi-thick</b> is a best-effort attempt to ensure that overwrites succeed by restricting the use of features that share blocks and auto-deleting backups and Snapshot copies in the volume. To meet this space SLO, the following volume-level settings are automatically set and cannot be modified: <ul> <li>Space Guarantee: volume - The entire size of the volume is preallocated in the aggregate. Changing the volume's <b>space-guarantee</b> type is not supported. <li>Fractional Reserve: 0 - No space will be reserved for overwrites by default. However, changing the volume's <b>fractional-reserve</b> setting is supported. Changing the setting to 100 means that 100% of the space required for overwrites is reserved.</li> <li>Snapshot Autodelete: enabled - Automatic deletion of Snapshot copies is enabled to reclaim space. To ensure that the overwrites can be accommodated when the volume reaches threshold capacity, the following volume snapshot autodelete parameters are set automatically to the specified values and cannot be modified: <ul> <li>enabled: true <li>commitment: destroy <li>trigger: volume <li>defer-delete: none <li>destroy-list: vol_clone, lun_clone, file_clone, cifs_share </ul> </li> </ul> In addition, with a value of semi-thick, the following technologies are not supported for the volume: <ul> <li>File Clones with autodelete disabled: Only full file clones of files or LUNs that can be autodeleted can be created in the volume. The use of <b>autodelete</b> for file clone create is required.</li> <li>Partial File Clones: Only the full file clones of files or LUNs that can be autodeleted can be created in the volume. The use of <b>range</b> for file clone create is not allowed.</li> <li>Volume Efficiency: Enabling <b>volume efficiency</b> is not supported to allow autodeletion of Snapshot copies.</li> </ul> <p> This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<storage-service>  =>   B<string, optional>

=begin html

<br>Name of the storage service with which to associate the creation of a constituent of an Infinite Volume. <p> This argument is required for the creation of constituents of an Infinite Volume that supports storage services. If the storage service does not exist before creating the constituent, it will be automatically created. Clients can query for the 'is-managed-by-service' field to determine if an Infinite Volume supports storage services. <p> This argument is not supported for Flexible Volumes.

=end html

=back



=over 2

=item * I<tiering-policy>  =>   B<string, optional>

=begin html

<br>The tiering policy that is to be associated with the volume. This policy decides whether the blocks of a volume will be tiered to the capacity tier. The possible values for this field are: <ul> <li>snapshot-only - This policy allows tiering of only the volume snapshot copies not associated with the active file system.</li> <li>none - Volume blocks will not be tiered to the capacity tier.</li> <li>backup - On DP volumes this policy allows all transferred user data blocks to start in the capacity tier.</li> </ul> Default tiering policy is snapshot-only.

=end html

=back



=over 2

=item * I<unix-permissions>  =>   B<string, optional>

=begin html

<br>Unix permission bits in octal string format. <p> It's similar to Unix style permission bits: <p> In Data ONTAP 7-mode, the default setting of '0755' gives read/write/execute permissions to owner and read/execute to group and other users. <p> In Data ONTAP Cluster-Mode, for security style "mixed" or "unix", the default setting of '0755' gives read/write/execute permissions to owner and read/execute permissions to group and other users. For security style "ntfs", the default setting of '0000' gives no permissions to owner, group and other users. <p> It consists of 4 octal digits derived by adding up bits 4, 2 and 1. Omitted digits are assumed to be zeros. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. The second digit selects permission for the owner of the file: read (4), write (2) and execute (1); the third selects permissions for other users in the same group; the fourth for other users not in the group.

=end html

=back



=over 2

=item * I<user-id>  =>   B<integer, optional>

=begin html

<br>The UNIX user ID for the volume. The default value is 0 ('root').

=end html

=back



=over 2

=item * I<vm-align-sector>  =>   B<integer, optional>

=begin html

<br>The Virtual Machine alignment 512 byte sector number. All files created with the suffix specified in the 'vm-align-suffix' input parameter will have zero-filled <512 * 'vm-align-sector'> bytes data at the beginning so that it's actual data starts at a different offset instead of zero. This is done so that the read & writes to such files are aligned to WAFL's 4k block boundary.

=end html

=back



=over 2

=item * I<vm-align-suffix>  =>   B<string, optional>

=begin html

<br>The Virtual Machine alignment suffix. The suffix such as '.xyz' is used to identify the files which needs to be aligned. This element can only be specified if the vm-align-sector input element is also specified. See the description for 'vm-align-sector' above for more information on this.

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Name of the volume to create. The volume name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore. In Data ONTAP Cluster-Mode, the volume names must be unique within a Vserver. In Data ONTAP 7-mode, the volume names must be unique on a controller. For an Infinite Volume constituent, the parameter is optional; if a name is not specified, DATA ONTAP will generate the correct name based on the constituent type.

=end html

=back



=over 2

=item * I<volume-comment>  =>   B<string, optional>

=begin html

<br>A description for the volume being created. Range:[0..1023]

=end html

=back



=over 2

=item * I<volume-security-style>  =>   B<string, optional>

=begin html

<br>The security style associated with this volume. <p> Possible values: <ul> <li> 'mixed' ... Mixed-style security, <li> 'ntfs' ... NTFS/Windows-style security, <li> 'unified' .Unified-style security, Unified UNIX, NFS and CIFS permissions (default for Infinite Volume) <li> 'unix' ... Unix-style security (default for Flexible Volume) </ul> <p> Security styles don't apply to GX-striped data volumes. Infinite Volumes can only use the 'unified' security style. All other volumes cannot use the 'unified' security style.

=end html

=back



=over 2

=item * I<volume-state>  =>   B<string, optional>

=begin html

<br>Desired state of the volume after it is created. <p> Possible values: <ul> <li> 'online', <li> 'restricted', <li> 'offline' </ul>

=end html

=back



=over 2

=item * I<volume-type>  =>   B<string, optional>

=begin html

<br>The type of the volume to be created. Possible values: <ul> <li> "rw" - read-write volume (default setting), <li> "ls" - load-sharing volume, <li> "dp" - data-protection volume, <li> "dc" - data-cache volume (FlexCache) </ul>

=end html

=back



=over 2

=item * I<vserver-dr-protection>  =>   B<string, optional>

=begin html

<br>Specifies the protection type for the volume in a Vserver DR setup. <p> Possible values: <ul> <li> 'protected' ... Volume will be replicated to the destination, <li> 'unprotected' ... Volume will not be replicated to the destination. </ul>

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_create_async

[B<Family:> vserver]


=begin html

Create a Flexible Volume, FlexGroup or an Infinite Volume. The ability to create Infinite Volumes is deprecated and may be removed in a future release of Data ONTAP. If you are using Infinite Volumes it is recommended that you do not upgrade the cluster to a release that is later than Data ONTAP 9.3.0. When creating a FlexGroup, four constituents will be created on every aggregate specified in the aggr-list parameter. An aggregate may be specified multiple times to have extra constituents created on it. The default value of four constituents per aggregate can be overriden by specifying a different value for the aggr-list-multiplier parameter. When creating an Infinite Volume, this API will select one aggregate from the aggregates assigned to the VServer to create the namespace constituent. The remaining assigned aggregates will be used for data constituents. You must have the aggregates and the Vserver with Infinite Volume created, as well as assigned the aggregates to the Vserver. Infinite Volume creation and expansion operations may involve creation and initialization of Namespace Mirrors. The initialization is started during the creation or expansion operation, but can continue after the Infinite Volume operation has completed. When this happens, the Infinite Volume will be in a 'mixed' state, until the Namespace Mirror initialization is complete. While in a 'mixed' state, further operations of the Infinite Volume are not possible. This API is not supported for Infinite Volume constituents or FlexGroup constituents.

=end html



B<Inputs>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies an array of names of aggregates to be used for FlexGroup constituents. Each entry in the array will create a constituent on the specified aggregate. An aggregate may be specified multiple times to have multiple constituents created on it. This parameter is only supported for FlexGroups.

=end html

=back



=over 2

=item * I<aggr-list-multiplier>  =>   B<integer, optional>

=begin html

<br>Specifies the number of times to iterate over the aggregates listed with the -aggr-list parameter when creating a FlexGroup. The aggregate list will be repeated the specified number of times. For example, if the aggr-list is "aggr1,aggr2" and the aggr-list-multiplier is 2 four constituents to be created in the order aggr1, aggr2, aggr1, aggr2. The number of constituents created on a node contributes to the maximum volume limit per node, which cannot be exceeded. Default aggr-list-multiplier is 4. This parameter is only supported for FlexGroups.

=end html

=back



=over 2

=item * I<auto-provision-as>  =>   B<string>

=begin html

<br>null

=end html

=back



=over 2

=item * I<cache-retention-priority>  =>   B<string, optional>

=begin html

<br>The cache retention priority that is to be associated with the volume. This policy decides how long blocks of a volume will be cached in flash pool once they become cold. The possible values for this field are: <ul> <li>low - Cache the cold blocks for the lowest time.</li> <li>normal - Cache the cold blocks for the default time.</li> <li>high - Cache the cold blocks for the highest time.</li> </ul> Default cache retention priority is normal. This parameter is not supported for Infinite Volumes.

=end html

=back



=over 2

=item * I<caching-policy>  =>   B<string, optional>

=begin html

<br>The caching policy that is to be associated with this volume. This policy is used to make caching decisions for this volume. The possible options for this value are: <ul> <li>none - Does not cache any user data or metadata blocks.</li> <li>auto - Read caches all metadata blocks and randomly read user data blocks and write caches all randomly overwritten user data blocks.</li> <li>meta - Read caches only metadata blocks.</li> <li>random_read - Read caches all metadata and randomly read user data blocks.</li> <li>random_read_write - Read caches all metadata, randomly read and randomly written user data blocks.</li> <li>all_read - Read caches all metadata, randomly read and sequentially read user data blocks.</li> <li>all_read_random_write - Read caches all metadata, randomly read, sequentially read and randomly written user data.</li> <li>all - Read caches all data blocks read and written. It does not do any write caching.</li> <li>noread-random_write - Write caches all randomly overwritten user data blocks. It does not do any read caching.</li> <li>meta-random_write - Same as meta and noread-random_write.</li> <li>random_read_write-random_write - Same as random_read_write and noread-random_write.</li> <li>all_read-random_write - Same as all_read and noread-random_write.</li> <li>all_read_random_write-random_write - Same as all_read_random_write and noread-random_write.</li> <li>all-random_write - Same as all and noread-random_write.</li> </ul> Default caching-policy is auto. This parameter is only supported for FlexGroups.

=end html

=back



=over 2

=item * I<containing-aggr-name>  =>   B<string, optional>

=begin html

<br><b>Flexible</b> volumes only. The name of the aggregate in which to create the new flexible volume. If provided, this argument must be accompanied by the "size" parameter described below.

=end html

=back



=over 2

=item * I<data-aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies an array of names of aggregates to be used for Infinite Volume data constituents. If this input is not specified all the aggregates assigned to the Vserver are used. This parameter is only supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<efficiency-policy>  =>   B<string, optional>

=begin html

<br>Efficiency policy name. This attribute selects the efficiency policy to use for this volume. Each efficiency policy controls how volume efficiency (deduplication and/or compression) will operate. <p> This policy can be created using the 'volume-efficiency-policy-create' API. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<enable-snapdiff>  =>   B<boolean, optional>

=begin html

<br>Whether to enable Snapdiff. If enabled, the namespace mirrors will be created for Snapdiff use. The default value is false. This parameter is only supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<encrypt>  =>   B<boolean, optional>

=begin html

<br>Specifies whether a volume is encrypted or not. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<excluded-from-autobalance>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the volume is excluded from Auto Balance aggregate processing. The default value is false, meaning that the volume is included in Auto Balance Aggregate processing. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<export-policy>  =>   B<string, optional>

=begin html

<br>The name of the Export Policy to be used by the NFS protocol. The default policy name for FlexGroups is 'default'. The default policy name for Infinite Volumes is 'repos_namespace_export_policy'.

=end html

=back



=over 2

=item * I<flexcache-cache-policy>  =>   B<string, optional>

=begin html

<br>The name of the FlexCache cache policy. <p> The default policy name is 'default'. <p> This policy applies only to FlexCache volumes and can be created using the 'flexcache-cache-policy-create' API. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<flexcache-fill-policy>  =>   B<string, optional>

=begin html

<br>The name of the FlexCache prefill policy. <p> The default policy name is 'default'. <p> This policy applies only to FlexCache volumes and can be created using the 'flexcache-fill-policy-create' API. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<flexcache-origin-volume-name>  =>   B<string, optional>

=begin html

<br>The name of the origin volume that contains the authoritative data. This field is valid only for a FlexCache volume. The origin volume must belong to the same Vserver that owns this volume. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<group-id>  =>   B<integer, optional>

=begin html

<br>The UNIX group ID for the volume. The default value for FlexGroups is 0. The default value for Infinite Volumes is 1.

=end html

=back



=over 2

=item * I<is-junction-active>  =>   B<boolean, optional>

=begin html

<br>This field indicates whether the mounted volume is accessible. The default is true. If the mounted junction path is not accessible, the volume does not appear in the owning Vserver's namespace. This field applies only to Cluster-Mode volumes.

=end html

=back



=over 2

=item * I<is-managed-by-service>  =>   B<boolean, optional>

=begin html

<br>This argument is used to indicate that the Infinite Volume will be managed by storage services. If set to 'true', the client must also provide a name for the 'storage-service' argument. This parameter is only supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<is-nvfail-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, the controller performs additional work at boot and takeover times if it finds that there has been any potential data loss in the volume's constituents due to an NVRAM failure. <p> The volume's constituents would be put in a special state called 'in-nvfailed-state' such that protocol access is blocked. This will cause the client applications to crash and thus prevent access to stale data. <p> To get out of this situation, the admin needs to manually clear the 'in-nvfailed-state' on the volume's constituents. <p> By default, this value is true.

=end html

=back



=over 2

=item * I<is-vserver-root>  =>   B<boolean, optional>

=begin html

<br>If true, this volume is the namespace root volume of the Vserver which owns this volume. The default value is false. <p> When creating a volume, if this field is set to true, the new volume is to become the new namespace root volume of the Vserver. This field can be used in a recovery scenario in which the namespace root volume of the Vserver becomes unrecoverable. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<junction-path>  =>   B<string, optional>

=begin html

<br>The Junction Path at which the volume is to be mounted. <p> The fully-qualified pathname in the owning Vserver's namespace at which the volume is mounted. The pathname is case insensitive. This string must begin with '/'. In addition, it must not end with '/'. The pathname must be unique within a Vserver's namespace. <p> Only one volume can be mounted at any given junction path. If an incorrect junction path is specified, EINVALIDINPUTERROR is returned. If another volume is mounted at the specified junction path, EVOLALREADYMOUNTED is returned. For Infinite Volumes the following rules apply: The junction-path may only have one element. <p> An example of a valid junction path is: '/My_InfiniteVolume'. The path '/My_InfiniteVolume/dir' is invalid, as it has two elements. <p> If the junction-path is not specified, the Infinite Volume is mounted at /NS. For FlexGroups the following rules apply: <p> The pathname may itself contain junctions, one for each volume (other than the namespace root volume) that provides storage along the pathname's length. <p> An example of a valid junction path is: '/user/my_volume'. If the junction-path is not specified, the FlexGroup is not mounted.

=end html

=back



=over 2

=item * I<language-code>  =>   B<string, optional>

=begin html

<br>Specifies the language to use for the new volume via a language code. The default language is the one used by the filer's root volume. Available language codes are: <ul> <li> 'C' ... POSIX, <li> 'ar' ... Arabic, <li> 'cs' ... Czech, <li> 'da' ... Danish, <li> 'de' ... German, <li> 'en' ... English, <li> 'en_US' ... English (US), <li> 'es' ... Spanish, <li> 'fi' ... Finnish, <li> 'fr' ... French, <li> 'he' ... Hebrew, <li> 'hr' ... Croatian, <li> 'hu' ... Hungarian, <li> 'it' ... Italian, <li> 'ja' ... Japanese euc-j, <li> 'ja_v1' ... Japanese euc-j, <li> 'ja_JP.PCK' ... Japanese PCK (sjis), <li> 'ja_JP.932' ... Japanese cp932, <li> 'ja_JP.PCK_v2' ... Japanese PCK (sjis), <li> 'ko' ... Korean, <li> 'no' ... Norwegian, <li> 'nl' ... Dutch, <li> 'pl' ... Polish, <li> 'pt' ... Portuguese, <li> 'ro' ... Romanian, <li> 'ru' ... Russian, <li> 'sk' ... Slovak, <li> 'sl' ... Slovenian, <li> 'sv' ... Swedish, <li> 'tr' ... Turkish, <li> 'zh' ... Simplified Chinese, <li> 'zh.GBK' ... Simplified Chinese (GBK), <li> 'zh_TW' ... Traditional Chinese euc-tw, <li> 'zh_TW.BIG5' ... Traditional Chinese Big 5 </ul> <p> To use UTF-8 as the NFS character set, append '.UTF-8' to the language code. This parameter is only supported for FlexGroups.

=end html

=back



=over 2

=item * I<max-constituent-size>  =>   B<integer, optional>

=begin html

<br>The maximum size of each constituent in bytes. The default value is determined by checking the maximum FlexVol size setting on all nodes used by the volume. The smallest value found is chosen as the default for the max-constituent-size for the volume. This parameter is only supported on FlexGroups.

=end html

=back



=over 2

=item * I<max-data-constituent-size>  =>   B<integer, optional>

=begin html

<br>The maximum size of each data constituent in bytes. The default value is determined by checking the maximum FlexVol size setting on all nodes used by the Infinite Volume. The smallest value found is chosen as the default for the max-data-constituent-size for the Infinite Volume. This parameter is only supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<max-dir-size>  =>   B<integer, optional>

=begin html

<br>The maximum size (in bytes) to which any directory in the volume's namespace can grow. <p> Most users should not need to change this field's default setting. It is useful for environments where system users may grow a directory to a size that starts impacting system performance. When a user tries to create a file in a directory that is at the limit, the system returns a ENOSPC error and fails the create.

=end html

=back



=over 2

=item * I<max-namespace-constituent-size>  =>   B<integer, optional>

=begin html

<br>The maximum size of the namespace constituent. The default value is 10TB. This parameter is only supported on Infinite Volumes

=end html

=back



=over 2

=item * I<namespace-aggregate>  =>   B<string, optional>

=begin html

<br>The name of the aggregate in which to create the namespace constituent. If not provided, ONTAP will pick the best available aggregate assigned to the Vserver. This parameter is only supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<namespace-mirror-aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies an array of names of aggregates to be used for Infinite Volume namespace mirror constituents. If this input is not specified all the aggregates assigned to the Vserver are used. If the arguments 'is-managed-by-service' and 'enable-snapdiff' are both set to 'true', a value must be provided. This parameter is only supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<percentage-snapshot-reserve>  =>   B<integer, optional>

=begin html

<br>The percentage of disk space that has to be set aside as reserve for snapshot usage. The default value is 5. Range : [0..90]

=end html

=back



=over 2

=item * I<qos-adaptive-policy-group-name>  =>   B<string, optional>

=begin html

<br>The QoS Adaptive Policy Group Name that is to be associated with this volume in order to enforce Service Level Objectives (SLO) that adjust based on the volume allocated space or used space. NOTE: "none" is a reserved keyword for deleting the association of the volume with a QoS adaptive policy group. Specifying "none" as a the QoS adaptive policy group during volume creation will have no effect. This parameter is not supported on FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<qos-policy-group-name>  =>   B<string, optional>

=begin html

<br>The QoS Policy Group Name that is to be associated with this volume in order to enforce Service Level Objectives (SLO). If you do not assign a QoS policy group to a volume, the system will not monitor and control the traffic to it. NOTE: "none" is a reserved keyword for deleting the association of the volume with a QoS policy group. Specifying "none" as a the QoS policy group during volume creation will have no effect. This parameter is not supported on Infinite Volumes. This parameter is only supported for FlexGroups.

=end html

=back



=over 2

=item * I<size>  =>   B<integer, optional>

=begin html

<br>The initial size of the volume in bytes. If size is not specified, then it will use the system default which is the number of constituents times the FlexVol default size for Infinite Volumes and the number of constituents times 200MB for FlexGroups.

=end html

=back



=over 2

=item * I<snapshot-policy>  =>   B<string, optional>

=begin html

<br>The name of the snapshot policy. <p> This policy can be created using the 'snapshot-policy-create' API. It can be managed using the 'snapshot-policy-*' APIs. <p> The default policy name for FlexGroups is 'default'. <p> The default policy name for Infinite Volumes is 'default-1weekly'.

=end html

=back



=over 2

=item * I<space-guarantee>  =>   B<string, optional>

=begin html

<br>Specifies the type of space guarantee the new volume will use. Possible values: none, file, volume. If this argument is not provided, the default guarantee is "volume".

=end html

=back



=over 2

=item * I<space-reserve>  =>   B<string, optional>

=begin html

<br>Specifies the type of volume guarantee the new volume will use. Possible values: none, file, volume. If this argument is not provided, the default volume guarantee type is volume. This field is mutually exclusive with 'space-guarantee'.

=end html

=back



=over 2

=item * I<space-slo>  =>   B<string, optional>

=begin html

<br>Specifies the space SLO type for the volume. The space SLO type is the Service Level Objective for space management for the volume. The space SLO value is used to enforce existing volume settings so that sufficient space is set aside on the aggregate to meet the space SLO. This parameter is not supported on Infinite Volumes. The default setting is <b>none</b>. There are three supported values: <b>none</b>, <b>thick</b> and <b>semi-thick</b>. <p> <b>none</b>: The value of <b>none</b> does not provide any guarantee for overwrites or enforce any restrictions. It should be used if the admin plans to manually manage space consumption in the volume and aggregate, and out of space errors. <p> <b>thick</b>: The value of <b>thick</b> guarantees that the hole fills and overwrites to space-reserved files in this volume will always succeed by reserving space. To meet this space SLO, the following volume-level settings are automatically set and cannot be modified: <ul> <li>Space Guarantee: volume - The entire size of the volume is preallocated in the aggregate. Changing the volume's <b>space-guarantee</b> type is not supported. <li>Fractional Reserve: 100 - 100% of the space required for overwrites is reserved. Changing the volume's <b>fractional-reserve</b> setting is not supported.</li> </ul> <p> <b>semi-thick</b>: The value of <b>semi-thick</b> is a best-effort attempt to ensure that overwrites succeed by restricting the use of features that share blocks and auto-deleting backups and Snapshot copies in the volume. To meet this space SLO, the following volume-level settings are automatically set and cannot be modified: <ul> <li>Space Guarantee: volume - The entire size of the volume is preallocated in the aggregate. Changing the volume's <b>space-guarantee</b> type is not supported. <li>Fractional Reserve: 0 - No space will be reserved for overwrites by default. However, changing the volume's <b>fractional-reserve</b> setting is supported. Changing the setting to 100 means that 100% of the space required for overwrites is reserved.</li> <li>Snapshot Autodelete: enabled - Automatic deletion of Snapshot copies is enabled to reclaim space. To ensure that the overwrites can be accommodated when the volume reaches threshold capacity, the following volume snapshot autodelete parameters are set automatically to the specified values and cannot be modified: <ul> <li>enabled: true <li>commitment: destroy <li>trigger: volume <li>defer-delete: none <li>destroy-list: vol_clone, lun_clone, file_clone, cifs_share </ul> </li> </ul> In addition, with a value of semi-thick, the following technologies are not supported for the volume: <ul> <li>File Clones with autodelete disabled: Only full file clones of files or LUNs that can be autodeleted can be created in the volume. The use of <b>autodelete</b> for file clone create is required.</li> <li>Partial File Clones: Only the full file clones of files or LUNs that can be autodeleted can be created in the volume. The use of <b>range</b> for file clone create is not allowed.</li> <li>Volume Efficiency: Enabling <b>volume efficiency</b> is not supported to allow autodeletion of Snapshot copies.</li> </ul> <p> This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<storage-service>  =>   B<string, optional>

=begin html

<br>Name of the storage service with which to associate the creation of an Infinite Volume. <p> If the client specifies this argument upon Infinite Volume creation, the argument will be used as the initial storage service for constituents of the Infinite Volume. <p> If the client does not specify this argument upon Infinite Volume creation, the Infinite Volume will be created without support for storage services. Support for storage services can be enabled at a later time using the volume-modify-iter-async API. This parameter is only supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<tiering-policy>  =>   B<string, optional>

=begin html

<br>The tiering policy that is to be associated with the volume. This policy decides whether the blocks of a volume will be tiered to the capacity tier. The possible values for this field are: <ul> <li>snapshot-only - This policy allows tiering of only the volume snapshot copies not associated with the active file system.</li> <li>none - Volume blocks will not be tiered to the capacity tier.</li> <li>backup - On DP volumes this policy allows all transferred user data blocks to start in the capacity tier.</li> </ul> Default tiering policy is snapshot-only. This parameter is not supported for Infinite Volumes.

=end html

=back



=over 2

=item * I<unix-permissions>  =>   B<string, optional>

=begin html

<br>Unix permission bits in octal string format. <p> It's similar to Unix style permission bits: <p> The default setting of '0755' gives read/write/execute permissions to owner and read/execute permissions to group and other users. <p> It consists of 4 octal digits derived by adding up bits 4, 2 and 1. Omitted digits are assumed to be zeros. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. The second digit selects permission for the owner of the file: read (4), write (2) and execute (1); the third selects permissions for other users in the same group; the fourth for other users not in the group.

=end html

=back



=over 2

=item * I<user-id>  =>   B<integer, optional>

=begin html

<br>The UNIX user ID for the volume. The default value is 0.

=end html

=back



=over 2

=item * I<vm-align-sector>  =>   B<integer, optional>

=begin html

<br>The Virtual Machine alignment 512 byte sector number. All files created with the suffix specified in the 'vm-align-suffix' input parameter will have zero-filled <512 * 'vm-align-sector'> bytes data at the beginning so that it's actual data starts at a different offset instead of zero. This is done so that the read & writes to such files are aligned to WAFL's 4k block boundary. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<vm-align-suffix>  =>   B<string, optional>

=begin html

<br>The Virtual Machine alignment suffix. The suffix such as '.xyz' is used to identify the files which needs to be aligned. This element can only be specified if the vm-align-sector input element is also specified. See the description for 'vm-align-sector' above for more information on this. This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



=over 2

=item * I<volume-comment>  =>   B<string, optional>

=begin html

<br>A description for the volume being created. The maximum length of the description is 1023 characters.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of the volume to create. The name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore.

=end html

=back



=over 2

=item * I<volume-security-style>  =>   B<string, optional>

=begin html

<br>The security style associated with this volume. <p> Possible values: <ul> <li> 'mixed' ... Mixed-style security, <li> 'ntfs' ... NTFS/Windows-style security, <li> 'unified' .Unified-style security, Unified UNIX, NFS and CIFS permissions (default for Infinite Volume) <li> 'unix' ... Unix-style security (default for FlexGroups) </ul> <p> Security styles don't apply to GX-striped data volumes. Infinite Volumes can only use the 'unified' security style. FlexGroups cannot use the 'unified' security style.

=end html

=back



=over 2

=item * I<volume-state>  =>   B<string, optional>

=begin html

<br>Desired state of the volume after it is created. <p> Possible values: <ul> <li> 'online' (default), <li> 'restricted', <li> 'offline' </ul>

=end html

=back



=over 2

=item * I<volume-type>  =>   B<string, optional>

=begin html

<br>The type of the volume to be created. Possible values: <ul> <li> 'rw' - read-write volume (default), <li> 'ls' - load-sharing volume, <li> 'dp' - data-protection volume, <li> 'dc' - data-cache volume (FlexCache) </ul>

=end html

=back



=over 2

=item * I<vserver-dr-protection>  =>   B<string, optional>

=begin html

<br>Specifies the protection type for the volume in a Vserver DR setup. <p> Possible values: <ul> <li> 'protected' ... Volume will be replicated to the destination, <li> 'unprotected' ... Volume will not be replicated to the destination. </ul> This parameter is not supported for FlexGroups or Infinite Volumes.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_destroy

[B<Family:> vserver]


=begin html

Destroy the specified volume or plex. If a flexible volume is specified, all of its blocks are freed and returned to its containing aggregate; no other flexible volumes in the same containing aggregate (if any) are affected. If a traditional volume is specified, all of its plexes are destroyed, and its disks are returned to the appropriate spare pool(s). If a plex is specified, it must be for a mirrored aggregate (which could potentially be embedded in a traditional volume), leaving it unmirrored. Only offline volumes and plexes can be destroyed. Plexes are not supported for Cluster-Mode volumes. <p> This API is not supported for FlexGroups or Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of an existing volume or plex.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_destroy_async

[B<Family:> vserver]


=begin html

Destroy a FlexGroup or Infinite Volume. The volume must be unmounted and must be offline before it can be destroyed. <p> This API is not supported for Flexible Volumes, Infinite Volume constituents or FlexGroup constituents.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force the destruction of the volume. Default value is false.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of an existing volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_encryption_conversion_get_iter

[B<Family:> cluster, vserver]


=begin html

Display the encryption status of all volumes undergoing encryption

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-encryption-conversion-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 10

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-encryption-conversion-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume object. All volume objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"volume-encryption-conversion-info">[], optional>

=begin html

<br>The list of attributes of volume objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_encryption_conversion_pause

[B<Family:> cluster, vserver]


=begin html

Pause Volume Encryption Conversion

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_encryption_conversion_resume

[B<Family:> cluster, vserver]


=begin html

Resume Paused Volume Encryption Conversion

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_encryption_conversion_start

[B<Family:> cluster, vserver]


=begin html

Start Encryption Conversion of a Volume

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_encryption_prepare_to_downgrade

[B<Family:> cluster]


=begin html

Verifies that there are no encrypted volumes in the system and configures encryption feature for downgrade.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_encryption_rekey_get_iter

[B<Family:> cluster, vserver]


=begin html

Display the encryption status of all volumes undergoing encryption rekey

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-encryption-rekey-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 10

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-encryption-rekey-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume object. All volume objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"volume-encryption-rekey-info">[], optional>

=begin html

<br>The list of attributes of volume objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_encryption_rekey_pause

[B<Family:> cluster, vserver]


=begin html

Pause Volume Encryption Rekey

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_encryption_rekey_resume

[B<Family:> cluster, vserver]


=begin html

Resume Paused Volume Encryption Rekey

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_encryption_rekey_start

[B<Family:> cluster, vserver]


=begin html

Rekey a Volume

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_expand_async

[B<Family:> vserver]


=begin html

Allows the user to increase the size of a FlexGroup by adding constituents. The size of the new constituents is determined by the size of the smallest existing constituent. <p> This API is not supported for Flexible Volumes, FlexGroup constituents, Infinite Volumes or Infinite Volume constituents.

=end html



B<Inputs>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[]>

=begin html

<br>Specifies an array of names of aggregates to be used for FlexGroup constituents. Each entry in the array will create a constituent on the specified aggregate. An aggregate may be specified multiple times to have multiple constituents created on it.

=end html

=back



=over 2

=item * I<aggr-list-multiplier>  =>   B<integer, optional>

=begin html

<br>Specifies the number of times to iterate over the aggregates listed with the -aggr-list parameter when creating a FlexGroup. The aggregate list will be repeated the specified number of times. For example, if the aggr-list is "aggr1,aggr2" and the aggr-list-multiplier is 2 four constituents to be created in the order aggr1, aggr2, aggr1, aggr2. The number of constituents created on a node contributes to the maximum volume limit per node, which cannot be exceeded. Default aggr-list-multiplier is 1.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>The name of the FlexGroup to expand.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_flexgroup_deploy_async

[B<Family:> cluster, vserver]


=begin html

Deploys a FlexGroup on the cluster. <p>The FlexGroup is created with 8 constituents on each node in the cluster. The constituents are split equally between the two largest aggregates on each node. If using two aggregrates per node is not possible, all of the constituents are created on the largest aggregate on each node. <p>This API is only supported on clusters with 4 nodes or less. On clusters with more than 4 nodes, use the volume-create-async API to create FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<size>  =>   B<integer>

=begin html

<br>The initial size of the new FlexGroup, in bytes. The maximum size of the FlexGroup is limited by the platform maximum FlexVol size multiplied by 8 and multiplied by the number of nodes in the cluster. The size of the FlexGroup is also limited by the available space in the hosting aggregates.

=end html

=back



=over 2

=item * I<space-reserve>  =>   B<string, optional>

=begin html

<br>Specifies the type of volume guarantee the new volume will use. Possible values: none, volume. The default setting on All Flash FAS systems is none, otherwise the default setting is volume. .*

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string, optional>

=begin html

<br>This specifies the name of the FlexGroup. The name of the The FlexGroup can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore. In Data ONTAP Cluster-Mode, the volume names must be unique within a Vserver. The default value for the FlexGroup name is 'fg'.

=end html

=back



=over 2

=item * I<volume-type>  =>   B<string, optional>

=begin html

<br>The type of the volume to be created. Possible values: <ul> <li> 'rw' - read-write volume (default), <li> 'dp' - data-protection volume, </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>This specifies the Vserver on which the FlexGroup will be located.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_flexgroup_deploy_simulate_aggr_layout

[B<Family:> vserver]


=begin html

Get the aggregate layout that will be created when deploying a FlexGroup. <p>Return calculated number of aggregates, estimated aggregate capacity, disk count and disk type.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<aggr-count>  =>   B<integer>

=begin html

<br>The number of aggregates that will be created.

=end html

=back



=over 2

=item * I<aggr-size>  =>   B<integer>

=begin html

<br>The expected size of each aggregate.

=end html

=back



=over 2

=item * I<disk-count>  =>   B<integer>

=begin html

<br>Total number of disks used for each aggregate.

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string>

=begin html

<br>Name of the Disk type present on this controller. Possible values include FCAL, ATA, LUN, SAS, SSD, BSAS, FSAS, MSATA and VMDISK.

=end html

=back



=head2 volume_flexgroup_get_create_limits

[B<Family:> vserver]


=begin html

Get the minimum and maximum create limits for a FlexGroup.

=end html



B<Inputs>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[]>

=begin html

<br>Specifies an array of names of aggregates to be used for FlexGroup constituents. Each entry in the array will create a constituent on the specified aggregate. An aggregate may be specified multiple times to have multiple constituents created on it.

=end html

=back



=over 2

=item * I<aggr-list-multiplier>  =>   B<integer, optional>

=begin html

<br>Specifies the number of times to iterate over the aggregates listed with the -aggr-list parameter when creating a FlexGroup. The aggregate list will be repeated the specified number of times. For example, if the aggr-list is "aggr1,aggr2" and the aggr-list-multiplier is 2 four constituents to be created in the order aggr1, aggr2, aggr1, aggr2. The number of constituents created on a node contributes to the maximum volume limit per node, which cannot be exceeded. Default aggr-list-multiplier is 4.

=end html

=back



=over 2

=item * I<space-guarantee>  =>   B<string, optional>

=begin html

<br>Specifies the type of space guarantee the new volume will use. Possible values: none, volume.

=end html

=back



B<Outputs>

=over 2

=item * I<max-create-with-dedupe>  =>   B<integer>

=begin html

<br>The maximum sized FlexGroup that can be create with deduplication.

=end html

=back



=over 2

=item * I<max-create-without-dedupe>  =>   B<integer>

=begin html

<br>The maximum sized FlexGroup that can be create without deduplication.

=end html

=back



=over 2

=item * I<min-create>  =>   B<integer>

=begin html

<br>The minimum sized FlexGroup that can be created.

=end html

=back



=head2 volume_flexgroup_get_expand_limits

[B<Family:> vserver]


=begin html

Get the minimum and maximum expand limits for a FlexGroup.

=end html



B<Inputs>

=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>This specifies the name of the FlexGroup you want the the limits for.

=end html

=back



B<Outputs>

=over 2

=item * I<max-aggr-list-with-dedupe>  =>   B<aggr-name[]>

=begin html

<br>Specifies the maximum array of names of aggregates that can be used to expand the specified FlexGroup, with deduplication. Each entry in the array corresponds to a constituent on the specified aggregate. The number of times an aggregate is specified is the number of constituents that can be created on it.

=end html

=back



=over 2

=item * I<max-aggr-list-without-dedupe>  =>   B<aggr-name[]>

=begin html

<br>Specifies the maximum array of names of aggregates that can be used to expand the specified FlexGroup, without deduplication. Each entry in the array corresponds to a constituent on the specified aggregate. The number of times an aggregate is specified is the number of constituents that can be created on it.

=end html

=back



=head2 volume_flexgroup_get_resize_limits

[B<Family:> vserver]


=begin html

Get the minimum and maximum resize limits for a FlexGroup.

=end html



B<Inputs>

=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>This specifies the name of the FlexGroup you want the the limits for.

=end html

=back



B<Outputs>

=over 2

=item * I<max-resize-with-dedupe>  =>   B<integer>

=begin html

<br>The maximum a FlexGroup can be resized to with deduplication.

=end html

=back



=over 2

=item * I<max-resize-without-dedupe>  =>   B<integer>

=begin html

<br>The maximum a FlexGroup can be resized to without deduplication.

=end html

=back



=over 2

=item * I<min-resize>  =>   B<integer>

=begin html

<br>The minimum a FlexGroup can be resized to.

=end html

=back



=head2 volume_footprint_get_iter

[B<Family:> cluster, vserver]


=begin html

Display a list of volumes and their data and metadata footprints in their parent aggregate. The term footprint is used to refer to space that is considered used in an aggregate due to data in a specific volume. Some fields are expensive to compute, if the system is under load, the information may not be returned. Best practise would be to only request the fields needed.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"footprint-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"footprint-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume-footprint object. All volume-footprint objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"footprint-info">[], optional>

=begin html

<br>The list of attributes of volume-footprint objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume-footprint objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of volume objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-attributes">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-attributes">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume object. All volume objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"volume-attributes">[], optional>

=begin html

<br>The list of attributes of volume objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_get_language

[B<Family:> vserver]


=begin html

Get the given volume's language mapping.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume for which we want the language mapping.

=end html

=back



B<Outputs>

=over 2

=item * I<language>  =>   B<string>

=begin html

<br>Set to the volume's language mapping, in the form "LanguageCode (Full Name)" (e.g. "en_US (English (US))"). For more information on these values, see 'volume-create'.

=end html

=back



=over 2

=item * I<language-code>  =>   B<string>

=begin html

<br>Set to the volume's language code, suitable for use as an argument to other functions (e.g. "en_US"). For more information on these values, see 'volume-create'.

=end html

=back



=over 2

=item * I<nfs-character-set>  =>   B<string>

=begin html

<br>The NFS language mapping character set that is currently in effect for the volume. <p> This field is of the following format: "&lt;nfs-character-set&gt;|&lt;display-name&gt;|&lt;asctime&gt;" <br/> Note that "|" is not an OR syntax. <p> &lt;asctime&gt; is the timestamp in the language configuration file header and its format is based on the standard: "A la ISO/IEC 9945-1, ANSI/IEEE Std 1003.1, Second Edition, 1996-07-12." <p> It uses the C Programming Language Printf format: "%.3s %.3s%3d %02d:%02d:%02d %s %d" <p> This format takes the following parameters in order: &lt;weekday name&gt;, &lt;month name&gt;, &lt;month day&gt;, &lt;hour&gt;, &lt;minute&gt;, &lt;second&gt;, &lt;timezone&gt; OR &lt;""&gt;, &lt;year&gt; <p> E.g., If the volume language code is set to "en_US", the default NFS character set is as follows:<br/> "iso-8859-1|iso-8859-1|Thu Oct 1 15:00:53 PDT 1998"

=end html

=back



=over 2

=item * I<oem-character-set>  =>   B<string>

=begin html

<br>The OEM language mapping character set that is currently in effect for the volume. <p> This field is of the following format: "&lt;oem-code-page&gt;|&lt;display-name&gt;|&lt;asctime&gt;"<br/> Note that "|" is not an OR syntax. <p> &lt;asctime&gt; is the timestamp in the language configuration file header and its format is based on the standard: "A la ISO/IEC 9945-1, ANSI/IEEE Std 1003.1, Second Edition, 1996-07-12." <p> It uses the C Programming Language Printf format: "%.3s %.3s%3d %02d:%02d:%02d %s %d" <p> This format takes the following parameters in order: &lt;weekday name&gt;, &lt;month name&gt;, &lt;month day&gt;, &lt;hour&gt;, &lt;minute&gt;, &lt;second&gt;, &lt;timezone&gt; OR &lt;""&gt;, &lt;year&gt; <p> E.g., If the volume language code is set to "en_US", the default NFS character set is as follows:<br/> "cp437|cp437|Thu Oct 1 15:00:53 PDT 1998"

=end html

=back



=head2 volume_get_limits

[B<Family:> vserver]


=begin html

Return calculated volume limits, which are based on the current configuration of the Vserver. If an Infinite Volume already exists on the Vserver, the values returned are in relation to the existing volume. <p> This API is only supported for Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<data-aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies an array of names of aggregates that would be used for Infinite Volume data constituents. If this input is not specified all the aggregates assigned to the Vserver are used. This input is not supported if an Infinite Volume already exists on the Vserver.

=end html

=back



=over 2

=item * I<enable-snapdiff>  =>   B<boolean, optional>

=begin html

<br>Whether to enable Snapdiff. If enabled, the namespace mirrors will be created for Snapdiff use. The default value is false.

=end html

=back



=over 2

=item * I<max-data-constituent-size>  =>   B<integer, optional>

=begin html

<br>The maximum size of each data constituent in bytes. The default value is determined by checking the maximum FlexVol size setting on all nodes used by the Infinite Volume. The smallest value found is chosen as the default for the max-data-constituent-size for the Infinite Volume.

=end html

=back



=over 2

=item * I<max-namespace-constituent-size>  =>   B<integer, optional>

=begin html

<br>The maximum size of the namespace constituent in bytes. The default value is 10TB.

=end html

=back



=over 2

=item * I<namespace-aggregate>  =>   B<string, optional>

=begin html

<br>The name of the aggregate in which the namespace constituent would be created. If not provided, ONTAP will pick the best available aggregate assigned to the Vserver. This input is not supported if an Infinite Volume already exists on the Vserver.

=end html

=back



=over 2

=item * I<namespace-mirror-aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies an array of names of aggregates that would be used for Infinite Volume namespace mirror constituents. If this input is not specified all the aggregates assigned to the Vserver are used.

=end html

=back



=over 2

=item * I<space-guarantee>  =>   B<string, optional>

=begin html

<br>Identifies the guarantee type for which the volume limits are calculated. If this argument is not provided, the default space guarantee option is 'volume'. <p> Possible values: <ul> <li> 'none', <li> 'volume' (default) </ul>

=end html

=back



B<Outputs>

=over 2

=item * I<max-infinitevol-size>  =>   B<integer>

=begin html

<br>The maximum size of the Infinite Volume in bytes.

=end html

=back



=over 2

=item * I<min-infinitevol-size>  =>   B<integer>

=begin html

<br>The minimum size of the Infinite Volume in bytes.

=end html

=back



=head2 volume_get_root_name

[B<Family:> vserver]


=begin html

Return the name of the "root" volume on the filer. If this request is executed in the context of a vfiler, the "root" volume of the vfiler will be returned. If this request is executed in the context of a Vserver the "namespace root" volume of the Vserver will be returned. If the "namespace root" volume of the Admin Vserver is requested, EVSERVER_OP_NOT_ALLOWED will be returned.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the root volume for the filer.

=end html

=back



=head2 volume_get_volume_path

[B<Family:> vserver]


=begin html

Return the junction-path of the volume.

=end html



B<Inputs>

=over 2

=item * I<is-style-cifs>  =>   B<boolean>

=begin html

<br>CIFS-style-flag

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



B<Outputs>

=over 2

=item * I<junction>  =>   B<string>

=begin html

<br>Junction Path

=end html

=back



=head2 volume_modify_iter

[B<Family:> cluster, vserver]


=begin html

Modify the attributes of a volume or a group of volume objects. <p> This API is not supported for Infinite Volumes or FlexGroups.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"volume-attributes">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple volume objects match a given query. If set to true, the API will continue modifying the next matching volume even when modification of a previous volume fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching volume even when the modification of a previous matching volume fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-attributes">>

=begin html

<br>If modifying a specific volume, this input element must specify all keys. If modifying volume objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of volume objects (just keys) that were not modified due to some error. If set to false, the list of volume objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of volume objects (just keys) that were successfully updated. If set to false, the list of volume objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"volume-modify-iter-info">[], optional>

=begin html

<br>Information about volume objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching volume objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of volume objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of volume objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"volume-modify-iter-info">[], optional>

=begin html

<br>The volume objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 volume_modify_iter_async

[B<Family:> cluster, vserver]


=begin html

Modify the attributes of an Infinite Volume, FlexGroup or a group of Infinite Volumes and FlexGroups. <p> Infinite Volume creation and expansion operations may involve creation and initialization of Namespace Mirrors. The initialization is started during the creation of expansion operation, but can continue after the Infinite Volume operation has completed. When this happens, the Infinite Volume will be in a 'mixed' state, until the Namespace Mirror initilization is complete. While in a 'mixed' state, further operations of the Infinite Volume are not possible. <p> This API is not supported for Flexible Volumes, Infinite Volume constituents or FlexGroup constituents. This API does not require any license when operating on an Infinite Volume.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"volume-attributes">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple volume objects match a given query. If set to true, the API will continue modifying the next matching volume even when modification of a previous volume fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching volume even when the modification of a previous matching volume fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-attributes">>

=begin html

<br>If modifying a specific volume, this input element must specify all keys. If modifying volume objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of volume objects (just keys) that were not modified due to some error. If set to false, the list of volume objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of volume objects (just keys) that were successfully updated or scheduled for update. If set to false, the list of volume objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"volume-modify-iter-async-info">[], optional>

=begin html

<br>Information about volume objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching volume objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of volume objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of volume objects that matched the query and were successfully updated or scheduled for update.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"volume-modify-iter-async-info">[], optional>

=begin html

<br>The volume objects that were successfully updated or scheduled for update. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 volume_mount

[B<Family:> vserver]


=begin html

Mount a volume on another volume (parent) with a junction-path. This API is not supported on Infinite Volume constituents.

=end html



B<Inputs>

=over 2

=item * I<activate-junction>  =>   B<boolean, optional>

=begin html

<br>This field optionally specifies whether the mounted volume is accessible. The default is true. If the mounted path is not accessible, it does not appear in the owning Vserver's namespace.

=end html

=back



=over 2

=item * I<export-policy-override>  =>   B<boolean, optional>

=begin html

<br>This field optionally specifies whether the parent volume's export policy overrides the mounted volume's Export Policy. The default is false.

=end html

=back



=over 2

=item * I<junction-path>  =>   B<string>

=begin html

<br>The Junction Path. <p> The fully-qualified pathname in the owning Vserver's namespace at which a volume is mounted. The pathname is case insensitive and must be unique within a Vserver's context. Note that this pathname may itself contain junctions, one for each volume (other than the namespace root volume) that provides storage along the pathname's length. As with all fully-qualified pathnames , this string must begin with '/'. In addition, it must not end with '/'. An Infinite Volume has the additional restriction of allowing only one element. <p> An example of a valid FlexVol junction path is: '/user/my_volume'. An example of a valid Infinite Volume junction path is: '/repository'. <p> Only one volume can be mounted at any given junction path. If an incorrect junction path is specified, EINVALIDINPUTERROR is returned. If this volume is mounted at a different junction path, or if another volume is mounted at the specified junction path, EVOLALREADYMOUNTED is returned.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>The name of the volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_move_get_iter

[B<Family:> cluster]


=begin html

Get status of move operation

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-move-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-move-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume object. All volume objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"volume-move-info">[], optional>

=begin html

<br>The list of attributes of volume objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_move_pause

[B<Family:> cluster]


=begin html

Pause running volume move operation.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_move_resume

[B<Family:> cluster]


=begin html

Resume running volume move operation.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_move_start

[B<Family:> cluster]


=begin html

Initially this API will run a series of checks to determine if the volume can be moved. If any of the checks results in an error or warning, the API will return with an error. The user has to take the necessary corrective action before restarting the move. If all the checks pass, the API will return a success. If "perform-validation-only" is set to true, all the errors and warnings encountered from the checks will be returned in the errors-warnings output element. The API will return successfully, and the move will not be initiated. By default "perform-validation-only" is false, which means that the destination volume will be created and the move will start. A flexvol can be moved to any aggregate in the cluster, but if the flexvol is a member of an infinite volume it can only be moved to any eligible aggregate within the same vserver. The list of eligible aggregates can be obtained using the "volume-move-target-aggr-get-iter" API. The Cluster-mode API, supports the actions of "cutover-window", "cutover-attempts" and "cutover-action".The status of the move job can be obtained by using the "volume-move-get-iter" API and "job-get" or "job-get-iter" APIs. If the move fails an EMS message will be generated. The reason for the failure can be obtained from the volume-move-get-iter API.

=end html



B<Inputs>

=over 2

=item * I<cutover-action>  =>   B<string, optional>

=begin html

<br>Specifies the action to be taken for cutover. Possible values are "abort_on_failure", "defer_on_failure", "force" and "wait". Default is "defer_on_failure". If "abort_on_failure" action is specified, the job will try cutover till the cutover-attempts are exhausted, and cleanup if it fails to cutover. If "defer_on_failure" action is specified, the job will try cutover till the cutover-attempts are exhausted and move into "cutover deferred" state if it fails to cutover. This is the default option. The volume move job waits for intervention to restart the cutover process again. If "force" action is specified, the job will try cutover till the cutover-attempts are exhausted and force the cutover at the expense of disrupting the clients. If "wait" action is specified, when the job hits the decision point, it will not go into cutover automatically, instead it will wait for the user to issue a "volume-move-trigger-cutover" command as the signal to try the cutover.

=end html

=back



=over 2

=item * I<cutover-attempts>  =>   B<integer, optional>

=begin html

<br>Number of cutover attempts. Default value is 3

=end html

=back



=over 2

=item * I<cutover-window>  =>   B<integer, optional>

=begin html

<br>Time interval to complete cutover in seconds. Default value for Data ONTAP Cluster-Mode volume move is 30 seconds. Default value for Data ONTAP 7-mode volume move is 60 seconds.

=end html

=back



=over 2

=item * I<dest-aggr>  =>   B<string>

=begin html

<br>Name of the destination aggregate

=end html

=back



=over 2

=item * I<encrypt-destination>  =>   B<boolean, optional>

=begin html

<br>To encrypt destination volume.

=end html

=back



=over 2

=item * I<generate-destination-key>  =>   B<boolean, optional>

=begin html

<br>To generate new encryption key for destination volume.

=end html

=back



=over 2

=item * I<perform-validation-only>  =>   B<boolean, optional>

=begin html

<br>Run pre-checks for the move, return all the errors and warning messages encountered during the checks in the errors-warnings element and exit. The move will not be triggered. Default is false.

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string>

=begin html

<br>Name of the volume that must be moved

=end html

=back



=over 2

=item * I<tiering-policy>  =>   B<string, optional>

=begin html

<br>The tiering policy that is to be associated with the volume. This policy decides whether the blocks of a volume will be tiered to the capacity tier. The possible values for this field are: <ul> <li>snapshot-only - This policy allows tiering of only the volume snapshot copies not associated with the active file system.</li> <li>none - Volume blocks will not be tiered to the capacity tier.</li> <li>backup - On DP volumes this policy allows all transferred user data blocks to start in the capacity tier.</li> </ul> Default tiering policy is snapshot-only.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver in which the volume to be moved resides. This value is required for C-Mode volumes.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=over 2

=item * I<vol-move-warnings>  =>   B<L<"errors-warnings-info">, optional>

=begin html

<br>Warning messages

=end html

=back



=over 2

=item * I<volume-move-dedup-warnings>  =>   B<L<"errors-warnings-info">[], optional>

=begin html

<br>Volume Move Dedup Warnings

=end html

=back



=head2 volume_move_target_aggr_get_iter

[B<Family:> cluster]


=begin html

Scans aggregates and returns a list of compatible target aggregates for the given volume move operation.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"volume-move-target-aggr-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination-tiering-policy>  =>   B<string, optional>

=begin html

<br>Volume Tiering Policy

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"volume-move-target-aggr-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume object. All volume objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Volume Name (Required field)

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name (Required field)

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"volume-move-target-aggr-info">[], optional>

=begin html

<br>The list of attributes of volume objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_move_trigger_abort

[B<Family:> cluster]


=begin html

Stop a running volume move operation. <p> This is an asynchrous API call and it does not wait for the abort to finish before returning. volume-move-get-iter can be used to monitor the progress of the abort and get the status. Unlike 'job stop', this API makes it possible to stop a move job by the vserver and volume name. If the specified volume has completed the volume move operation, an error is returned.

=end html



B<Inputs>

=over 2

=item * I<source-volume>  =>   B<string>

=begin html

<br>The volume that is part of a completed or running volume move operation.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_move_trigger_cutover

[B<Family:> cluster]


=begin html

Trigger cutover of a move job

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force cutover

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string>

=begin html

<br>The name of the volume.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver in which the volume to be moved resides. This value is required for C-Mode volumes.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_offline

[B<Family:> vserver]


=begin html

Take the specified volume or plex offline, making it unavailable for both user-level data access and RAID-level access (unless it's a flexible volume, at which time its containing aggregate is not affected in any way, and will remain fully online). The operation takes effect before the API returns except in maintenance mode, when the current root volume may not be taken offline. A volume marked to become the root cannot be taken offline. Taking a flexible volume offline does not affect its containing aggregate in any way. A number of operations being performed on the given volume (or its containing aggregate) can prevent this operation from succeeding, either at all or for various lengths of time. If such operations are found, the system waits up to one second for them to finish. If they don't, the command is aborted. A check is also made for files on the volume opened by internal ONTAP processes. The command is aborted if any are found. Plexes are not supported for Cluster-Mode volumes. <p> This API is not supported for Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of an existing volume or plex. If a volume contains CIFS shares, users should be warned before taking the volume offline. Use "cifs-delay" to specify number of seconds to wait. If a plex is specified, the plex must be part of a mirrored volume, and both plexes must be online. Prior to offlining a plex, the system will flush all internally-buffered data associated with the plex and create a snapshot that is written out to both plexes. The snapshot allows for efficient resynchronization when the plex is subsequently brought back online.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_offline_async

[B<Family:> vserver]


=begin html

Take the specified Infinite Volume offline, thereby making it unavailable for data access. The Infinite Volume must be unmounted before it can be made offline. <p> This API is not supported for Flexible Volumes, Infinite Volume constituents or FlexGroup constituents.

=end html



B<Inputs>

=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of an existing Infinite Volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_online

[B<Family:> vserver]


=begin html

Bring the specified volume or the plex online. This command takes effect immediately. If there are CIFS shares associated with the volume, they are enabled. Plexes are not supported for Cluster-Mode volumes. <p> This API is not supported for Infinite Volumes.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of an existing volume or plex. If a volume is specified, it must be currently offline, restricted, or foreign. If the volume is foreign, it will be made native before being brought online. A ``foreign'' volume is a traditional volume that consists of disks moved from another filer and that has never been brought online on the current filer. Traditional volumes that are not foreign are considered ``native.'' If the volume is inconsistent, but has not lost data, it is advisable to run WAFL_check or wafliron (or do a 'snapmirror initialize' in case of a replica volume) prior to bringing an inconsistent volume online. Bringing an inconsistent volume online increases the risk of further file system corruption. If the volume is inconsistent and has experienced possible loss of data, it cannot be brought online unless WAFL_check or wafliron (or 'snapmirror initialize') has been run on the volume. If a plex is specified, the plex must be part of an online mirrored traditional volume or aggregate. The system will initiate resynchronization of the plex as part of online processing.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_online_async

[B<Family:> vserver]


=begin html

Bring the specified Infinite Volume online. <p> This API is not supported for Flexible Volumes, Infinite Volume constituents or FlexGroup constituents.

=end html



B<Inputs>

=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of an existing Infinite Volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_options_list_info

[B<Family:> vserver]


=begin html

Get the options that have been set for the specified volume.

=end html



B<Inputs>

=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the existing volume for which we want option information.

=end html

=back



B<Outputs>

=over 2

=item * I<options>  =>   B<L<"volume-option-info">[]>

=begin html

<br>List of options set for this volume.

=end html

=back



=head2 volume_rehost

[B<Family:> cluster]


=begin html

Rehosts a volume from one Vserver into another Vserver. Since volume rehost is a disruptive operation, administrators must stop all data access on target volume before rehosting. On success, target volume is available for data access under destination Vserver. Upon failure the rehost operation is reverted and target volume is available under source Vserver.

=end html



B<Inputs>

=over 2

=item * I<auto-remap-luns>  =>   B<boolean, optional>

=begin html

<br>Flag to control automatic map of LUNs. Default value for this flag is 'false' which means LUNs will not be mapped. Administrators may choose to either manually map LUNs or set this flag to 'true' for automatic map of LUNs.

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string>

=begin html

<br>Destination Vserver name where target volume must reside after successful volume rehost operation

=end html

=back



=over 2

=item * I<force-unmap-luns>  =>   B<boolean, optional>

=begin html

<br>Flag to control automatic unmap of LUNs. Default value for this flag is 'false' which means LUNs will not be unmapped. Administrators may choose to either manually unmap LUNs or set this flag to 'true' for automatic unmap of LUNs.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Target volume name

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Source Vserver name to which target volume belongs

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_rename

[B<Family:> vserver]


=begin html

Renames the specified volume to a new name specified by "new-volume-name". If the volume is referenced in the /etc/exports file, remember to make the name change in /etc/exports also so that the affected file system can be exported by the filer after the filer reboots. The "volume-rename" command does not automatically update the /etc/exports file. <p> This API is not supported for Infinite Volumes or FlexGroups. This API is supported for FlexGroup constituents, but must be of the format <fgname>__<NNNN>, where N is the FlexGroup-index of the constituent with leading 0's.

=end html



B<Inputs>

=over 2

=item * I<new-volume-name>  =>   B<string>

=begin html

<br>New volume name.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of an existing volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_rename_async

[B<Family:> vserver]


=begin html

Renames the specified Infinite Volume to a new name specified by "new-volume-name". <p> This API is not supported for Flexible Volumes, FlexGroups, or Infinite Volume constituents. This API is supported for FlexGroup constituents, but must be of the format <fgname>__<NNNN>, where N is the FlexGroup-index of the constituent with leading 0's.

=end html



B<Inputs>

=over 2

=item * I<new-volume-name>  =>   B<string>

=begin html

<br>New name of the Infinite Volume.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of an existing Infinite Volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_restrict

[B<Family:> vserver]


=begin html

Restrict the specified volume, making it unavailable for user-level data access but leaving it (or its containing aggregate, if it's a flexible volume) available to internal OnTAP RAID-level access. <p> This API is not supported for Infinite Volumes. This API is not supported on Infinite Volume constituents.

=end html



B<Inputs>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the volume to restrict.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_restrict_async

[B<Family:> vserver]


=begin html

Restrict the specified Infinite Volume making it unavailable for data access. <p> This API is not supported for Flexible Volumes, Infinite Volume constituents or FlexGroup constituents.

=end html



B<Inputs>

=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Name of an existing Infinite Volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 volume_set_option

[B<Family:> vserver]


=begin html

Set the option named 'option-name' to the value specified by 'option-value' in the specified volume. The change remains effective even after the filer is rebooted. Some options have values that are numbers or strings, and others have values that are 'on' (also expressible as 'yes', 'true', or '1' ) or "off" (also expressible as 'no', 'false', or '0'). A mixture of uppercase and lowercase characters may be used for an option's value. Note that the 'root' option is special in that it does not have an associated value. Also, note that some of these options can NOT be set for a flexible volume, as they relate only to aggregates (either free-standing ones or those embedded in traditional volumes). Other options may only apply for flexible volumes.

=end html



B<Inputs>

=over 2

=item * I<option-name>  =>   B<string>

=begin html

<br>Name of the option to be set. Possible values: <dl> <dt>"convert_ucode" (value: "on" | "off")</dt> <dd> Setting this option to "on" forces conversion of all directories to UNICODE format when accessed from both NFS and CIFS. By default, it is set to "off", in which case access from CIFS causes conversion of pre-4.0 and 4.0- format directories. Access from NFS causes conversion of 4.0 format directories. This option cannot be set on a Cluster-Mode volume unless it was transitioned from 7-Mode. </dd><br> <dt>"snapshot_clone_dependency" (value: "on" | "off")</dt> <dd> Setting this option "on" will unlock all initial and intermediate backing snapshots for all inactive LUN clones. For active LUN clones, only the backing snapshot will be locked. If the option is "off" the backing snapshot will remain locked until all intermediate backing snapshots are deleted. This option is not valid for a Cluster-Mode volume. </dd><br> <dt>"create_reserved"</dt> <dd> This option is no longer supported. </dd><br> <dt>"create_ucode" (value: "on" | "off")</dt> <dd> Setting this option to "on" forces UNICODE format directories to be created by default, both from NFS and CIFS. The default value is "off", in which case all directories are created in pre-4.0 format and only converted to UNICODE format upon the first CIFS access. This option cannot be set on a Cluster-Mode volume. </dd><br> <dt>"extent" (value: "on" | "space_optimized" | "off")</dt> <dd> Setting this option to "on" enables extents in the volume. This causes application writes to be written in the volume as a write of a larger group of related data blocks called an extent. Using extents may help workloads that perform many small random writes followed by large sequential reads. However, using extents may increase the amount of disk operations performed on the filer, so this option should only be used where applicable. The default value is "off", in which case extents are not used. The value "space_optimized" indicates extent updates will not duplicate snapshot blocks into the active file system, thereby using space conservatively. The "space_optimized" value may result in degraded snapshot read performance; and may only be used for <b>flexible</b> volumes. </dd><br> <dt>"fractional_reserve" (value: &lt number &gt)</dt> <dd> This option decreases the amount of space reserved for overwrites of reserved objects (LUNs, files) in a volume. The option is set to 100 by default and indicates that 100% of the required reserved space will actually be reserved so the objects are fully protected for overwrites. The value can vary from 0 to 100. Using a value of less than 100 indicates what percentage of the required reserved space should actually be reserved. This returns the extra space to the available space for the volume, decreasing the total amount of space used. However, this does leave the protected objects in the volume vulnerable to out of space errors since less than 100% of the required reserved space is actually reserved. If reserved space becomes exhausted this will cause disruptions on the hosts using the objects. If the percentage is decreased below 100%, it is highly recommended that the administrator actively monitor the space usage on the volume and take corrective action if the reserved space nears exhaustion. </dd><br> <dt>"fs_size_fixed" (value: "on" | "off")</dt> <dd> Setting this option to "on" causes the file system to remain the same size (and not grow) when a SnapMirror relationship is broken, or when a "vol/aggr add" is performed on it. This option is automatically set to be "on" when a volume becomes a SnapMirrored. It remains "on" after the "snapmirror break" command is issued for the volume. This option allows a volume to be SnapMirrored back to the source without needing grow the source volume. If the volume size is larger than the file system size, turning off this option forces the file system to grow to the size of the volume. </dd><br> <dt>"guarantee" (value: "none" | "file" | "volume")</dt> <dd> <b>Flexible</b> volumes only. Setting this option controls the type of space reservation for the named flexible volume. There are three possible settings. The first, "none", provides no guarantee that there will be enough blocks in the containing aggregate to meet the flexible volume's needs. The second, "file", guarantees there will be enough blocks in the containing aggregate to meet the needs of the specified files in the flexible volume. The third, "volume", is the default setting and guarantees there will be enough blocks available in the containing aggregate to meet the entire flexible volume's needs. An error will be returned if an attempt is made to set this option on a traditional volume. </dd><br> <dt>"ignore_inconsistent" (value: "on" | "off")</dt> <dd> This option can only be set in maintenance mode. If set to "on", then the root volume may be brought online when booting even if it is marked as inconsistent. The user is cautioned that bringing it online prior to running WAFL_check or wafliron may result in further file system inconsistency. </dd><br> <dt>"maxdirsize" (value: &lt number &gt)</dt> <dd> Set the maximum size (in KBytes) to which any directory can grow. The default setting of 10240 limits directory size to 10 MBytes and allows it to hold up to approximately 300,000 files. The number of files that the directory actually can hold varies depending on such things as the length of the names and whether it needs to use double-byte UNICODE characters. Most users should not need to change this option's setting. This option is useful for environments where system users may grow a directory to a size that starts impacting system performance. When a user tries to create a file in a directory that is at the limit, the system returns a ENOSPC error and fails the create. </dd><br> <dt>"max_write_alloc_blocks" (value: &lt number &gt)</dt> <dd> Set the maximum number of blocks used for write allocation. The default setting, 0, uses the system-wide default number of blocks, which should be optimal for most users. Some sequential read workloads may benefit from increasing this value. On rare occasions, some multi-stream sequential write workloads may benefit from decreasing this value. Range: [0..2048]. </dd><br> <dt>"minra" (value: "on" | "off")</dt> <dd> Setting this option to "on" causes the filer to perform minimal read-ahead on this volume. By default, this option is "off", causing the filer to perform very aggressive read-ahead on the volume. </dd><br> <dt>"no_atime_update" (value: "on" | "off")</dt> <dd> Setting this option to "on" prevents the update of inode access times when a file is read. This option is useful for volumes with extremely high read traffic, since it prevents writes to the inode file for the volume from contending with reads from other files. It should be used carefully. That is, use this option when you know in advance that the correct access time for inodes will not be needed for files on that volume. </dd><br> <dt>"no_i2p" (value: "on" | "off")</dt> <dd> Setting this option to "on" disables inode to parent pathname translations on the volume. The default setting is off. </dd><br> <dt>"nosnap" (value: "on" | "off")</dt> <dd> Setting this option to "on" disables automatic snapshots on the volume. This option is not supported for Cluster-Mode volumes. </dd><br> <dt>"nosnapdir" (value: "on" | "off")</dt> <dd> Setting this option to "on" disables the visible .snapshot directory that is normally present at system internal mount points. It also turns off access to all other .snapshot directories in the volume. </dd><br> <dt>"nvfail" (value : "on" | "off")</dt> <dd> If this option is on, the filer performs additional work at boot time if it finds that there has been any potential data loss due to an NVRAM failure. In such situations, it causes the invalidation of all NFS file handles on all volumes affected by the problem so that client-side users are forced to remount the affected file system (and thus not continue to use potentially incorrect data). It is also possible to specify a set of files per volume that are to be renamed out of the way in these cases. The filer sends error messages to the console whenever such problems are found. </dd><br> <dt>"raid_cv" (value: "on" | "off")</dt> <dd> <b>Traditional</b> volumes only. Setting the option to "off" disables block checksum protection on the volume. The default is "on". The user is cautioned that turning off the option exposes the filesystem to inconsistency that could be caused by a misbehaving hardware component in the system. </dd><br> <dt>"raidsize" (value: &lt number &gt)</dt> <dd> <b>Traditional</b> volumes only. The maximum size of a RAID group within the traditional volume. Changing this option doesn't cause existing RAID groups to grow or shrink. Rather, it only affects whether more disks will be added to the last existing RAID group in the future, and how large new RAID groups will be. </dd><br> <dt>"raidtype" (value: "raid4" | "raid_dp" | "raid_tec")</dt> <dd> <b>Traditional</b> volumes only. The type of RAID group used for this traditional volume. The "raid4" setting provides one parity disk per RAID group, "raid_dp" provides two and "raid_tec" provides three. Changing this option immediately changes the RAID group type for all RAID groups in the traditional volume. When upgrading RAID groups from "raid4" to "raid_dp", each RAID group begins reconstruction onto a spare disk allocated for the second "dparity" parity disk. Similarly, when upgrading RAID groups from "raid_dp" to "raid_tec", each RAID group begins a reconstruction onto a spare disk allocated for the third "tparity" parity disk. </dd><br> <dt>"read_realloc" (value: "on" | "space_optimized" | "off")</dt> <dd> Setting this option to "on" enables read-reallocation in the volume. This causes application reads to optimize the layout of parts of a file or LUN after the data has been read from disk and is in the appliance memory. The default value is "off". The value "space_optimized" indicates read-reallocate updates will not duplicate blocks into the active file system, thereby using space conservatively. The "space_optimized" value may result in degraded snapshot read performance; and may only be used for <b>flexible</b> volumes. </dd><br> <dt>"resyncsnaptime" (value: &lt number &gt)</dt> <dd> <b>Traditional</b> volumes only. Sets the RAID mirror resynchronization snapshot frequency to be the given number of minutes. The default value is '60' (minutes). </dd><br> <dt>"root" (value: &lt none &gt)</dt> <dd> The specified volume is to become the root volume for the filer on the next reboot. This option can be used on only one volume at any given time. The existing root volume will become a non-root volume after the reboot. Until the system is rebooted, the current root volume will continue to show 'root' as one of its options, and the new root volume will show 'diskroot' as an option. In general, the volume that has the 'diskroot' option value is the one that becomes the root volume following the next reboot. The only way to remove the root status of a volume is to set it on another one. </dd><br> <dt>"schedsnapname" (value: "create_time" | "ordinal")</dt> <dd> Setting the option to "ordinal" causes scheduled snapshots to be named in the hourly.n name format. Setting the value to "create_time" causes snapshots to use a hourly.yyyy-mm-dd_hhmm name format instead. The default is "ordinal". </dd><br> <dt>"snapmirrored" (value : "off")</dt> <dd> If SnapMirror is enabled, the filer automatically sets this option to "on". Set this option to "off" if SnapMirror should no longer be used to update the mirror. After setting this option to "off", the mirror becomes a regular writable volume. This option can only be set to "off" with this interface. Only the filer can change this option's value from "off" to "on". This option is not settable in Data ONTAP Cluster-Mode. Use "snapmirror-break" API instead. </dd><br> <dt>"try_first" (value : "volume_grow" | "snap_delete")</dt> <dd> If the flexible volume is configured to automatically reclaim space if the volume is running out of space, then setting this option to "volume_grow" will cause the volume to increase in size before deleting snapshots. If the option was set to "snap_delete", snapshots will be deleted before the volume size is increased. </dd><br> <dt>"svo_enable" (value: "on" | "off")</dt> <dd> Setting this option to "on" enables SnapValidator functionality on this volume. This option only applies to non-root volumes. This option is unsupported in Data ONTAP Cluster-Mode. </dd><br> <dt>"svo_allow_rman" (value: "on" | "off")</dt> <dd> Setting this option to "on" enables SnapValidator functionality on this volume to allow this volume to contain Oracle RMAN backup data. This option only applies to non-root volumes. This option is unsupported in Data ONTAP Cluster-Mode. </dd><br> <dt>"svo_checksum" (value: "on" | "off")</dt> <dd> Setting this option to "on" enables SnapValidator checksumming of all writes to this volume. This option only applies to non-root volumes. This option is unsupported in Data ONTAP Cluster-Mode. </dd><br> <dt>"svo_reject_errors" (value: "on" | "off")</dt> <dd> Setting this option to "on" enables SnapValidator functionality to reject any write to the volume which fails the SnapValidator checks. This option only applies to non-root volumes. This option is unsupported in Data ONTAP Cluster-Mode. </dd><br> <dt>"thorough_scrub" (value: "on" | "off")</dt> <dd> <b>Traditional</b> volumes only. Setting the option to "on" enables thorough scrub on a block checksum volume. That means that a scrub will initialize any zeroed checksum entries that it finds. If there are any checksum entries to be initialized, scrub will run slower than normal. </dd><br> <dt>"snaplock_autocommit_period" (value: "none" | <count> h|d|m|y)</dt> <dd> <b>SnapLock</b> volumes only. This option defines the criteria for committing files to WORM on a SnapLock volume by the autocommit scanner. h, d, m, y denote hours, days, months and years respectively. The default value of this option is "none" that corresponds to autocommit being disabled in the SnapLock volume. The minimum autocommit period on a SnapLock volume is 2h. Any valid value other than "none", specified in hours (h), days (d), months (m) or years (y) would trigger the autocommit scanner on the Snaplock volume. </dd><br> <dt> "snaplock_default_period" (value : min | max | infinite | <count>s|h|d|m|y)</dt> <dd> This option can be set only for <b>SnapLock</b> volumes and specifies the default retention period that will be applied to files committed to WORM state without an associated retention period. If this option value is <b>min</b> then snaplock_minimum_period is used as the default retention period. If this option value is <b>max</b> then snaplock_maximum_period is used as the default retention period. If this option value is <b>infinite</b> then infinite retention period will be used as the default retention period. WORM files with infinite retention period are retained forever. The retention period can also be explicitly specified as a number followed by a suffix. The valid suffixes are <b>s</b> for seconds, <b>h</b> for hours, <b>d</b> for days, <b>m</b> for months and <b>y</b> for years. For example, a value of <b>6m</b> represents a retention period of 6 months. The maximum valid retention period is 70 years. This option is not applicable while extending retention period of an already committed WORM file </dd><br> <dt> "snaplock_maximum_period" (value: infinite | <count>s|h|d|m|y)</dt> </dt> <dd> This option can be set only for <b>SnapLock</b> volumes and specifies the maximum allowed retention period for files committed to WORM state on the volume. Any file committed with a retention period longer than snaplock_maximum_period will be assigned a retention period equal to snaplock_maximum_period. If this option value is <b>infinite</b> then files can be committed for infinite retention period in the volume. WORM files with infinite retention period are retained forever. The retention period can also be explicitly specified as a number followed by a suffix. The valid suffixes are <b>s</b> for seconds, <b>h</b> for hours, <b>d</b> for days, <b>m</b> for months and <b>y</b> for years. For example, a value of <b>6m</b> represents a retention period of 6 months. The maximum valid retention period is 70 years. This option is not applicable while extending retention period of an already committed WORM file </dd><br> <dt> "snaplock_minimum_period" (value: infinite | <count>s|h|d|m|y)</dt> </dt> <dd> This option can only be set for <b>SnapLock</b> volumes and specifies the minimum allowed retention period for files committed to WORM state on the volume. Any file committed with a retention period shorter than snaplock_minimum_period will be assigned a retention period equal to snaplock_minimum_period. If this option value is <b>infinite</b> then every file committed to the volume will have a infinite retention period. WORM files with infinite retention period are retained forever. The retention period can also be explicitly specified as a number followed by a suffix. The valid suffixes are <b>s</b> for seconds, <b>h</b> for hours, <b>d</b> for days, <b>m</b> for months and <b>y</b> for years. For example, a value of <b>6m</b> represents a retention period of 6 months. The maximum valid retention period is 70 years. This option is not applicable while extending retention period of an already committed WORM file </dd><br> </dl>

=end html

=back



=over 2

=item * I<option-value>  =>   B<string>

=begin html

<br>The value to set the named option (except for option 'root', which has no associated value).

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume for which we want to set an option.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_set_total_files

[B<Family:> vserver]


=begin html

Set a volume's 'files-total' value to the given quantity. This specifies the maximum number of user-visible files that the given volume can hold, as reported by the 'files-total' value within: - the 'volumes' output parameter of the Data ONTAP 7-Mode 'volume-list-info' API, and - the 'attributes-list' output parameter of the Data ONTAP Cluster-Mode 'volume-get-iter' API. Note that this interface corresponds to the following Data ONTAP 7-Mode 'maxfiles' console command and Data ONTAP Cluster-Mode 'volume modify' console command: 'maxfiles &lt;vol-name&gt; &lt;requested_new_max&gt;' 'volume modify -vserver &lt;vserver-name&gt; -volume &lt;volume-name%gt -files &lt;requested_new_max&gt;'

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the filer should reject a legal but "unreasonable" (seemingly too large) value for 'requested-total-files', or accept it without question. By default, legal but "unreasonable" values are rejected.

=end html

=back



=over 2

=item * I<requested-total-files>  =>   B<integer>

=begin html

<br>Specifies the new value for the volume's 'files-total' field. This value must be larger than the volume's current 'files-total' value, and can never be larger than the number of 4KB blocks in the volume. The filer may actually choose a smaller value so as to comply with certain internal accounting and alignment requirements. Once this value has been increased for a volume, it cannot be reduced below the value of 'inodefile-public-capacity' for that volume. Range : [0..2^31-1]

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the volume whose 'files-total' field we wish to set. The chosen volume must be online and not read-only for this operation to succeed.

=end html

=back



B<Outputs>

=over 2

=item * I<resulting-total-files>  =>   B<integer>

=begin html

<br>The quantity to which the given volume's 'files-total' field was actually set after all internal requirements and alignments were computed. This quantity will never be larger than 'requested-total-files', and never be smaller than the volume's 'inodefile-public-capacity' value before the request. Range : [0..2^31-1]

=end html

=back



=head2 volume_size

[B<Family:> vserver]


=begin html

Given the name of a flexible volume, either return its current size or set the volume's size to the stated amount. <p> This API is not supported for FlexGroups, FlexGroup constituents, Infinite Volumes or Infinite Volume constituents. Also, this API does not allow to set the volume's size from vFiler context.

=end html



B<Inputs>

=over 2

=item * I<new-size>  =>   B<string, optional>

=begin html

<br>Specify the flexible volume's new size using the following format: [+|-]&lt number &gt k|m|g|t] If a leading '+' or '-' appears, it indicates that the given flexible volume's size is to be increased or decreased (respectively) by the indicated amount, else the amount is the absolute size to set. The optional trailing 'k', 'm', 'g', and 't' indicates the desired units, namely 'kilobytes', 'megabytes', 'gigabytes', and 'terabytes' (respectively). If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes desired. The file system size of a readonly replica flexible volume, such as a snapmirror destination, is determined from the replica source. In such cases, the value set using "volume-size" is interpreted as an upper limit on the size. A flexible volume that's not a readonly replica which has the "fs_size_fixed" option set may have its size displayed, but not changed. Attempting to set the volume size in this case will result in failure and a EINTERNALERROR error code. Users must be able to adjust readonly replica flexible volume size in order to maintain enough capacity to accommodate transfers from the replica source. Attempting to set a readonly replica destination size to be less than that of its source will result in a failure indicated by the EONTAPI_ENOSPC error code. This option is not applicable from vFiler context. Attempting to set volume size from vfiler context will result in failure with EINTERNALERROR error code being returned.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the flexible volume for which we want to get or set its size.

=end html

=back



B<Outputs>

=over 2

=item * I<is-fixed-size-flex-volume>  =>   B<boolean, optional>

=begin html

<br>Is the flexible volume filesystem size fixed?

=end html

=back



=over 2

=item * I<is-readonly-flex-volume>  =>   B<boolean, optional>

=begin html

<br>Is this flexible volume read only?

=end html

=back



=over 2

=item * I<is-replica-flex-volume>  =>   B<boolean, optional>

=begin html

<br>Is this flexible volume a replica volume?

=end html

=back



=over 2

=item * I<volume-size>  =>   B<string>

=begin html

<br>Either the size we found the given volume to be or the size to which the volume was set (if we're setting its size via the 'new-size' argument above).

=end html

=back



=head2 volume_size_async

[B<Family:> vserver]


=begin html

Given the name of a volume, either return its current size or set the volume's size to the stated amount. <p> This API is not supported for flexible volumes, Infinite Volume constituents or FlexGroup constituents.

=end html



B<Inputs>

=over 2

=item * I<new-size>  =>   B<string, optional>

=begin html

<br>Specify the Infinite Volume's new size using the following format: [+|-]&lt number &gt [k|m|g|t|p] If a leading '+' or '-' appears, it indicates that the given Infinite Volume's size is to be increased or decreased (respectively) by the indicated amount, else the amount is the absolute size to set. The optional trailing 'k', 'm', 'g', 't', and 'p' indicates the desired units, namely 'kilobytes', 'megabytes', 'gigabytes', 'terabytes', and 'petabytes' (respectively). If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of kilobytes desired. The file system size of a readonly Infinite Volume, such as a snapmirror destination, is determined from the snapmirror source. In such cases, the value set using this API is interpreted as an upper limit on the size. An Infinite Volume that's not a snapmirror destination which has the "fs_size_fixed" option set may have its size displayed, but not changed. Attempting to set the volume size in this case will result in failure and a EINTERNALERROR error code. Users must be able to adjust readonly snapmirror destination Infinite Volume size in order to maintain enough capacity to accommodate transfers from the replica source. Attempting to set a readonly snapmirror destination size to be less than that of its source will result in a failure indicated by the EONTAPI_ENOSPC error code. If this input is specified, the size modification occurs asynchronously, and the 'volume-size' output is not returned to the caller. Infinite Volume creation and expansion operations may involve creation and initialization of Namespace Mirrors. The initialization is started during the creation or expansion operation, but can continue after the Infinite Volume operation has completed. When this happens, the Infinite Volume will be in a 'mixed' state, until the Namespace Mirror initialization is complete. While in a 'mixed' further operations of the Infinite Volume are not possible. This parameter is not supported on Infinite Volumes that are managed by storage services.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>The name of the Infinite Volume.

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=over 2

=item * I<volume-size>  =>   B<string, optional>

=begin html

<br>The size of the Infinite Volume. This output is returned only if the caller is querying the the size and is not modifying it by specifying the 'new-size' input parameter.

=end html

=back



=head2 volume_space_get_iter

[B<Family:> cluster, vserver]


=begin html

Display a list of volumes and a breakup of their used space. This information is only available when the volume is online. Some fields are expensive to compute, if the system is under load, the information may not be returned. Best practise would be to only request the fields needed.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"space-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"space-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume-space object. All volume-space objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"space-info">[], optional>

=begin html

<br>The list of attributes of volume-space objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume-space objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_storage_service_get_iter

[B<Family:> cluster, vserver]


=begin html

Iterate over a list of volume-storage-service objects.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"storage-service-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"storage-service-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the volume-storage-service object. All volume-storage-service objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"storage-service-info">[], optional>

=begin html

<br>The list of attributes of volume-storage-service objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more volume-storage-service objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 volume_storage_service_rename

[B<Family:> vserver]


=begin html

Volume Storage Service Rename

=end html



B<Inputs>

=over 2

=item * I<new-storage-service>  =>   B<string>

=begin html

<br>New Storage Service Name

=end html

=back



=over 2

=item * I<storage-service>  =>   B<string>

=begin html

<br>Storage Service Name

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Volume Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_transition

[B<Family:> cluster]


=begin html

Transition a volume between 7-Mode and Cluster-Mode. Currently the only supported operation type is transitioning a 7-Mode Flexible Volume that has been copied from a 7-Mode Filer for the purpose of transitioning it to a Cluster-Mode Flexible Volume. A job-id will be returned that can be used to query to progress of the transition job.

=end html



B<Inputs>

=over 2

=item * I<destination-vserver-name>  =>   B<string, optional>

=begin html

<br>The name of the vserver into which a volume is being transitioned.

=end html

=back



=over 2

=item * I<non-disruptive>  =>   B<boolean, optional>

=begin html

<br>A 'true' value indicates that only a non-disruptive transition will be accepted. This is not available for all volume configurations. If a value is not specified, this field will default to true - non-disruptive desired.

=end html

=back



=over 2

=item * I<operation-type>  =>   B<string, optional>

=begin html

<br>The type of transition operation; Possible values are: "copy_based" (default) "in_place" "untransition" Copy Based Transition is currently the only supported mode for transition; "in_place" and "untransition" should only be used in testing scenarios.

=end html

=back



=over 2

=item * I<override-warnings>  =>   B<boolean, optional>

=begin html

<br>A 'true' value indicates that all warnings will be ignored as a part of the transition process. The system will select default values as appropriate. If not specified, values will not be overridden.

=end html

=back



=over 2

=item * I<source-node>  =>   B<string>

=begin html

<br>The name of the node where the target volumes reside.

=end html

=back



=over 2

=item * I<volumes>  =>   B<L<"volume-transition-volinfo">[]>

=begin html

<br>Volumes to attempt to transition.

=end html

=back



B<Outputs>

=over 2

=item * I<job-id>  =>   B<integer>

=begin html

<br>Job id which can be used to query the status of the process.

=end html

=back



=head2 volume_transition_check

[B<Family:> cluster]


=begin html

Check to see if a desired volume transition can be performed from one volume type to another. Only 7-mode flexible volume to cluster-mode flexible volume and vice versa with limited options are supported at this time.

=end html



B<Inputs>

=over 2

=item * I<destination-vserver-name>  =>   B<string, optional>

=begin html

<br>The name of the vserver into which a volume is being transitioned.

=end html

=back



=over 2

=item * I<non-disruptive>  =>   B<boolean, optional>

=begin html

<br>A 'true' value indicates that only a non-disruptive transition will be accepted. This is not available for all volume configurations. If a value is not specified, this field will default to true - non-disruptive desired.

=end html

=back



=over 2

=item * I<operation-type>  =>   B<string, optional>

=begin html

<br>The type of transition operation; Possible values are: "copy_based" (default) "in_place" "untransition" Copy Based Transition is currently the only supported mode for transition; "in_place" and "untransition" should only be used in testing scenarios.

=end html

=back



=over 2

=item * I<override-warnings>  =>   B<boolean, optional>

=begin html

<br>A 'true' value indicates that all warnings will be ignored as a part of the transition process. The system will select default values as appropriate. If not specified, values will not be overridden.

=end html

=back



=over 2

=item * I<source-node>  =>   B<string>

=begin html

<br>The name of the node where the target volumes reside.

=end html

=back



=over 2

=item * I<volumes>  =>   B<L<"volume-transition-volinfo">[]>

=begin html

<br>Volumes to check for the ability to transition to Cluster-Mode.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_transition_log_delete

[B<Family:> cluster]


=begin html

Transition a volume from one type to another. Delete the logged information about a transition operation.

=end html



B<Inputs>

=over 2

=item * I<destination-vserver-name>  =>   B<string, optional>

=begin html

<br>The name of the containing vserver for the volume, if applicable.

=end html

=back



=over 2

=item * I<operation-type>  =>   B<string, optional>

=begin html

<br>The type of transition operation; Possible values are: "transition" (default) "untransition" Transition is currently the only supported mode; "untransition" should only be used in testing scenarios.

=end html

=back



=over 2

=item * I<source-node>  =>   B<string, optional>

=begin html

<br>Node owning the 7-mode volumes being transitioned

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Volumes to delete the transition log from.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_transition_log_get_iter

[B<Family:> cluster]


=begin html

Retrieve the logged information about a transition operation.

=end html



B<Inputs>

=over 2

=item * I<desired-features>  =>   B<string[], optional>

=begin html

<br>The list of the specific features whose log records are desired by the caller. The caller can either specify a list of features or "all" to include all phases. If this argument is not provided, then it is equivalent to setting 'desired-features' to 'all'.

=end html

=back



=over 2

=item * I<desired-levels>  =>   B<string[], optional>

=begin html

<br>The list of the specific level log records which are desired by the caller. The caller can either specify a list of levels or "all" to include all levels. <p> Possible values: <p> <dl> <dt><dd> all </dd><br></dt> <dt><dd> error </dd><br></dt> <dt><dd> warning </dd><br></dt> <dt><dd> info </dd><br></dt> <dt><dd> debug </dd><br></dt> <dt><dd> trace </dd><br></dt> </dl> <p> If this argument is not provided, then it is equivalent to setting 'desired-levels' to 'all'.

=end html

=back



=over 2

=item * I<desired-phases>  =>   B<string[], optional>

=begin html

<br>The list of the specific phases whose log records are desired by the caller. To receive all phases, "all" can be specified. Possible values: <dl> <dt><dd> all </dd><br></dt> <dt><dd> check </dd><br></dt> <dt><dd> lock_config </dd><br></dt> <dt><dd> prepare </dd><br></dt> <dt><dd> pre_commit </dd><br></dt> <dt><dd> commit </dd><br></dt> <dt><dd> post_commit </dd><br></dt> <dt><dd> online </dd><br></dt> <dt><dd> rollback </dd><br></dt> <dt><dd> cleanup </dd><br></dt> <dt><dd> unlock_config </dd><br></dt> <dt><dd> complete </dd><br></dt> </dl> <p> If this argument is not provided, the default is 'all'.

=end html

=back



=over 2

=item * I<destination-vserver-name>  =>   B<string, optional>

=begin html

<br>The name of the containing vserver for the volume, if applicable.

=end html

=back



=over 2

=item * I<maximum-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return

=end html

=back



=over 2

=item * I<operation-type>  =>   B<string, optional>

=begin html

<br>The type of transition operation; Possible values are: "transition" (default) "untransition" Transition is currently the only supported mode; "untransition" should only be used in testing scenarios.

=end html

=back



=over 2

=item * I<source-node>  =>   B<string, optional>

=begin html

<br>Node owning the 7-Mode volumes being transitioned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Value to use to get next entry.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>Volume to obtain transition log information from.

=end html

=back



B<Outputs>

=over 2

=item * I<eof>  =>   B<boolean>

=begin html

<br>True if there are no more entries to read.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string>

=begin html

<br>Value to use to get next entry.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>Number of records being returned.

=end html

=back



=over 2

=item * I<records>  =>   B<L<"volume-transition-log-record-info">[], optional>

=begin html

<br>Actual records from the log.

=end html

=back



=head2 volume_transition_prepare_to_downgrade

[B<Family:> cluster]


=begin html

Verifies that there are no volumes actively transitioning from 7-mode to clustered Data ONTAP, and configures the transition feature for downgrade.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_transition_protect

[B<Family:> cluster]


=begin html

Fence access to volume during Transition.

=end html



B<Inputs>

=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>Protection Enabled

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>The name of the volume.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The name of the Vserver which owns the volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 volume_unmount

[B<Family:> vserver]


=begin html

Unmount a volume from its parent volume and delete the junction path at which the volume is mounted. This API is not supported on Infinite Volume constituents.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>This specifies whether the volume unmount operation is forced or not. The default value is false. <p> Under certain circumstances, such as an unexpected reboot while in the middle of unmounting, the unmount operation might find that after the reboot, it is unable to delete the junction path at which the volume is mounted in the file system. In this situation, if the force option is set to false, the unmount operation is failed (EJUNCTIONDELETEFAILED), leaving the junction path information intact in the Volume Management Database. Instead, if the force option is set to true, the unmount operation proceeds to delete the junction path information in the Volume Management Database, irrespective of any failure to delete the junction path in the file system.

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>The name of the volume.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_active_scanner_pool_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns active scanner pool configuration of a vserver.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-active-scanner-pool-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-active-scanner-pool-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-active-scanner-pool object. All vscan-active-scanner-pool objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-active-scanner-pool-info">[], optional>

=begin html

<br>The list of attributes of vscan-active-scanner-pool objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-active-scanner-pool objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_connection_extended_stats_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns connection status.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-connection-extended-stats-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-connection-extended-stats-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-connection-extended-stats object. All vscan-connection-extended-stats objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-connection-extended-stats-info">[], optional>

=begin html

<br>The list of attributes of vscan-connection-extended-stats objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-connection-extended-stats objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_connection_status_all_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns connection status.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-connection-status-all-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-connection-status-all-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-connection-status-all object. All vscan-connection-status-all objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-connection-status-all-info">[], optional>

=begin html

<br>The list of attributes of vscan-connection-status-all objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-connection-status-all objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_events_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns content of the vscan event log, which is generated by the cluster to capture important events.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-events-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-events-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-events object. All vscan-events objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-events-info">[], optional>

=begin html

<br>The list of attributes of vscan-events objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-events objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_on_access_policy_create

[B<Family:> vserver]


=begin html

Create an On-Access policy.

=end html



B<Inputs>

=over 2

=item * I<file-ext-to-exclude>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which On-Access scanning must not be performed.

=end html

=back



=over 2

=item * I<file-ext-to-include>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which On-Access scanning is considered. The default value is '*', which means that all files are considered for scanning except those which are excluded from scanning.

=end html

=back



=over 2

=item * I<filters>  =>   B<vscan-on-access-policy-ui-filter[], optional>

=begin html

<br>A list of filters which can be used to define the scope of the On-Access policy more precisely. The filters can be added in any order. Possible values: <ul> <li> "scan_ro_volume" - Enable scans for read-only volume, <li> "scan_execute_access" - Scan only files opened with execute-access (CIFS only) </ul>

=end html

=back



=over 2

=item * I<is-scan-mandatory>  =>   B<boolean, optional>

=begin html

<br>Specifies whether access to a file is allowed if there are no external virus-scanning servers available for virus scanning. It is true if not provided at the time of creating a policy.

=end html

=back



=over 2

=item * I<max-file-size>  =>   B<size, optional>

=begin html

<br>Max file-size (in bytes) allowed for scanning. The default value of 2147483648 (2GB) is taken if not provided at the time of creating a policy.

=end html

=back



=over 2

=item * I<paths-to-exclude>  =>   B<file-path[], optional>

=begin html

<br>File paths for which On-Access scanning must not be performed.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<protocol>  =>   B<vscan-protocol>

=begin html

<br>File-Access protocol to monitor for On-Access scanning. Possible values: <ul> <li> "cifs" - CIFS Protocol </ul>

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the vscan-on-access-policy on successful creation. Default: false

=end html

=back



=over 2

=item * I<scan-files-with-no-ext>  =>   B<true-false, optional>

=begin html

<br>Specifies whether files without any extension are considered for scanning or not. The default value is true.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"vscan-on-access-policy-info">, optional>

=begin html

<br>The vscan-on-access-policy created (keys or the entire object if requested)

=end html

=back



=head2 vscan_on_access_policy_delete

[B<Family:> vserver]


=begin html

Delete an On-Access policy.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_on_access_policy_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns list of On-Access policies.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-on-access-policy-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-on-access-policy-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-on-access-policy object. All vscan-on-access-policy objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-on-access-policy-info">[], optional>

=begin html

<br>The list of attributes of vscan-on-access-policy objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-on-access-policy objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_on_access_policy_modify

[B<Family:> vserver]


=begin html

Modify an On-Access policy.

=end html



B<Inputs>

=over 2

=item * I<file-ext-to-exclude>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which On-Access scanning must not be performed.

=end html

=back



=over 2

=item * I<file-ext-to-include>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which On-Access scanning is considered. The default value is '*', which means that all files are considered for scanning except those which are excluded from scanning.

=end html

=back



=over 2

=item * I<filters>  =>   B<vscan-on-access-policy-ui-filter[], optional>

=begin html

<br>A list of filters which can be used to define the scope of the On-Access policy more precisely. The filters can be added in any order. Possible values: <ul> <li> "scan_ro_volume" - Enable scans for read-only volume, <li> "scan_execute_access" - Scan only files opened with execute-access (CIFS only) </ul>

=end html

=back



=over 2

=item * I<is-scan-mandatory>  =>   B<boolean, optional>

=begin html

<br>Specifies whether access to a file is allowed if there are no external virus-scanning servers available for virus scanning. It is true if not provided at the time of creating a policy.

=end html

=back



=over 2

=item * I<max-file-size>  =>   B<size, optional>

=begin html

<br>Max file-size (in bytes) allowed for scanning. The default value of 2147483648 (2GB) is taken if not provided at the time of creating a policy.

=end html

=back



=over 2

=item * I<paths-to-exclude>  =>   B<file-path[], optional>

=begin html

<br>File paths for which On-Access scanning must not be performed.

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<scan-files-with-no-ext>  =>   B<true-false, optional>

=begin html

<br>Specifies whether files without any extension are considered for scanning or not. The default value is true.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_on_access_policy_status_modify

[B<Family:> vserver]


=begin html

Modify On-Access policy status.

=end html



B<Inputs>

=over 2

=item * I<policy-name>  =>   B<policy-name>

=begin html

<br>Name of the policy.

=end html

=back



=over 2

=item * I<policy-status>  =>   B<boolean>

=begin html

<br>Policy Status

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_on_demand_report_delete

[B<Family:> vserver]


=begin html

Delete an On-Demand report.

=end html



B<Inputs>

=over 2

=item * I<delete-report-file>  =>   B<true-false, optional>

=begin html

<br>Specifies if report file also need to be deleted. Default is false.

=end html

=back



=over 2

=item * I<report-file>  =>   B<string>

=begin html

<br>Path of the report file from root of the Vserver.

=end html

=back



=over 2

=item * I<task-name>  =>   B<string>

=begin html

<br>Name of the task.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_on_demand_report_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns list of On-Demand Task Report.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-on-demand-report-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-on-demand-report-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-on-demand-report object. All vscan-on-demand-report objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-on-demand-report-info">[], optional>

=begin html

<br>The list of attributes of vscan-on-demand-report objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-on-demand-report objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_on_demand_task_create

[B<Family:> vserver]


=begin html

Create an On-Demand Task.

=end html



B<Inputs>

=over 2

=item * I<cross-junction>  =>   B<true-false, optional>

=begin html

<br>Specifies whether the On-Demand task is allowed to cross volume junctions. If the parameter is set to false, crossing junctions is not allowed. Default is true.

=end html

=back



=over 2

=item * I<directory-recursion>  =>   B<true-false, optional>

=begin html

<br>Specifies whether the On-Demand task is allowed to recursively scan through sub-directories. If the parameter is set to false, recursive scanning is not allowed. Default is true.

=end html

=back



=over 2

=item * I<file-ext-to-exclude>  =>   B<file-extension[], optional>

=begin html

<br>File-Extensions for which scanning must not be performed. File whose extension matches with both inclusion and exclusion list is not considered for scanning.

=end html

=back



=over 2

=item * I<file-ext-to-include>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which scanning is considered. The default value is '*', which means that all files are considered for scanning except those which are excluded from scanning. File whose extension matches with both inclusion and exclusion list is not considered for scanning.

=end html

=back



=over 2

=item * I<max-file-size>  =>   B<size, optional>

=begin html

<br>Max file-size (in bytes) allowed for scanning. The default value of 10737418240 (10GB) is taken if not provided at the time of creating a task.

=end html

=back



=over 2

=item * I<paths-to-exclude>  =>   B<string[], optional>

=begin html

<br>File-paths for which scanning must not be performed.

=end html

=back



=over 2

=item * I<report-directory>  =>   B<string>

=begin html

<br>Path from the vserver root where task report is created. The path must be a directory and provided in unix-format from the root of the Vserver. Example: /vol1/on-demand-reports.

=end html

=back



=over 2

=item * I<report-log-level>  =>   B<vscan-od-log-level, optional>

=begin html

<br>Log level for the On-Demand report. Default is error. Possible values: <ul> <li> "verbose" - Report file will contain verbose logs for each file found in the scan-path., <li> "info" - Report file will contain info and error logs., <li> "error" - Report file will contain only error logs. </ul>

=end html

=back



=over 2

=item * I<request-timeout>  =>   B<time-interval, optional>

=begin html

<br>Total request-service time-limit in seconds. If the virus-scanner does not respond within the provided time, scan will be timedout.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the vscan-on-demand-task on successful creation. Default: false

=end html

=back



=over 2

=item * I<scan-files-with-no-ext>  =>   B<true-false, optional>

=begin html

<br>Specifies whether files without any extension are considered for scanning or not. The default value is true.

=end html

=back



=over 2

=item * I<scan-paths>  =>   B<string[]>

=begin html

<br>List of paths that need to be scanned. The path must be provided in unix-format and from the root of the Vserver. Example: /vol1/large_files.

=end html

=back



=over 2

=item * I<scan-priority>  =>   B<vscan-scan-priority, optional>

=begin html

<br>Priority of the On-Demand scan requests generated by this task. Default is low. Possible values: <ul> <li> "low" - The scan request will be sent to the Vscan server only if no other normal request is in queue., <li> "normal" - The scan request will be processed normally. </ul>

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Schedule of the task. The task will be run as per the schedule. For running the task immediately, vscan-on-demand-task-run api must be used after creating a task.

=end html

=back



=over 2

=item * I<task-name>  =>   B<string>

=begin html

<br>Name of the task.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"vscan-on-demand-task-info">, optional>

=begin html

<br>The vscan-on-demand-task created (keys or the entire object if requested)

=end html

=back



=head2 vscan_on_demand_task_delete

[B<Family:> vserver]


=begin html

Delete an On-Demand Task.

=end html



B<Inputs>

=over 2

=item * I<task-name>  =>   B<string>

=begin html

<br>Name of the task.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_on_demand_task_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns list of On-Demand Task.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-on-demand-task-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-on-demand-task-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-on-demand-task object. All vscan-on-demand-task objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-on-demand-task-info">[], optional>

=begin html

<br>The list of attributes of vscan-on-demand-task objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-on-demand-task objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_on_demand_task_modify

[B<Family:> vserver]


=begin html

Modify an On-Demand Task.

=end html



B<Inputs>

=over 2

=item * I<cross-junction>  =>   B<true-false, optional>

=begin html

<br>Specifies whether the On-Demand task is allowed to cross volume junctions. If the parameter is set to false, crossing junctions is not allowed. Default is true.

=end html

=back



=over 2

=item * I<directory-recursion>  =>   B<true-false, optional>

=begin html

<br>Specifies whether the On-Demand task is allowed to recursively scan through sub-directories. If the parameter is set to false, recursive scanning is not allowed. Default is true.

=end html

=back



=over 2

=item * I<file-ext-to-exclude>  =>   B<file-extension[], optional>

=begin html

<br>File-Extensions for which scanning must not be performed. File whose extension matches with both inclusion and exclusion list is not considered for scanning.

=end html

=back



=over 2

=item * I<file-ext-to-include>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which scanning is considered. The default value is '*', which means that all files are considered for scanning except those which are excluded from scanning. File whose extension matches with both inclusion and exclusion list is not considered for scanning.

=end html

=back



=over 2

=item * I<max-file-size>  =>   B<size, optional>

=begin html

<br>Max file-size (in bytes) allowed for scanning. The default value of 10737418240 (10GB) is taken if not provided at the time of creating a task.

=end html

=back



=over 2

=item * I<paths-to-exclude>  =>   B<string[], optional>

=begin html

<br>File-paths for which scanning must not be performed.

=end html

=back



=over 2

=item * I<report-directory>  =>   B<string, optional>

=begin html

<br>Path from the vserver root where task report is created. The path must be a directory and provided in unix-format from the root of the Vserver. Example: /vol1/on-demand-reports.

=end html

=back



=over 2

=item * I<report-log-level>  =>   B<vscan-od-log-level, optional>

=begin html

<br>Log level for the On-Demand report. Default is error. Possible values: <ul> <li> "verbose" - Report file will contain verbose logs for each file found in the scan-path., <li> "info" - Report file will contain info and error logs., <li> "error" - Report file will contain only error logs. </ul>

=end html

=back



=over 2

=item * I<request-timeout>  =>   B<time-interval, optional>

=begin html

<br>Total request-service time-limit in seconds. If the virus-scanner does not respond within the provided time, scan will be timedout.

=end html

=back



=over 2

=item * I<scan-files-with-no-ext>  =>   B<true-false, optional>

=begin html

<br>Specifies whether files without any extension are considered for scanning or not. The default value is true.

=end html

=back



=over 2

=item * I<scan-paths>  =>   B<string[], optional>

=begin html

<br>List of paths that need to be scanned. The path must be provided in unix-format and from the root of the Vserver. Example: /vol1/large_files.

=end html

=back



=over 2

=item * I<scan-priority>  =>   B<vscan-scan-priority, optional>

=begin html

<br>Priority of the On-Demand scan requests generated by this task. Default is low. Possible values: <ul> <li> "low" - The scan request will be sent to the Vscan server only if no other normal request is in queue., <li> "normal" - The scan request will be processed normally. </ul>

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Schedule of the task. The task will be run as per the schedule. For running the task immediately, vscan-on-demand-task-run api must be used after creating a task.

=end html

=back



=over 2

=item * I<task-name>  =>   B<string>

=begin html

<br>Name of the task.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_on_demand_task_run

[B<Family:> vserver]


=begin html

Run an On-Demand task

=end html



B<Inputs>

=over 2

=item * I<task-name>  =>   B<string>

=begin html

<br>Task Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_reset

[B<Family:> vserver]


=begin html

Discard cached information of files that have been successfully scanned.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_resolve_hostnames

[B<Family:> vserver]


=begin html

Resolve the hostnames configured in the scanner pool.

=end html



B<Inputs>

=over 2

=item * I<scanner-pool>  =>   B<scanner-pool>

=begin html

<br>Name of the virus scanner pool.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_scanner_pool_apply_policy

[B<Family:> vserver]


=begin html

Apply scanner-policy to a scanner pool.

=end html



B<Inputs>

=over 2

=item * I<cluster>  =>   B<cluster-name, optional>

=begin html

<br>Cluster on Which Policy Is Applied

=end html

=back



=over 2

=item * I<scanner-policy>  =>   B<scanner-policy>

=begin html

<br>Scanner Policy

=end html

=back



=over 2

=item * I<scanner-pool>  =>   B<scanner-pool>

=begin html

<br>Name of the virus scanner pool.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_scanner_pool_create

[B<Family:> vserver]


=begin html

Create a virus scanner pool, which is used for validating and managing connections between clustered Data ONTAP and Vscan servers.

=end html



B<Inputs>

=over 2

=item * I<hostnames>  =>   B<string[]>

=begin html

<br>List of hostnames of Vscan servers which are allowed to connect to clustered Data ONTAP.

=end html

=back



=over 2

=item * I<max-session-setup-retries>  =>   B<integer, optional>

=begin html

<br>Maximum number of consecutive session-setup attempts. The value for this field must be between 1 and 5. The default value of 5 is taken if not provided while creating a scanner pool.

=end html

=back



=over 2

=item * I<privileged-users>  =>   B<privileged-user[]>

=begin html

<br>List of privileged users.

=end html

=back



=over 2

=item * I<request-timeout>  =>   B<integer, optional>

=begin html

<br>Total request-service time-limit in seconds. It is used to specify the time interval in which the node waits for a response from the Vscan server. If the timeout is reached, the node allows the file-operation if the applicable On-Access policy has scan-mandatory set to \"off\". If the policy has scan-mandatory set to \"on\", the node will retry the scan or disallow the file-operation depending on the remaining lifetime of the CIFS request. Valid values for this field are from 10s to 40s. However, if scan-mandatory is set to \"off\", the effective value is limited to a maximum of 35s. The default value of 30 is taken if not provided while creating a scanner pool.

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the vscan-scanner-pool on successful creation. Default: false

=end html

=back



=over 2

=item * I<scan-queue-timeout>  =>   B<integer, optional>

=begin html

<br>Scan-queue wait-time-limit in seconds. The value for this field must be between 10s and 30s. The default value of 20 is taken if not provided while creating a scanner pool.

=end html

=back



=over 2

=item * I<scanner-pool>  =>   B<scanner-pool>

=begin html

<br>Name of the virus scanner pool.

=end html

=back



=over 2

=item * I<servers>  =>   B<ip-address[]>

=begin html

<br>List of IP addresses of Vscan servers which are allowed to connect to clustered Data ONTAP.

=end html

=back



=over 2

=item * I<session-setup-timeout>  =>   B<integer, optional>

=begin html

<br>Total session-setup time-limit in seconds. The value for this field must be between 5s and 10s. The default value of 10 is taken if not provided while creating a scanner pool.

=end html

=back



=over 2

=item * I<session-teardown-timeout>  =>   B<integer, optional>

=begin html

<br>Total session-teardown time-limit in seconds. The value for this field must be between 5s and 10s. The default value of 10 is taken if not provided while creating a scanner pool.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"vscan-scanner-pool-info">, optional>

=begin html

<br>The vscan-scanner-pool created (keys or the entire object if requested)

=end html

=back



=head2 vscan_scanner_pool_delete

[B<Family:> vserver]


=begin html

Delete a scanner pool.

=end html



B<Inputs>

=over 2

=item * I<scanner-pool>  =>   B<scanner-pool>

=begin html

<br>Name of the virus scanner pool.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_scanner_pool_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns list of scanner pools. Scanner pool is a set of attributes which are used to validate and manage connections between clustered Data ONTAP and Vscan servers (virus scanners).

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-scanner-pool-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-scanner-pool-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-scanner-pool object. All vscan-scanner-pool objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-scanner-pool-info">[], optional>

=begin html

<br>The list of attributes of vscan-scanner-pool objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-scanner-pool objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_scanner_pool_modify

[B<Family:> vserver]


=begin html

Modify a scanner pool.

=end html



B<Inputs>

=over 2

=item * I<hostnames>  =>   B<string[], optional>

=begin html

<br>List of hostnames of Vscan servers which are allowed to connect to clustered Data ONTAP.

=end html

=back



=over 2

=item * I<max-session-setup-retries>  =>   B<integer, optional>

=begin html

<br>Maximum number of consecutive session-setup attempts. The value for this field must be between 1 and 5. The default value of 5 is taken if not provided while creating a scanner pool.

=end html

=back



=over 2

=item * I<privileged-users>  =>   B<privileged-user[], optional>

=begin html

<br>List of privileged users.

=end html

=back



=over 2

=item * I<request-timeout>  =>   B<integer, optional>

=begin html

<br>Total request-service time-limit in seconds. It is used to specify the time interval in which the node waits for a response from the Vscan server. If the timeout is reached, the node allows the file-operation if the applicable On-Access policy has scan-mandatory set to \"off\". If the policy has scan-mandatory set to \"on\", the node will retry the scan or disallow the file-operation depending on the remaining lifetime of the CIFS request. Valid values for this field are from 10s to 40s. However, if scan-mandatory is set to \"off\", the effective value is limited to a maximum of 35s. The default value of 30 is taken if not provided while creating a scanner pool.

=end html

=back



=over 2

=item * I<scan-queue-timeout>  =>   B<integer, optional>

=begin html

<br>Scan-queue wait-time-limit in seconds. The value for this field must be between 10s and 30s. The default value of 20 is taken if not provided while creating a scanner pool.

=end html

=back



=over 2

=item * I<scanner-pool>  =>   B<scanner-pool>

=begin html

<br>Name of the virus scanner pool.

=end html

=back



=over 2

=item * I<servers>  =>   B<ip-address[], optional>

=begin html

<br>List of IP addresses of Vscan servers which are allowed to connect to clustered Data ONTAP.

=end html

=back



=over 2

=item * I<session-setup-timeout>  =>   B<integer, optional>

=begin html

<br>Total session-setup time-limit in seconds. The value for this field must be between 5s and 10s. The default value of 10 is taken if not provided while creating a scanner pool.

=end html

=back



=over 2

=item * I<session-teardown-timeout>  =>   B<integer, optional>

=begin html

<br>Total session-teardown time-limit in seconds. The value for this field must be between 5s and 10s. The default value of 10 is taken if not provided while creating a scanner pool.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vscan_status_get_iter

[B<Family:> cluster, vserver]


=begin html

Returns Vscan status information.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vscan-status-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vscan-status-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vscan-status object. All vscan-status objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vscan-status-info">[], optional>

=begin html

<br>The list of attributes of vscan-status objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vscan-status objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vscan_status_modify

[B<Family:> vserver]


=begin html

Modify Vscan status.

=end html



B<Inputs>

=over 2

=item * I<is-vscan-enabled>  =>   B<boolean>

=begin html

<br>Vscan status. When true, Vscan feature is enabled for the Vserver.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_add_aggregates

[B<Family:> cluster]


=begin html

Add aggregates to the Vserver

=end html



B<Inputs>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[]>

=begin html

<br>Specifies a list of aggregates to be added to the Vserver. The root aggregates should not be specified in this list because though the command will return success, volumes cannot be created on root aggregates. In a MetroCluster configuration, this command does not honor the remote cluster's aggregates.

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Specifies the name of the Vserver for which aggregates are to be added.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_add_protocols

[B<Family:> cluster]


=begin html

add protocols to the Vserver

=end html



B<Inputs>

=over 2

=item * I<protocols>  =>   B<protocol[]>

=begin html

<br>Is the list of protocols to be added to the vserver specified. Possible values are: 'nfs', 'cifs', 'fcp', 'iscsi', and 'ndmp'.

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Specifies the name of the Vserver on which the given set of protocols are allowed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_config_diff_get

[B<Family:> cluster]


=begin html

Provides the differences in attributes of a specified configuration instance between two Vservers in DR relationship, including MetroCluster. This helps in verifying if the configuration of interest is replicated correctly from source Vserver to destination Vserver. If the source configuration matches that of destination, EOBJECTNOTFOUND is returned, indicating that the difference is nil. This API can be invoked on the source cluster or destination cluster. Note: The configuration objects replicated as part of Vserver DR and their keys can potentially change from release to release. If a program has opted to use those as inputs for selection, it may have to be adjusted for updated versions of Data ONTAP.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"config-diff-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<destination-vserver-name>  =>   B<string>

=begin html

<br>Name of destination Vserver

=end html

=back



=over 2

=item * I<instance>  =>   B<integer, optional>

=begin html

<br>The count of object instance

=end html

=back



=over 2

=item * I<keys>  =>   B<key-value-pair[]>

=begin html

<br>List of key:value pairs of the specific configuration instance compared - for example, volume:vol1

=end html

=back



=over 2

=item * I<object>  =>   B<string>

=begin html

<br>The Vserver configuration object compared - for example, volume

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"config-diff-info">>

=begin html

<br>The attributes of the vserver.

=end html

=back



=head2 vserver_config_diff_get_iter

[B<Family:> cluster]


=begin html

Provides the differences in configuration between Vservers in DR relationship, including MetroCluster. If an object is not specified, the differences for all replicated objects are shown. If Vserver is not specified, the differences for all Vservers in the cluster, which are in DR relationship are returned. This API helps in verifying if the configuration of interest is replicated correctly from source Vserver to destination Vserver. If the source configuration matches that of destination, EOBJECTNOTFOUND is returned, indicating that the difference is nil. This API can be invoked on the source cluster or destination cluster. Note: The configuration objects replicated as part of Vserver DR and their keys can potentially change from release to release. If a program has opted to use those as inputs for selection, it may have to be adjusted for updated versions of Data ONTAP.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"config-diff-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"config-diff-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver object. All vserver objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"config-diff-info">[], optional>

=begin html

<br>The list of attributes of vserver objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_create

[B<Family:> cluster]


=begin html

This command is deprecated and may be removed in future releases of Data ONTAP. To create Vserver use API vserver-create-async. Create a new Vserver. Use a fully qualified domain name(FQDN) - for example, 'data.example.com' - for the Vserver name to reduce name collisions in cluster leagues.

=end html



B<Inputs>

=over 2

=item * I<antivirus-on-access-policy>  =>   B<antivirus-policy, optional>

=begin html

<br>{Deprecated, this field does not have any effect on the operation of the vserver.} Antivirus policy. When specified as part of vserver-create, this field represents the antivirus on access policy for the Vserver. When specified as part vserver-get-iter call, this will return the list of matching Vservers. default: default

=end html

=back



=over 2

=item * I<caching-policy>  =>   B<string, optional>

=begin html

<br>The caching policy that is to be associated with this Vserver. This policy is used to make caching decisions for this Vserver. If a caching policy is not assigned to this Vserver, the system uses the default cluster-wide policy. The possible options for this value are: <ul> <li>none - Does not cache any user data or metadata blocks.</li> <li>auto - Read caches all metadata blocks and randomly read user data blocks, and write caches all randomly overwritten user data blocks.</li> <li>meta - Read caches only metadata blocks.</li> <li>random_read - Read caches all metadata and randomly read user data blocks.</li> <li>random_read_write - Read caches all metadata, randomly read and randomly written user data blocks.</li> <li>all_read - Read caches all metadata, randomly read and sequentially read user data blocks.</li> <li>all_read_random_write - Read caches all metadata, randomly read, sequentially read and randomly written user data.</li> <li>all - Read caches all data blocks read and written. It does not do any write caching.</li> </ul> Default caching-policy is auto.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment. When specified as part of a vserver-create, this field represents the comment associated with the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name. The default value is 'Default'

=end html

=back



=over 2

=item * I<is-repository-vserver>  =>   B<boolean, optional>

=begin html

<br>This parameter is deprecated and may be removed in a future release of Data ONTAP. If you are using Infinite Volumes it is recommended that you do not upgrade the cluster to a release that is later than Data ONTAP 9.3.0. <p> Specifies if this Vserver is a Vserver with Infinite Volume. When part of vserver-get-iter call, this will return the list of matching Vservers. Default value is false. <p> Prior to Data ONTAP 8.2.0, Vserver with Infinite Volume is called repository Vserver and once a repository Vserver is created in a cluster, additional Vservers cannot be created. Conversely, a repository Vserver cannot be created if non-repository Vservers already exist in a cluster.

=end html

=back



=over 2

=item * I<language>  =>   B<language-code, optional>

=begin html

<br>Language to use for the Vserver. Default: C.UTF-8. Available language codes are: 'c' .............. POSIX 'ar' ............. Arabic 'cs' ............. Czech 'da' ............. Danish 'de' ............. German 'en' ............. English 'en_us' .......... English (US) 'es' ............. Spanish 'fi' ............. Finnish 'fr' ............. French 'he' ............. Hebrew 'hr' ............. Croatian 'hu' ............. Hungarian 'it' ............. Italian 'ja' ............. Japanese euc-j 'ja_v1' .......... Japanese euc-j 'ja_jp.pck' ...... Japanese PCK (sjis) 'ja_jp.932' ...... Japanese cp932 'ja_jp.pck_v2' .... Japanese PCK (sjis) 'ko' ............. Korean 'no' ............. Norwegian 'nl' ............. Dutch 'pl' ............. Polish 'pt' ............. Portuguese 'ro' ............. Romanian 'ru' ............. Russian 'sk' ............. Slovak 'sl' ............. Slovenian 'sv' ............. Swedish 'tr' ............. Turkish 'zh' ............. Simplified Chinese 'zh.gbk' ......... Simplified Chinese (GBK) 'zh_tw' .......... Traditional Chinese euc-tw 'zh_tw.big5' ..... Traditional Chinese Big 5 To use UTF-8 as the NFS character set, append '.UTF-8'. When specified as part of vserver-create, this field represents the language used for the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers with the specified language. The values with the '*' suffixes are not supported by Clustered ONTAP.

=end html

=back



=over 2

=item * I<name-mapping-switch>  =>   B<nmswitch[], optional>

=begin html

<br>Name Mapping switch configuration details for the Vserver. When specified as part of the vserver-create, this field represents the list of Name Mapping switch configurations to be used. When specified as part of the vserver-get-iter, this will return the list of Vservers which have any of the specified Name Mapping configurations as part of their nm-switch configuration. Possible values: 'file', 'ldap'. default: file. This field is deprecated in Data ONTAP 8.3 and later. 'nameservice-nsswitch-create' should be preferred to specify the name mapping switch order. 'nameservice-nsswitch-modify' should be preferred to specify the name mapping switch order. 'nameservice-nsswitch-get' and 'nameservice-nsswitch-get-iter' APIs must be used to fetch the currently configured name mapping switch order. Possible values: <ul> <li> "file" , <li> "ldap" </ul>

=end html

=back



=over 2

=item * I<name-server-switch>  =>   B<nsswitch[], optional>

=begin html

<br>Name Server switch configuration details for the Vserver. Possible values: 'nis', 'file', 'ldap'. This field is deprecated in Data ONTAP 8.3 and later. 'nameservice-nsswitch-create' should be preferred to specify the name server switch order. 'nameservice-nsswitch-modify' should be preferred to modify the name server switch order. 'nameservice-nsswitch-get' and 'nameservice-nsswitch-get-iter' APIs must be used to fetch the currently configured name server switch order. Possible values: <ul> <li> "nis" , <li> "file" , <li> "ldap" </ul>

=end html

=back



=over 2

=item * I<quota-policy>  =>   B<string, optional>

=begin html

<br>Quota policy. When specified as part of vserver-create, this field represents the quota policy for the Vserver. When specified as part vserver-get-iter call, this will return the list of matching Vservers. This parameter is not supported on a Vserver with Infinite Volume. default: default

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the vserver on successful creation. Default: false

=end html

=back



=over 2

=item * I<root-volume>  =>   B<volume-name, optional>

=begin html

<br>Root volume of the Vserver. Optional field for creating a default Vserver. Not allowed for creation of a dp-destination Vserver. Default value is 'svm_root'.

=end html

=back



=over 2

=item * I<root-volume-aggregate>  =>   B<aggr-name, optional>

=begin html

<br>The aggregate on which the root volume will be created. Optional field for creating a default Vserver. If this field is not provided, the most appropriate aggregate will be selected. Not allowed for creation of a dp-destination Vserver. Creating a root volume on a SnapLock aggregate is not supported.

=end html

=back



=over 2

=item * I<root-volume-security-style>  =>   B<security-style-enum, optional>

=begin html

<br>Security Style of the root volume. Optional field for creating a default Vserver. Not allowed for creation of a dp-destination Vserver. When specified as part of the vserver-create, this field represents the security style for the Vserver root volume. When specified as part of vserver-get-iter call, this will return the list of matching Vservers. Possible values: 'unix', 'ntfs', 'mixed'. The 'unified' security style, which applies only to Infinite Volumes, cannot be applied to a Vserver's root volume. Default value is 'unix'. Possible values: <ul> <li> "unix" - NFS, <li> "ntfs" - CIFS, <li> "mixed" - Mixed, <li> "unified" - Unified </ul>

=end html

=back



=over 2

=item * I<snapshot-policy>  =>   B<snapshot-policy, optional>

=begin html

<br>Default snapshot policy setting for all volumes of the Vserver. This policy will be assigned to all volumes created in this Vserver unless the volume create request explicitly provides a snapshot policy or volume is modified later with a specific snapshot policy. A volume-level snapshot policy always overrides the default Vserver-wide snapshot policy. When specified as part vserver-get-iter call, this will return the list of matching Vservers. default: default

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Name of the Vserver. When specified as part of a vserver-create, this field represents the name of the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. The following restrictions are applicable for the Vserver name: - Maximum number of characters supported is 47, and 41 for a Vserver with subtype 'sync-source' - 'all' is a reserved name and should not be used as a Vserver name

=end html

=back



=over 2

=item * I<vserver-subtype>  =>   B<string, optional>

=begin html

<br>Vserver Subtype. This option allows the admin to specify the sub-type of Vserver being created. The possible options for this value are: <ul> <li>default</li> <li>dp_destination</li> <li>sync_source</li> <li>sync_destination</li> </ul> If a Vserver is an MCC destination, then it would have the sub-type sync-source. Vserver of sub-type sync-destination cannot be explicitly created by the admin. When a Vserver of sub-type dp-destination is created, most of the management activities are not allowed. Default value is default.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"vserver-info">, optional>

=begin html

<br>The vserver created (keys or the entire object if requested)

=end html

=back



=head2 vserver_create_async

[B<Family:> cluster]


=begin html

Create a new Vserver asynchronously. The progress of the operation can be monitored using job-get-iter API. Use a fully qualified domain name(FQDN) - for example, 'data.example.com' - for the Vserver name to reduce name collisions in cluster leagues.

=end html



B<Inputs>

=over 2

=item * I<antivirus-on-access-policy>  =>   B<antivirus-policy, optional>

=begin html

<br>{Deprecated, this field does not have any effect on the operation of the vserver.} Antivirus policy. When specified as part of vserver-create, this field represents the antivirus on access policy for the Vserver. When specified as part vserver-get-iter call, this will return the list of matching Vservers. default: default

=end html

=back



=over 2

=item * I<caching-policy>  =>   B<string, optional>

=begin html

<br>The caching policy that is to be associated with this Vserver. This policy is used to make caching decisions for this Vserver. If a caching policy is not assigned to this Vserver, the system uses the default cluster-wide policy. The possible options for this value are: <ul> <li>none - Does not cache any user data or metadata blocks.</li> <li>auto - Read caches all metadata blocks and randomly read user data blocks, and write caches all randomly overwritten user data blocks.</li> <li>meta - Read caches only metadata blocks.</li> <li>random_read - Read caches all metadata and randomly read user data blocks.</li> <li>random_read_write - Read caches all metadata, randomly read and randomly written user data blocks.</li> <li>all_read - Read caches all metadata, randomly read and sequentially read user data blocks.</li> <li>all_read_random_write - Read caches all metadata, randomly read, sequentially read and randomly written user data.</li> <li>all - Read caches all data blocks read and written. It does not do any write caching.</li> </ul> Default caching-policy is auto.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment. When specified as part of a vserver-create, this field represents the comment associated with the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers.

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name. The default value is 'Default'

=end html

=back



=over 2

=item * I<is-repository-vserver>  =>   B<boolean, optional>

=begin html

<br>This parameter is deprecated and may be removed in a future release of Data ONTAP. If you are using Infinite Volumes it is recommended that you do not upgrade the cluster to a release that is later than Data ONTAP 9.3.0. <p> Specifies if this Vserver is a Vserver with Infinite Volume. When part of vserver-get-iter call, this will return the list of matching Vservers. Default value is false. <p> Prior to Data ONTAP 8.2.0, Vserver with Infinite Volume is called repository Vserver and once a repository Vserver is created in a cluster, additional Vservers cannot be created. Conversely, a repository Vserver cannot be created if non-repository Vservers already exist in a cluster.

=end html

=back



=over 2

=item * I<language>  =>   B<language-code, optional>

=begin html

<br>Language to use for the Vserver. Default: C.UTF-8. Available language codes are: 'c' .............. POSIX 'ar' ............. Arabic 'cs' ............. Czech 'da' ............. Danish 'de' ............. German 'en' ............. English 'en_us' .......... English (US) 'es' ............. Spanish 'fi' ............. Finnish 'fr' ............. French 'he' ............. Hebrew 'hr' ............. Croatian 'hu' ............. Hungarian 'it' ............. Italian 'ja' ............. Japanese euc-j 'ja_v1' .......... Japanese euc-j 'ja_jp.pck' ...... Japanese PCK (sjis) 'ja_jp.932' ...... Japanese cp932 'ja_jp.pck_v2' .... Japanese PCK (sjis) 'ko' ............. Korean 'no' ............. Norwegian 'nl' ............. Dutch 'pl' ............. Polish 'pt' ............. Portuguese 'ro' ............. Romanian 'ru' ............. Russian 'sk' ............. Slovak 'sl' ............. Slovenian 'sv' ............. Swedish 'tr' ............. Turkish 'zh' ............. Simplified Chinese 'zh.gbk' ......... Simplified Chinese (GBK) 'zh_tw' .......... Traditional Chinese euc-tw 'zh_tw.big5' ..... Traditional Chinese Big 5 To use UTF-8 as the NFS character set, append '.UTF-8'. When specified as part of vserver-create, this field represents the language used for the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers with the specified language. The values with the '*' suffixes are not supported by Clustered ONTAP.

=end html

=back



=over 2

=item * I<name-mapping-switch>  =>   B<nmswitch[], optional>

=begin html

<br>Name Mapping switch configuration details for the Vserver. When specified as part of the vserver-create, this field represents the list of Name Mapping switch configurations to be used. When specified as part of the vserver-get-iter, this will return the list of Vservers which have any of the specified Name Mapping configurations as part of their nm-switch configuration. Possible values: 'file', 'ldap'. default: file. This field is deprecated in Data ONTAP 8.3 and later. 'nameservice-nsswitch-create' should be preferred to specify the name mapping switch order. 'nameservice-nsswitch-modify' should be preferred to specify the name mapping switch order. 'nameservice-nsswitch-get' and 'nameservice-nsswitch-get-iter' APIs must be used to fetch the currently configured name mapping switch order. Possible values: <ul> <li> "file" , <li> "ldap" </ul>

=end html

=back



=over 2

=item * I<name-server-switch>  =>   B<nsswitch[], optional>

=begin html

<br>Name Server switch configuration details for the Vserver. Possible values: 'nis', 'file', 'ldap'. This field is deprecated in Data ONTAP 8.3 and later. 'nameservice-nsswitch-create' should be preferred to specify the name server switch order. 'nameservice-nsswitch-modify' should be preferred to modify the name server switch order. 'nameservice-nsswitch-get' and 'nameservice-nsswitch-get-iter' APIs must be used to fetch the currently configured name server switch order. Possible values: <ul> <li> "nis" , <li> "file" , <li> "ldap" </ul>

=end html

=back



=over 2

=item * I<quota-policy>  =>   B<string, optional>

=begin html

<br>Quota policy. When specified as part of vserver-create, this field represents the quota policy for the Vserver. When specified as part vserver-get-iter call, this will return the list of matching Vservers. This parameter is not supported on a Vserver with Infinite Volume. default: default

=end html

=back



=over 2

=item * I<root-volume>  =>   B<volume-name, optional>

=begin html

<br>Root volume of the Vserver. Optional field for creating a default Vserver. Not allowed for creation of a dp-destination Vserver. Default value is 'svm_root'.

=end html

=back



=over 2

=item * I<root-volume-aggregate>  =>   B<aggr-name, optional>

=begin html

<br>The aggregate on which the root volume will be created. Optional field for creating a default Vserver. If this field is not provided, the most appropriate aggregate will be selected. Not allowed for creation of a dp-destination Vserver. Creating a root volume on a SnapLock aggregate is not supported.

=end html

=back



=over 2

=item * I<root-volume-security-style>  =>   B<security-style-enum, optional>

=begin html

<br>Security Style of the root volume. Optional field for creating a default Vserver. Not allowed for creation of a dp-destination Vserver. When specified as part of the vserver-create, this field represents the security style for the Vserver root volume. When specified as part of vserver-get-iter call, this will return the list of matching Vservers. Possible values: 'unix', 'ntfs', 'mixed'. The 'unified' security style, which applies only to Infinite Volumes, cannot be applied to a Vserver's root volume. Default value is 'unix'. Possible values: <ul> <li> "unix" - NFS, <li> "ntfs" - CIFS, <li> "mixed" - Mixed, <li> "unified" - Unified </ul>

=end html

=back



=over 2

=item * I<snapshot-policy>  =>   B<snapshot-policy, optional>

=begin html

<br>Default snapshot policy setting for all volumes of the Vserver. This policy will be assigned to all volumes created in this Vserver unless the volume create request explicitly provides a snapshot policy or volume is modified later with a specific snapshot policy. A volume-level snapshot policy always overrides the default Vserver-wide snapshot policy. When specified as part vserver-get-iter call, this will return the list of matching Vservers. default: default

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Name of the Vserver. When specified as part of a vserver-create, this field represents the name of the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. The following restrictions are applicable for the Vserver name: - Maximum number of characters supported is 47, and 41 for a Vserver with subtype 'sync-source' - 'all' is a reserved name and should not be used as a Vserver name

=end html

=back



=over 2

=item * I<vserver-subtype>  =>   B<string, optional>

=begin html

<br>Vserver Subtype. This option allows the admin to specify the sub-type of Vserver being created. The possible options for this value are: <ul> <li>default</li> <li>dp_destination</li> <li>sync_source</li> <li>sync_destination</li> </ul> If a Vserver is an MCC destination, then it would have the sub-type sync-source. Vserver of sub-type sync-destination cannot be explicitly created by the admin. When a Vserver of sub-type dp-destination is created, most of the management activities are not allowed. Default value is default.

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"vserver-info">, optional>

=begin html

<br>The vserver created (keys or the entire object if requested)

=end html

=back



=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>The ID of the job that was spawned to create this vserver.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string, optional>

=begin html

<br>The operation status. Possible values: "succeeded" if creation completed successfully, "in_progress" if creation is in progress, "failed" if creation failed.

=end html

=back



=head2 vserver_data_policy_export

[B<Family:> vserver]


=begin html

Export a data policy for a Vserver with an Infinite Volume. The data policy is exported as a JSON string. For a description of the JSON format, please refer to the Clustered Data ONTAP Infinite Volumes Management Guide.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<data-policy-expression>  =>   B<string>

=begin html

<br>Data-policy JSON expression. A JSON string, XML escaped and UTF8 encoded.

=end html

=back



=head2 vserver_data_policy_import

[B<Family:> vserver]


=begin html

Import a data policy for a Vserver with an Infinite Volume. The data policy is imported as a JSON string. For a description of the required JSON format, please refer to the Clustered Data ONTAP Infinite Volumes Management Guide.

=end html



B<Inputs>

=over 2

=item * I<data-policy-expression>  =>   B<string>

=begin html

<br>Data-policy JSON expression. A JSON string with a maximum length of 50 MB. The string should be XML escaped and use the same encoding as the XML document of which it is a part (UTF8 for APIs).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_data_policy_validation_get_error

[B<Family:> vserver]


=begin html

Validate without importing a data policy for a Vserver with an Infinite Volume. The data policy needs to be specified as a JSON string. For a description of the required JSON format, please refer to the Clustered Data ONTAP Infinite Volumes Management Guide.

=end html



B<Inputs>

=over 2

=item * I<expression>  =>   B<string>

=begin html

<br>Data-policy JSON expression. A JSON string with a maximum length of 50 MB. The string should be XML escaped and use the same encoding as the XML document of which it is a part (UTF8 for APIs).

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_destroy

[B<Family:> cluster]


=begin html

This command is deprecated and may be removed in future releases of Data ONTAP. To delete Vserver use API vserver-destroy-async. Destroys the Vserver and its objects. All volumes and mirrors belonging to the Vserver must be deleted using other APIs before destroying the Vserver. EVOLEXISTS is returned if the Vserver is found to have any volumes or mirrors. This APIS removes all other objects of this Vserver including its network Interfaces, routes, configurations, admin login accounts and roles.

=end html



B<Inputs>

=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Name of the Vserver. When specified as part of a vserver-create, this field represents the name of the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. The following restrictions are applicable for the Vserver name: - Maximum number of characters supported is 47, and 41 for a Vserver with subtype 'sync-source' - 'all' is a reserved name and should not be used as a Vserver name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_destroy_async

[B<Family:> cluster]


=begin html

Destroys the Vserver and its objects asynchronously. The progress of the operation can be monitored using job-get-iter API. All volumes and mirrors belonging to the Vserver must be deleted using other APIs before destroying the Vserver. EVOLEXISTS is returned if the Vserver is found to have any volumes or mirrors. This APIS removes all other objects of this Vserver including its network Interfaces, routes, configurations, admin login accounts and roles.

=end html



B<Inputs>

=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Name of the Vserver. When specified as part of a vserver-create, this field represents the name of the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. The following restrictions are applicable for the Vserver name: - Maximum number of characters supported is 47, and 41 for a Vserver with subtype 'sync-source' - 'all' is a reserved name and should not be used as a Vserver name

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 vserver_get

[B<Family:> vserver]


=begin html

Get the attributes of the Vserver.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-info">>

=begin html

<br>The attributes of the vserver.

=end html

=back



=head2 vserver_get_iter

[B<Family:> cluster, vserver]


=begin html

Display information about Vservers. Information about Admin Vserver, Node Vserver, and Cluster Vservers is displayed. If the ZAPI is issued to the Cluster LIF with no Vserver specified as input, then information about all Vservers is shown. If the request is sent to the Vserver LIF, then information about that Vserver is shown.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver object. All vserver objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-info">[], optional>

=begin html

<br>The list of attributes of vserver objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_login_banner_get

[B<Family:> vserver]


=begin html

Return the login banner message. This message is displayed during SSH and console device login, just before the password prompt is, or would be, displayed. There is a cluster-wide default login banner that is used for every incoming connection regardless of LIF type. Each data Vserver can over-ride this default.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-login-banner-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-login-banner-info">>

=begin html

<br>The attributes of the vserver-login-banner.

=end html

=back



=head2 vserver_login_banner_get_iter

[B<Family:> cluster, vserver]


=begin html

Return the specified login banner. See the description for the non-iter API for details.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-login-banner-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-login-banner-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver-login-banner object. All vserver-login-banner objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-login-banner-info">[], optional>

=begin html

<br>The list of attributes of vserver-login-banner objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver-login-banner objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_login_banner_modify

[B<Family:> vserver]


=begin html

Modify the login banner message. This message is displayed during SSH and console device login, just before the password prompt is, or would be, displayed. There is a cluster-wide default login banner that is used for every incoming connection regardless of LIF type. Each data Vserver can over-ride this default. To restore the default for a data Vserver, set the message to '-'.

=end html



B<Inputs>

=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>The login banner message. Maximum byte length for modify: 2048.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_login_banner_modify_iter

[B<Family:> cluster, vserver]


=begin html

Modify the login banner message. This message is displayed during SSH and console device login, just before the password prompt is, or would be, displayed. There is a cluster-wide default login banner that is used for every incoming connection regardless of LIF type. Each data Vserver can over-ride this default. To restore the default for a data Vserver, set the message to '-'.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple vserver-login-banner objects match a given query. If set to true, the API will continue with the next matching vserver-login-banner even when the operation fails for the vserver-login-banner. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching vserver-login-banner even when the operation on a previous matching vserver-login-banner fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of vserver-login-banner objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>The login banner message. Maximum byte length for modify: 2048.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-login-banner-info">>

=begin html

<br>If operating on a specific vserver-login-banner, this input element must specify all keys. If operating on vserver-login-banner objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of vserver-login-banner objects (just keys) that were not operated on due to some error. If set to false, the list of vserver-login-banner objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of vserver-login-banner objects (just keys) that were successfully operated on. If set to false, the list of vserver-login-banner objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"vserver-login-banner-modify-iter-info">[], optional>

=begin html

<br>Information about vserver-login-banner objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching vserver-login-banner objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of vserver-login-banner objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of vserver-login-banner objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"vserver-login-banner-modify-iter-info">[], optional>

=begin html

<br>The vserver-login-banner objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 vserver_modify

[B<Family:> cluster]


=begin html

Modify the attributes of vserver object.

=end html



B<Inputs>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>List of aggregates assigned for volume operations. These aggregates could be shared for use with other Vservers. When specified as part of a vserver-create, this field represents the list of aggregates that are assigned to the Vserver for volume operations. When part of vserver-get-iter call, this will return the list of Vservers which have any of the aggregates specified as part of the aggr-list.

=end html

=back



=over 2

=item * I<allowed-protocols>  =>   B<protocol[], optional>

=begin html

<br>Allowed Protocols. When specified as part of a vserver-create, this field represent the list of protocols allowed on the Vserver. When part of vserver-get-iter call, this will return the list of Vservers which have any of the protocols specified as part of the allowed-protocols. When part of vserver-modify, this field should include the existing list along with new protocol list to be added to prevent data disruptions. Possible values: <ul> <li> "nfs" - NFS protocol, <li> "cifs" - CIFS protocol, <li> "fcp" - FCP protocol, <li> "iscsi" - iSCSI protocol, <li> "ndmp" - NDMP protocol, <li> "http" - HTTP protocol, <li> "nvme" - NVMe protocol </ul>

=end html

=back



=over 2

=item * I<antivirus-on-access-policy>  =>   B<antivirus-policy, optional>

=begin html

<br>{Deprecated, this field does not have any effect on the operation of the vserver.} Antivirus policy. When specified as part of vserver-create, this field represents the antivirus on access policy for the Vserver. When specified as part vserver-get-iter call, this will return the list of matching Vservers. default: default

=end html

=back



=over 2

=item * I<caching-policy>  =>   B<string, optional>

=begin html

<br>The caching policy that is to be associated with this Vserver. This policy is used to make caching decisions for this Vserver. If a caching policy is not assigned to this Vserver, the system uses the default cluster-wide policy. The possible options for this value are: <ul> <li>none - Does not cache any user data or metadata blocks.</li> <li>auto - Read caches all metadata blocks and randomly read user data blocks, and write caches all randomly overwritten user data blocks.</li> <li>meta - Read caches only metadata blocks.</li> <li>random_read - Read caches all metadata and randomly read user data blocks.</li> <li>random_read_write - Read caches all metadata, randomly read and randomly written user data blocks.</li> <li>all_read - Read caches all metadata, randomly read and sequentially read user data blocks.</li> <li>all_read_random_write - Read caches all metadata, randomly read, sequentially read and randomly written user data.</li> <li>all - Read caches all data blocks read and written. It does not do any write caching.</li> </ul> Default caching-policy is auto.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment. When specified as part of a vserver-create, this field represents the comment associated with the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers.

=end html

=back



=over 2

=item * I<disallowed-protocols>  =>   B<protocol[], optional>

=begin html

<br>Disallowed Protocols. When specified as part of a vserver-create, this field represent the list of protocols not allowed on the Vserver. When part of vserver-get-iter call, this will return the list of Vservers which have any of the protocols specified as part of the disallowed-protocols. When part of vserver-modify, this field should include the existing list along with new protocol list to be added to prevent data disruptions. Possible values: <ul> <li> "nfs" - NFS protocol, <li> "cifs" - CIFS protocol, <li> "fcp" - FCP protocol, <li> "iscsi" - iSCSI protocol, <li> "ndmp" - NDMP protocol, <li> "http" - HTTP protocol, <li> "nvme" - NVMe protocol </ul>

=end html

=back



=over 2

=item * I<language>  =>   B<language-code, optional>

=begin html

<br>Language to use for the Vserver. Default: C.UTF-8. Available language codes are: 'c' .............. POSIX 'ar' ............. Arabic 'cs' ............. Czech 'da' ............. Danish 'de' ............. German 'en' ............. English 'en_us' .......... English (US) 'es' ............. Spanish 'fi' ............. Finnish 'fr' ............. French 'he' ............. Hebrew 'hr' ............. Croatian 'hu' ............. Hungarian 'it' ............. Italian 'ja' ............. Japanese euc-j 'ja_v1' .......... Japanese euc-j 'ja_jp.pck' ...... Japanese PCK (sjis) 'ja_jp.932' ...... Japanese cp932 'ja_jp.pck_v2' .... Japanese PCK (sjis) 'ko' ............. Korean 'no' ............. Norwegian 'nl' ............. Dutch 'pl' ............. Polish 'pt' ............. Portuguese 'ro' ............. Romanian 'ru' ............. Russian 'sk' ............. Slovak 'sl' ............. Slovenian 'sv' ............. Swedish 'tr' ............. Turkish 'zh' ............. Simplified Chinese 'zh.gbk' ......... Simplified Chinese (GBK) 'zh_tw' .......... Traditional Chinese euc-tw 'zh_tw.big5' ..... Traditional Chinese Big 5 To use UTF-8 as the NFS character set, append '.UTF-8'. When specified as part of vserver-create, this field represents the language used for the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers with the specified language. The values with the '*' suffixes are not supported by Clustered ONTAP.

=end html

=back



=over 2

=item * I<max-volumes>  =>   B<string, optional>

=begin html

<br>Maximum number of volumes that can be created on the Vserver. When specified as part of a vserver-create, this field represents the maximum number of volumes that can be created on the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers.

=end html

=back



=over 2

=item * I<name-mapping-switch>  =>   B<nmswitch[], optional>

=begin html

<br>Name Mapping switch configuration details for the Vserver. When specified as part of the vserver-create, this field represents the list of Name Mapping switch configurations to be used. When specified as part of the vserver-get-iter, this will return the list of Vservers which have any of the specified Name Mapping configurations as part of their nm-switch configuration. Possible values: 'file', 'ldap'. default: file. This field is deprecated in Data ONTAP 8.3 and later. 'nameservice-nsswitch-create' should be preferred to specify the name mapping switch order. 'nameservice-nsswitch-modify' should be preferred to specify the name mapping switch order. 'nameservice-nsswitch-get' and 'nameservice-nsswitch-get-iter' APIs must be used to fetch the currently configured name mapping switch order. Possible values: <ul> <li> "file" , <li> "ldap" </ul>

=end html

=back



=over 2

=item * I<name-server-switch>  =>   B<nsswitch[], optional>

=begin html

<br>Name Server switch configuration details for the Vserver. Possible values: 'nis', 'file', 'ldap'. This field is deprecated in Data ONTAP 8.3 and later. 'nameservice-nsswitch-create' should be preferred to specify the name server switch order. 'nameservice-nsswitch-modify' should be preferred to modify the name server switch order. 'nameservice-nsswitch-get' and 'nameservice-nsswitch-get-iter' APIs must be used to fetch the currently configured name server switch order. Possible values: <ul> <li> "nis" , <li> "file" , <li> "ldap" </ul>

=end html

=back



=over 2

=item * I<qos-policy-group>  =>   B<string, optional>

=begin html

<br>The QoS policy group associated with this volume. This optionally specifies which QoS policy group to apply to the Vserver. The policy group defines measurable service level objectives (SLOs) that apply to the storage objects with which the policy group is associated. If you do not assign a policy group to a Vserver, the system will not monitor and control traffic to it. This parameter is not supported on a Vserver with Infinite Volume.

=end html

=back



=over 2

=item * I<quota-policy>  =>   B<string, optional>

=begin html

<br>Quota policy. When specified as part of vserver-create, this field represents the quota policy for the Vserver. When specified as part vserver-get-iter call, this will return the list of matching Vservers. This parameter is not supported on a Vserver with Infinite Volume. default: default

=end html

=back



=over 2

=item * I<snapshot-policy>  =>   B<snapshot-policy, optional>

=begin html

<br>Default snapshot policy setting for all volumes of the Vserver. This policy will be assigned to all volumes created in this Vserver unless the volume create request explicitly provides a snapshot policy or volume is modified later with a specific snapshot policy. A volume-level snapshot policy always overrides the default Vserver-wide snapshot policy. When specified as part vserver-get-iter call, this will return the list of matching Vservers. default: default

=end html

=back



=over 2

=item * I<state>  =>   B<vsadminstate, optional>

=begin html

<br>State of the Virtual Server. This field, together with the operational state, determines the data serving ability of a Vserver Possible values: <ul> <li> "running" , <li> "stopped" , <li> "starting" , <li> "stopping" , <li> "initializing" , <li> "deleting" </ul>

=end html

=back



=over 2

=item * I<volume-delete-retention-hours>  =>   B<integer, optional>

=begin html

<br>The number of hours that a deleted volume should be retained before the delete is completed

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Name of the Vserver. When specified as part of a vserver-create, this field represents the name of the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. The following restrictions are applicable for the Vserver name: - Maximum number of characters supported is 47, and 41 for a Vserver with subtype 'sync-source' - 'all' is a reserved name and should not be used as a Vserver name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_modify_iter

[B<Family:> cluster]


=begin html

Modify the attributes of vserver or a group of vserver objects.

=end html



B<Inputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-info">>

=begin html

<br>Specify at least one modifiable element. Do not specify any other element.

=end html

=back



=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple vserver objects match a given query. If set to true, the API will continue modifying the next matching vserver even when modification of a previous vserver fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed modify operations before the server gives up and returns. If set, the API will continue modifying the next matching vserver even when the modification of a previous matching vserver fails, and do so until the total number of objects failed to be modified reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed modify operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of objects to be modified in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-info">>

=begin html

<br>If modifying a specific vserver, this input element must specify all keys. If modifying vserver objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of vserver objects (just keys) that were not modified due to some error. If set to false, the list of vserver objects not modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of vserver objects (just keys) that were successfully updated. If set to false, the list of vserver objects modified will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"vserver-modify-iter-info">[], optional>

=begin html

<br>Information about vserver objects that were not modified due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching vserver objects to be modified.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of vserver objects that matched the query, but were not modified due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of vserver objects that matched the query and were successfully updated.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"vserver-modify-iter-info">[], optional>

=begin html

<br>The vserver objects that were successfully updated. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 vserver_motd_get

[B<Family:> vserver]


=begin html

Return the specified message of the day (MOTD). This message appears just before the clustershell prompt. The cluster Admin Vserver message will appear, then if the user is logging in as a Data Vserver admin, that Vserver's message will be printed. The cluster-level MOTD can be disabled for each Vserver using the configuration parameter.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-motd-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-motd-info">>

=begin html

<br>The attributes of the vserver-motd.

=end html

=back



=head2 vserver_motd_get_iter

[B<Family:> cluster, vserver]


=begin html

Return the specified message of the day. See the description for the non-iter API for details.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-motd-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-motd-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver-motd object. All vserver-motd objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-motd-info">[], optional>

=begin html

<br>The list of attributes of vserver-motd objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver-motd objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_motd_modify

[B<Family:> vserver]


=begin html

Modify the message of the day (MOTD). This message appears just before the clustershell prompt. The cluster Admin Vserver message will appear, then if the user is logging in as a Data Vserver admin, that Vserver's message will be printed. The cluster-level MOTD can be disabled for each Vserver using the configuration parameter.

=end html



B<Inputs>

=over 2

=item * I<is-cluster-message-enabled>  =>   B<boolean, optional>

=begin html

<br>Is the display of the cluster message of the day (MOTD) enabled for this Vserver? This field cannot be modified in a data Vserver context (tunneled to a data Vserver).

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>The message of the day (MOTD). Maximum byte length for modify: 2048. Newlines can be supplied as either LF or CRLF, but they will always be returned as LF.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_motd_modify_iter

[B<Family:> cluster, vserver]


=begin html

Modify the message of the day. See the description of the non-iter API for more information.

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple vserver-motd objects match a given query. If set to true, the API will continue with the next matching vserver-motd even when the operation fails for the vserver-motd. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<is-cluster-message-enabled>  =>   B<boolean, optional>

=begin html

<br>Is the display of the cluster message of the day (MOTD) enabled for this Vserver? This field cannot be modified in a data Vserver context (tunneled to a data Vserver).

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed operations before the server gives up and returns. If set, the API will continue with the next matching vserver-motd even when the operation on a previous matching vserver-motd fails, and do so until the total number of objects failed to be operated on reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed operations. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of vserver-motd objects to be operated in this call. Default: 20

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>The message of the day (MOTD). Maximum byte length for modify: 2048. Newlines can be supplied as either LF or CRLF, but they will always be returned as LF.

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-motd-info">>

=begin html

<br>If operating on a specific vserver-motd, this input element must specify all keys. If operating on vserver-motd objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of vserver-motd objects (just keys) that were not operated on due to some error. If set to false, the list of vserver-motd objects not operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of vserver-motd objects (just keys) that were successfully operated on. If set to false, the list of vserver-motd objects operated on will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"vserver-motd-modify-iter-info">[], optional>

=begin html

<br>Information about vserver-motd objects that were not operated on due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching vserver-motd objects to be operated on.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>The number of vserver-motd objects that matched the query, but were not operated on due some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of vserver-motd objects that matched the query and were successfully processed.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"vserver-motd-modify-iter-info">[], optional>

=begin html

<br>The vserver-motd objects that were successfully processed. This element will be returned only if input element 'return-success-list' is true.

=end html

=back



=head2 vserver_remove_aggregates

[B<Family:> cluster]


=begin html

Remove aggregates from the Vserver

=end html



B<Inputs>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[]>

=begin html

<br>Specifies a list of aggregates to be removed from Vserver.

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Specifies the name of the Vserver from which aggregates are to be removed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_remove_protocols

[B<Family:> cluster]


=begin html

remove protocols from the Vserver

=end html



B<Inputs>

=over 2

=item * I<protocols>  =>   B<protocol[]>

=begin html

<br>Is the list of protocols to be removed from the vserver specified. Possible values are: 'nfs', 'cifs', 'fcp', 'iscsi', and 'ndmp'.

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Specifies the name of the Vserver on which the given set of protocols are not allowed.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_rename

[B<Family:> cluster]


=begin html

Rename a Vserver. Use a fully qualified domain name(FQDN) - for example, 'data.example.com' - for the Vserver name to reduce name collisions in cluster leagues. This operation is not supported for a node Vserver. Use the 'system-node-rename' API to rename a node Vserver.

=end html



B<Inputs>

=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New Vserver name (Use Fully Qualified Domain Name, For example: data.example.com)

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_rename_async

[B<Family:> cluster]


=begin html

Rename a Vserver asynchronously. Use a fully qualified domain name(FQDN) - for example, 'data.example.com' - for the Vserver name to reduce name collisions in cluster leagues. This operation is not supported for a node Vserver. Use the 'system-node-rename' API to rename a node Vserver. A job will be spawned to operate on the vserver and the job id will be returned. The progress of the job can be tracked using the job APIs.

=end html



B<Inputs>

=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>New Vserver name (Use Fully Qualified Domain Name, For example: data.example.com)

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * I<result-error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 vserver_san_purge

[B<Family:> vserver]


=begin html

Purge SAN kernel cache for a Vserver. In Metrocluster configuration, if metrocluster switchback fails to clear the SAN kernel cache, the zapi can be issued to clear the SAN kernel cache.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_san_purge_verify

[B<Family:> vserver]


=begin html

Verify the SAN Kernel Agent on all nodes is unloaded for the specified Vserver.

=end html



B<Inputs>

=over 2

=item * None

=back



B<Outputs>

=over 2

=item * I<status>  =>   B<boolean>

=begin html

<br>SAN Kernel Agent for the Vserver is unloaded or not

=end html

=back



=head2 vserver_show_aggr_get_iter

[B<Family:> cluster, vserver]


=begin html

Display list of aggregates owned by Vservers.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"show-aggregates">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"show-aggregates">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver show-aggregates object. All vserver show-aggregates objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"show-aggregates">[], optional>

=begin html

<br>The list of attributes of vserver show-aggregates objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver show-aggregates objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_start

[B<Family:> cluster]


=begin html

Start a Vserver

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>In case of a MetroCluster configuration or Vserver disaster recovery, by using this parameter you can start a Vserver when it is locked (which prevents any configuration changes) or when its partner Vserver is operationally running. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Specifies the name of the Vserver to be started.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_stop

[B<Family:> cluster]


=begin html

Stop a Vserver

=end html



B<Inputs>

=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Name of the Vserver. When specified as part of a vserver-create, this field represents the name of the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. The following restrictions are applicable for the Vserver name: - Maximum number of characters supported is 47, and 41 for a Vserver with subtype 'sync-source' - 'all' is a reserved name and should not be used as a Vserver name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_unlock

[B<Family:> cluster]


=begin html

Revoke the administrative lock on the Vserver configuration. When a Vserver is unlocked, configuration changes are permitted. A failure is returned if the Vserver is not locked by the administrator or if it is locked by internal applications. If the vserver lock remains due to an error condition, it can be forcefully removed by specifying the force option.

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force unlock the Vserver which got locked as part of a DR event or an error condition. The default value for this parameter is false.

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>Specifies the name of the Vserver to be unlocked.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_migrate_cleanup

[B<Family:> cluster]


=begin html

Remove migrating entity

=end html



B<Inputs>

=over 2

=item * I<vserver>  =>   B<xc-vs-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_migrate_cutover

[B<Family:> cluster]


=begin html

Perform Cutover of the migrate operation

=end html



B<Inputs>

=over 2

=item * I<vserver>  =>   B<xc-vs-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_migrate_get

[B<Family:> cluster]


=begin html

Get the Vserver migration information for a Vserver.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-migrate-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<vserver>  =>   B<xc-vs-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-migrate-info">>

=begin html

<br>The attributes of the vserver-migrate.

=end html

=back



=head2 vserver_migrate_get_iter

[B<Family:> cluster]


=begin html

Get the list of Vservers undergoing a migrate operation.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-migrate-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-migrate-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver-migrate object. All vserver-migrate objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-migrate-info">[], optional>

=begin html

<br>The list of attributes of vserver-migrate objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver-migrate objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_migrate_pause

[B<Family:> cluster]


=begin html

Pause a migrate operation

=end html



B<Inputs>

=over 2

=item * I<vserver>  =>   B<xc-vs-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_migrate_resume

[B<Family:> cluster]


=begin html

Resume a migrate operation

=end html



B<Inputs>

=over 2

=item * I<auto-cutover>  =>   B<boolean, optional>

=begin html

<br>Automatically cutover when ready

=end html

=back



=over 2

=item * I<cutover-ready-max-transfer-time-limit>  =>   B<integer, optional>

=begin html

<br>Transfer duration for marking ready for cutover (seconds)

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force flag for continuing with disruptive migrate

=end html

=back



=over 2

=item * I<skip-performance-check>  =>   B<boolean, optional>

=begin html

<br>Skip checking iops requirement of volume on destination aggregates

=end html

=back



=over 2

=item * I<vserver>  =>   B<xc-vs-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_migrate_start

[B<Family:> cluster]


=begin html

Start a migrate operation

=end html



B<Inputs>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>Aggregate list

=end html

=back



=over 2

=item * I<auto-cutover>  =>   B<boolean, optional>

=begin html

<br>Automatically cutover when ready

=end html

=back



=over 2

=item * I<check-only>  =>   B<boolean, optional>

=begin html

<br>Check if migrate can be done

=end html

=back



=over 2

=item * I<cutover-ready-max-transfer-time-limit>  =>   B<integer, optional>

=begin html

<br>Transfer duration for marking ready for cutover (seconds)

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force flag for continuing with disruptive migrate

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>Destination cluster IPspace Name for vserver

=end html

=back



=over 2

=item * I<skip-performance-check>  =>   B<boolean, optional>

=begin html

<br>Skip checking iops requirement of volume on destination aggregates

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<cluster-name-simple>

=begin html

<br>Source Cluster Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<xc-vs-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_migrate_volume_get

[B<Family:> cluster]


=begin html

Get the status of volume in a Vserver migration operation

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-migrate-volume-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name>

=begin html

<br>Volume Name

=end html

=back



=over 2

=item * I<vserver>  =>   B<xc-vs-name>

=begin html

<br>Vserver Name

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-migrate-volume-info">>

=begin html

<br>The attributes of the vserver-migrate-volume.

=end html

=back



=head2 vserver_migrate_volume_get_iter

[B<Family:> cluster]


=begin html

Get the status of a list of volumes in a Vserver migration operation.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-migrate-volume-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-migrate-volume-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver-migrate-volume object. All vserver-migrate-volume objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-migrate-volume-info">[], optional>

=begin html

<br>The list of attributes of vserver-migrate-volume objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver-migrate-volume objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_peer_accept

[B<Family:> cluster]


=begin html

Accept a pending Vserver peer relationship

=end html



B<Inputs>

=over 2

=item * I<local-name>  =>   B<string, optional>

=begin html

<br>Specifies local name of the peer Vserver in the relationship.

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Specifies name of the peer Vserver in the relationship

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver in the relationship

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_check_peer_table

[B<Family:> cluster]


=begin html

Check Vserver peer tables

=end html



B<Inputs>

=over 2

=item * I<send-ems>  =>   B<boolean, optional>

=begin html

<br>Want to send EMS

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_create

[B<Family:> cluster]


=begin html

Create a new Vserver peer relationship between two existing Vservers

=end html



B<Inputs>

=over 2

=item * I<applications>  =>   B<vserver-peer-application[]>

=begin html

<br>Applications which can make use of the peering relationship. Possible values: 'snapmirror', 'file_copy', 'lun_copy'.

=end html

=back



=over 2

=item * I<local-name>  =>   B<string, optional>

=begin html

<br>Specifies local name of the peer Vserver in the relationship.

=end html

=back



=over 2

=item * I<peer-cluster>  =>   B<string, optional>

=begin html

<br>Specifies name of the peer Cluster. If peer Cluster is not given, it considers local Cluster.

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Specifies name of the peer Vserver in the relationship

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver in the relationship

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_delete

[B<Family:> cluster]


=begin html

Delete a Vserver peer relationship

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force Delete

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Specifies name of the peer Vserver in the relationship

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver in the relationship

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_get

[B<Family:> vserver]


=begin html

Display information about Vserver peer relationships. Displays the local Vserver, peer Vserver, applications, remote Vserver name and the state of the peering relationship.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-peer-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Specifies name of the peer Vserver in the relationship

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-peer-info">>

=begin html

<br>The attributes of the vserver-peer.

=end html

=back



=head2 vserver_peer_get_iter

[B<Family:> cluster, vserver]


=begin html

Display information about Vserver peer relationships. If the API is issued to the Cluster LIF, then information about all Vservers is shown. If the request is sent to the Vserver LIF, then information about that Vserver is shown.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-peer-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-peer-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver-peer object. All vserver-peer objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-peer-info">[], optional>

=begin html

<br>The list of attributes of vserver-peer objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver-peer objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_peer_modify

[B<Family:> cluster]


=begin html

Modify a Vserver peer relationship

=end html



B<Inputs>

=over 2

=item * I<applications>  =>   B<vserver-peer-application[]>

=begin html

<br>Applications which can make use of the peering relationship. Possible values: 'snapmirror', 'file_copy', 'lun_copy'.

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Specifies name of the peer Vserver in the relationship

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver in the relationship

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_modify_local_name

[B<Family:> cluster]


=begin html

Modify the local name for a peer Vserver.

=end html



B<Inputs>

=over 2

=item * I<new-name>  =>   B<string>

=begin html

<br>Remote Peer Vserver Local Name

=end html

=back



=over 2

=item * I<peer-cluster>  =>   B<string>

=begin html

<br>Peer Cluster

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Remote Peer Vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_permission_create

[B<Family:> cluster]


=begin html

Create a new Vserver peer permission. Allow cluster admin to configure list of permitted clusters/Vservers/applications for intercluster Vserver peer relationship creation. Once configured no explicit Vserver peer accept required for any incoming Vserver peer request from remote cluster

=end html



B<Inputs>

=over 2

=item * I<applications>  =>   B<vserver-peer-permission-application[]>

=begin html

<br>Peering Applications Possible values: <ul> <li> "snapmirror" - SnapMirror </ul>

=end html

=back



=over 2

=item * I<peer-cluster>  =>   B<string>

=begin html

<br>Specifies name of the peer Cluster.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver. Use symbol * to denote a permission that applies for all local Vservers.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_permission_delete

[B<Family:> cluster]


=begin html

Delete a Vserver peer permission

=end html



B<Inputs>

=over 2

=item * I<peer-cluster>  =>   B<string>

=begin html

<br>Specifies name of the peer Cluster.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver. Use symbol * to denote a permission that applies for all local Vservers.

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_permission_get

[B<Family:> cluster]


=begin html

Gets a Vserver peer permission

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-peer-permission-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<peer-cluster>  =>   B<string>

=begin html

<br>Specifies name of the peer Cluster.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver. Use symbol * to denote a permission that applies for all local Vservers.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-peer-permission-info">>

=begin html

<br>The attributes of the vserver-peer-permission.

=end html

=back



=head2 vserver_peer_permission_get_iter

[B<Family:> cluster]


=begin html

Gets list of Vserver peer permission

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-peer-permission-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-peer-permission-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver-peer-permission object. All vserver-peer-permission objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-peer-permission-info">[], optional>

=begin html

<br>The list of attributes of vserver-peer-permission objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver-peer-permission objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_peer_reject

[B<Family:> cluster]


=begin html

Reject a Vserver peer relationship

=end html



B<Inputs>

=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Specifies name of the peer Vserver in the relationship

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver in the relationship

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_repair_peer_name

[B<Family:> cluster]


=begin html

Fix Peer Vserver name in the remote Vserver peer tables

=end html



B<Inputs>

=over 2

=item * I<vserver-name>  =>   B<string>

=begin html

<br>vserver

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_resume

[B<Family:> cluster]


=begin html

Resume a Vserver peer relationship

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force Resume

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Specifies name of the peer Vserver in the relationship

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver in the relationship

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_suspend

[B<Family:> cluster]


=begin html

Suspend a Vserver peer relationship

=end html



B<Inputs>

=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force Suspend

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string>

=begin html

<br>Specifies name of the peer Vserver in the relationship

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Specifies name of the local Vserver in the relationship

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_transition_create

[B<Family:> cluster]


=begin html

Create a new transition peer relationship between a Data ONTAP 7-Mode system and a Data ONTAP Cluster-Mode Vserver

=end html



B<Inputs>

=over 2

=item * I<local-lifs>  =>   B<lif-name[], optional>

=begin html

<br>List of Local LIFs

=end html

=back



=over 2

=item * I<local-vserver>  =>   B<vserver-name>

=begin html

<br>Local Vserver name

=end html

=back



=over 2

=item * I<multi-path-address>  =>   B<string, optional>

=begin html

<br>Additional address for source 7-Mode system

=end html

=back



=over 2

=item * I<return-record>  =>   B<boolean, optional>

=begin html

<br>If set to true, returns the vserver-peer-transition on successful creation. Default: false

=end html

=back



=over 2

=item * I<src-filer-name>  =>   B<string>

=begin html

<br>Source 7-Mode system

=end html

=back



B<Outputs>

=over 2

=item * I<result>  =>   B<L<"vserver-peer-transition-info">, optional>

=begin html

<br>The vserver-peer-transition created (keys or the entire object if requested)

=end html

=back



=head2 vserver_peer_transition_destroy

[B<Family:> cluster]


=begin html

Deletes a transition peer relationship

=end html



B<Inputs>

=over 2

=item * I<local-vserver>  =>   B<vserver-name>

=begin html

<br>Local Vserver name

=end html

=back



=over 2

=item * I<src-filer-name>  =>   B<string>

=begin html

<br>Source 7-Mode system

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 vserver_peer_transition_destroy_iter

[B<Family:> cluster]


=begin html

Deletes multiple transition peer relationship

=end html



B<Inputs>

=over 2

=item * I<continue-on-failure>  =>   B<boolean, optional>

=begin html

<br>This input element is useful when multiple vserver-peer-transition objects match a given query. If set to true, the API will continue deleting the next matching vserver-peer-transition even when the deletion of a previous vserver-peer-transition fails. If set to false, the API will return on the first failure. Default: false

=end html

=back



=over 2

=item * I<max-failure-count>  =>   B<integer, optional>

=begin html

<br>When allowing failures ('continue-on-failure' is set to true), then this input element may be provided to limit the number of failed deletions before the server gives up and returns. If set, the API will continue deleting the next matching vserver-peer-transition even when the deletion of a previous matching vserver-peer-transition fails, and do so until the total number of objects failed to be deleted reaches the maximum specified. If set to the maximum or not provided, then there will be no limit on the number of failed deletions. Only applicable if 'continue-on-failure' is set to true. Default: 2^32-1

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of vserver-peer-transition objects to delete in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-peer-transition-info">>

=begin html

<br>If deleting a specific vserver-peer-transition, this input element must specify all keys. If deleting multiple vserver-peer-transition objects based on query, this input element must specify a query.

=end html

=back



=over 2

=item * I<return-failure-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of vserver-peer-transition objects (just keys) that were not deleted due to some error. If set to false, the list of vserver-peer-transition objects not deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<return-success-list>  =>   B<boolean, optional>

=begin html

<br>If set to true, the API will return the list of vserver-peer-transition objects (just keys) that were successfully deleted. If set to false, the list of vserver-peer-transition objects deleted will not be returned. Default: true

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the next-tag obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<failure-list>  =>   B<L<"vserver-peer-transition-destroy-iter-info">[], optional>

=begin html

<br>Information about vserver-peer-transition objects that were not deleted due to some error. This element will be returned only if input element 'return-failure-list' is true.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more matching vserver-peer-transition objects to be deleted.

=end html

=back



=over 2

=item * I<num-failed>  =>   B<integer, optional>

=begin html

<br>Number of vserver-peer-transition objects that matched the query, but were not deleted due to some error.

=end html

=back



=over 2

=item * I<num-succeeded>  =>   B<integer, optional>

=begin html

<br>The number of vserver-peer-transition objects that matched the query and were successfully deleted.

=end html

=back



=over 2

=item * I<success-list>  =>   B<L<"vserver-peer-transition-destroy-iter-info">[], optional>

=begin html

<br>The vserver-peer-transition objects that were successfully deleted. This element will be returned only if input element 'return-success-list' is true

=end html

=back



=head2 vserver_peer_transition_get

[B<Family:> cluster, vserver]


=begin html

Gets a transition peer relationship.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-peer-transition-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<local-vserver>  =>   B<vserver-name>

=begin html

<br>Local Vserver name

=end html

=back



=over 2

=item * I<src-filer-name>  =>   B<string>

=begin html

<br>Source 7-Mode system

=end html

=back



B<Outputs>

=over 2

=item * I<attributes>  =>   B<L<"vserver-peer-transition-info">>

=begin html

<br>The attributes of the vserver-peer-transition.

=end html

=back



=head2 vserver_peer_transition_get_iter

[B<Family:> cluster, vserver]


=begin html

Gets list of transition peer relationship.

=end html



B<Inputs>

=over 2

=item * I<desired-attributes>  =>   B<L<"vserver-peer-transition-info">, optional>

=begin html

<br>Specify the attributes that should be returned. If not present, all attributes for which information is available will be returned. If present, only the desired attributes for which information is available will be returned.

=end html

=back



=over 2

=item * I<max-records>  =>   B<integer, optional>

=begin html

<br>The maximum number of records to return in this call. Default: 20

=end html

=back



=over 2

=item * I<query>  =>   B<L<"vserver-peer-transition-info">, optional>

=begin html

<br>A query that specifies which objects to return. A query could be specified on any number of attributes in the vserver-peer-transition object. All vserver-peer-transition objects matching this query up to 'max-records' will be returned.

=end html

=back



=over 2

=item * I<tag>  =>   B<string, optional>

=begin html

<br>Specify the tag from the last call. It is usually not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call.

=end html

=back



B<Outputs>

=over 2

=item * I<attributes-list>  =>   B<L<"vserver-peer-transition-info">[], optional>

=begin html

<br>The list of attributes of vserver-peer-transition objects.

=end html

=back



=over 2

=item * I<next-tag>  =>   B<string, optional>

=begin html

<br>Tag for the next call. Not present when there are no more vserver-peer-transition objects to return.

=end html

=back



=over 2

=item * I<num-records>  =>   B<integer>

=begin html

<br>The number of records returned in this call.

=end html

=back



=head2 vserver_peer_transition_modify

[B<Family:> cluster]


=begin html

Modifies a transition peer relationship

=end html



B<Inputs>

=over 2

=item * I<local-lifs>  =>   B<lif-name[], optional>

=begin html

<br>List of Local LIFs

=end html

=back



=over 2

=item * I<local-vserver>  =>   B<vserver-name>

=begin html

<br>Local Vserver name

=end html

=back



=over 2

=item * I<multi-path-address>  =>   B<string, optional>

=begin html

<br>Additional address for source 7-Mode system

=end html

=back



=over 2

=item * I<src-filer-name>  =>   B<string>

=begin html

<br>Source 7-Mode system

=end html

=back



B<Outputs>

=over 2

=item * None

=back



=head2 wafl_get_sync_status

[B<Family:> vserver]


=begin html

Returns the status of the previously issued asynchronous Consistency Point operations.

=end html



B<Inputs>

=over 2

=item * I<sync-handle>  =>   B<L<"wafl-sync-handle">>

=begin html

<br>Handle representing a previously issued wafl-sync operation.

=end html

=back



B<Outputs>

=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Status information about the previous CP request on volume. Possible values: <ul> <li> "failed", <li> "in_progress", <li> "succeeded". </ul>

=end html

=back



=head2 wafl_sync

[B<Family:> vserver]


=begin html

Forces a WAFL consistency point (CP) in order to reduce the time for succeeding fence and snapshot related operations. In Data ONTAP 7-Mode this call is synchronous and will not return until the CP has completed. In Data ONTAP Cluster-Mode this API is asynchronous and will return immediately as soon as the CP is scheduled. The wafl-get-sync-status API can be used to check status of the previously scheduled CP. Two uses of this API are <ul> <li> to predict how fast a successive consistency group based operation will finish,</li> <li> to improve performance of succeeding consistency group primitives.</li> </ul>

=end html



B<Inputs>

=over 2

=item * I<volumes>  =>   B<volume-name[], optional>

=begin html

<br>A list of volume names to take a CP on. In Data ONTAP 7-Mode, the CP operation will be performed on all the volumes on the controller if no volumes are specified. In Data ONTAP Cluster-Mode, "volumes" is a required input and all specified volumes must belong to the same Vserver. If an error is encountered when processing the sync request for a volume, the operation is aborted and sync operation will not be performed on the rest of the volumes specified.

=end html

=back



B<Outputs>

=over 2

=item * I<handles>  =>   B<L<"wafl-sync-handle">[], optional>

=begin html

<br>List of handles to be used to query the sync status using 'wafl-get-sync-status' ZAPI.

=end html

=back



=head1 TYPEDEFS



=head2 active-directory-account-config

=begin html

Active Directory configuration information for the Vserver. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<account-name>  =>   B<netbios-name, optional>

=begin html

<br>Active Directory account NetBIOS name. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>Fully qualified domain name. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<domain-workgroup>  =>   B<domain-name, optional>

=begin html

<br>NetBios domain/workgroup name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<organizational-unit>  =>   B<string, optional>

=begin html

<br>Organizational unit under which the Active Directory account resides. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 domain-name

=begin html

The domain name is an identification label that defines a realm based on Domain Name Service (DNS).

=end html



B<Fields>

=over 2

=item * None

=back



=head2 netbios-name

=begin html

Name of a client or a server participating in a NetBIOS Windows File sharing service network. This can be different from the host name.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 aggr-64bit-upgrade-attributes

=begin html

Information related to 64-bit upgrade.

=end html



B<Fields>

=over 2

=item * I<aggr-check-attributes>  =>   B<L<"aggr-check-attributes">, optional>

=begin html

<br>Information returned when upgrade-64bit-mode input in aggr-add API is "check".

=end html

=back



=over 2

=item * I<aggr-start-attributes>  =>   B<L<"aggr-start-attributes">, optional>

=begin html

<br>Information returned when upgrade-64bit-mode in aggr-add API is "grow_all", "grow_none", or "grow_reserved".

=end html

=back



=over 2

=item * I<aggr-status-attributes>  =>   B<L<"aggr-status-attributes">>

=begin html

<br>Status information related to 64-bit upgrade. This information includes whether the 64-bit upgrade is in progress.

=end html

=back



=head2 aggr-attributes

=begin html

Attributes of an aggregate. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggr-64bit-upgrade-attributes>  =>   B<L<"aggr-64bit-upgrade-attributes">, optional>

=begin html

<br>Information related to 64-bit upgrade. After 64-bit upgrade completes, this information is no longer available.

=end html

=back



=over 2

=item * I<aggr-fs-attributes>  =>   B<L<"aggr-fs-attributes">, optional>

=begin html

<br>This field contains file system related information about the aggregate. This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<aggr-inode-attributes>  =>   B<L<"aggr-inode-attributes">, optional>

=begin html

<br>This field contains inode related information about the aggregate. This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<aggr-ownership-attributes>  =>   B<L<"aggr-ownership-attributes">, optional>

=begin html

<br>This field contains ownership related information about the aggregate. This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<aggr-performance-attributes>  =>   B<L<"aggr-performance-attributes">, optional>

=begin html

<br>This field contains performance related informtaion about the aggregate.

=end html

=back



=over 2

=item * I<aggr-raid-attributes>  =>   B<L<"aggr-raid-attributes">, optional>

=begin html

<br>This field contains RAID specific information of the aggregate

=end html

=back



=over 2

=item * I<aggr-snaplock-attributes>  =>   B<L<"aggr-snaplock-attributes">, optional>

=begin html

<br>This field contains snaplock specific information of the aggregate

=end html

=back



=over 2

=item * I<aggr-snapmirror-attributes>  =>   B<L<"aggr-snapmirror-attributes">, optional>

=begin html

<br>This field contains snapMirror specific information of the aggregate This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<aggr-snapshot-attributes>  =>   B<L<"aggr-snapshot-attributes">, optional>

=begin html

<br>This field contains snapshot specific information of the aggregate. This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<aggr-space-attributes>  =>   B<L<"aggr-space-attributes">, optional>

=begin html

<br>This field contains space specific information of the aggregate

=end html

=back



=over 2

=item * I<aggr-striping-attributes>  =>   B<L<"aggr-striping-attributes">, optional>

=begin html

<br>This field contains striping specific information of the aggregate This information is returned only if aggregate is striped.

=end html

=back



=over 2

=item * I<aggr-volume-count-attributes>  =>   B<L<"aggr-volume-count-attributes">, optional>

=begin html

<br>This field contains various counts information of volume in the aggregate.

=end html

=back



=over 2

=item * I<aggr-wafliron-attributes>  =>   B<L<"aggr-wafliron-attributes">, optional>

=begin html

<br>This field contains wafliron specific information of the aggregate

=end html

=back



=over 2

=item * I<aggregate-name>  =>   B<string, optional>

=begin html

<br>Name of the aggregate.

=end html

=back



=over 2

=item * I<aggregate-uuid>  =>   B<string, optional>

=begin html

<br>Aggregate's Universal Unique IDentifier. UUIDs are 16-byte quantities that are typically displayed as having five hexadecimal fields separated by hyphens. For example: d2da3566-da53-11d7-a841-000100000529

=end html

=back



=over 2

=item * I<autobalance-available-threshold-percent>  =>   B<integer, optional>

=begin html

<br>The threshold when an aggregate is considered balanced by the Auto Balance Aggregate feature.

=end html

=back



=over 2

=item * I<autobalance-state>  =>   B<autobalance-aggregate-state, optional>

=begin html

<br>The state of the aggregate being balanced. Possible values: <ul> <li> "disabled" - Auto Balance Aggregate is disabled, <li> "balanced" - Auto Balance Aggregate has determined that the aggregate is below the high-watermark. <li> "unbalanced" - Auto Balance Aggregate has detected that the aggregate is over the high-watermark but has not initiated any jobs to bring it below the high-watermark., <li> "ineligible" - Ineligible </ul> The states excluded, balanced and unbalanced are available only when Auto Balance Aggregate is enabled.

=end html

=back



=over 2

=item * I<autobalance-state-change-counter>  =>   B<integer, optional>

=begin html

<br>The number of times an aggregate has been transitioned from balanced to unbalanced and vice-versa.

=end html

=back



=over 2

=item * I<autobalance-unbalanced-threshold-percent>  =>   B<integer, optional>

=begin html

<br>The threshold when an aggregate is considered unbalanced by the Auto Balance Aggregate feature.

=end html

=back



=over 2

=item * I<excluded-from-autobalance>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the aggregate is excluded from Auto Balance aggregate processing. When set to 'false' the aggregate is included in Auto Balance Aggregate processing.

=end html

=back



=over 2

=item * I<is-autobalance-eligible>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the aggregate is included in Auto Balance aggregate processing. When set to 'false' the aggregate is excluded from Auto Balance Aggregate processing.

=end html

=back



=over 2

=item * I<is-cft-precommit>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the aggregate is a 7-mode transitioned aggregate in pre-commit phase.

=end html

=back



=over 2

=item * I<is-object-store-attach-eligible>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the aggregate is is eligible to have an object store attached to it.

=end html

=back



=over 2

=item * I<is-transition-out-of-space>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the aggregate is a 7-mode transitioned aggregate that is not yet committed on C-mode, and is currently out of space.

=end html

=back



=over 2

=item * I<nodes>  =>   B<node-name[], optional>

=begin html

<br>List of node names. If aggregate-name is also specified, then the matching aggregate on given nodes is returned. If not, all aggregates on specified nodes are returned. If this element is omitted when the request is sent to the Admin Vserver LIF, then all matching aggregates in the cluster are returned.

=end html

=back



=over 2

=item * I<striping-type>  =>   B<string, optional>

=begin html

<br>Specifies the striping information about the aggregate. Possible values are "not_striped", "striped", and "unknown"

=end html

=back



=head2 aggr-autobalance-aggregate-state

=begin html

State related to each aggregate monitored by Auto Balance Aggregate. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate.<p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<autobalance-threshold>  =>   B<size, optional>

=begin html

<br>Threshold used by AutoBalance aggregate to determine if an aggregate is eligible for balancing, in bytes.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<incoming-volume-size>  =>   B<size, optional>

=begin html

<br>Size of volumes that are moving towards the aggregate, in bytes.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-balanceable>  =>   B<boolean, optional>

=begin html

<br>Indicates if the aggregate should be balanced.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-considered-for-balance>  =>   B<boolean, optional>

=begin html

<br>Indicates if the aggregate should be considered for balancing.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-hybrid>  =>   B<boolean, optional>

=begin html

<br>Is a hybrid aggregate.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node the aggregate resides on.<p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<outgoing-volume-size>  =>   B<size, optional>

=begin html

<br>Size of volumes that are moving away from the aggregate, in bytes.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<raidtype>  =>   B<raid-type, optional>

=begin html

<br>RAID type of the aggregate.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-size>  =>   B<size, optional>

=begin html

<br>Total size of the aggregate in bytes.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-size>  =>   B<size, optional>

=begin html

<br>Used size of the aggregate in bytes.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-autobalance-config

=begin html

Configuration of Auto Balance Aggregate When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<available-threshold-percent>  =>   B<integer, optional>

=begin html

<br>When Auto Balance Aggregate identifies an aggregate that needs to be balanced, it will attempt to identify other target aggregates it can move volumes to. An aggregate will only be considered as a target if its projected space usage after the move is still under this percentage. Auto Balance Aggregate will attempt to move volumes from an unbalanced aggregate until it is under this percentage. The default value is 40%. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<hold-duration-after-move>  =>   B<time-interval, optional>

=begin html

<br>This value represents the number of seconds that need to have elapsed since the volume was last moved before it will be considered a movable candidate again. The default value is 48 hours. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>'true' if Auto Balance Aggregate is enabled. 'false' if Auto Balance Aggregate is disabled. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<move-mode>  =>   B<string, optional>

=begin html

<br>For all modes, Auto Balance Aggregate will identify the volume moves that will help to balance space usage across the aggregates. The mode dictates what Auto Balance Aggregate will do with the suggested moves. In 'recommend' mode, the suggested moves will be displayed, but no further action will be taken .In 'auto' mode, Auto Balance Aggregate will trigger moves to start. The default mode is 'recommend'. <p> Attributes: non-creatable, modifiable Possible values: <ul> <li> "auto" , <li> "recommend" </ul>

=end html

=back



=over 2

=item * I<state-polling-interval>  =>   B<time-interval, optional>

=begin html

<br>Polling period, in seconds, used by Auto Balance Aggregate to update volume and aggregate state. The default value is 3600 seconds. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<unbalanced-threshold-percent>  =>   B<integer, optional>

=begin html

<br>This percentage will indicate the space used threshold that will cause Auto Balance Aggregate to consider this aggregate as unbalanced. The default value is 60%. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<volume-activity-threshold>  =>   B<integer, optional>

=begin html

<br>The threshold, in number of operations per second preformed on a volume (read/write/internal), that will disqualify the volume from being a candidate to be moved by Auto Balance Aggregate. The default value is 100 operations per second. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<volume-inactive-delay-threshold>  =>   B<time-interval, optional>

=begin html

<br>This value represents a duration in seconds and designates the amount of time that has to elapse after a volume has exceeded the volume-activity-threshold before it can be considered a movable volume by Auto Balance Aggregate. The default value is 24 hours. <p> Attributes: non-creatable, modifiable

=end html

=back



=head2 aggr-autobalance-notification

=begin html

Notifications for nodes that need to be balanced. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<notifying-node>  =>   B<node-name, optional>

=begin html

<br>The node that contains the aggregate which is considered a candidate for Auto Balance Aggregate. <p> Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 aggr-autobalance-volume-state

=begin html

The state related to each volume monitored by Auto Balance Aggregate. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>The aggregate that contains the volume.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dsid>  =>   B<integer, optional>

=begin html

<br>The dsid of the volume.<p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-volume-moving>  =>   B<boolean, optional>

=begin html

<br>Indicates if volume is currently moving.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-volume-quiesced>  =>   B<boolean, optional>

=begin html

<br>Indicates if volume is currently quiesced.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time-threshold-exceeded>  =>   B<datetime, optional>

=begin html

<br>Timestamp related to when we exceeded the threshold of operations for the volume.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time-was-placed>  =>   B<datetime, optional>

=begin html

<br>Timestamp related to when the volume was last moved.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The node the volume resides on.<p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string, optional>

=begin html

<br>The name of the volume.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-total-size>  =>   B<size, optional>

=begin html

<br>Total size of the volume, in bytes.<p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-check-attributes

=begin html

Information returned when upgrade-64bit-mode in aggr-add API is "check".

=end html



B<Fields>

=over 2

=item * I<added-space>  =>   B<integer, optional>

=begin html

<br>The effective total space that would be added (in bytes) to the aggregate. This would not include the blocks used by the 64-bit upgrade of the aggregate and its contained flexible volumes. Range: [0..2^64-1].

=end html

=back



=over 2

=item * I<check-last-errno>  =>   B<integer, optional>

=begin html

<br>The error code of the last attempt to check for space usage on the specific aggregate. This field is present only if a previous 64-bit upgrade check failed. Possible values: 0 - indicates success EVOLUME_64BIT_UPGRADE_KIREETI_NOT_AVAIL Per-volume upgrade check results may be out of date if last-errno is not 0.

=end html

=back



=over 2

=item * I<cookie>  =>   B<integer, optional>

=begin html

<br>The opaque cookie to uniquely identify a 64-bit upgrade transaction previously triggered on the aggregate using aggr-add API. Range: [0..2^64-1].

=end html

=back



=over 2

=item * I<is-space-estimate-complete>  =>   B<boolean, optional>

=begin html

<br>True if the space estimate has completed. Check "check-last-errno" to find out whether the space estimate was successful.

=end html

=back



=head2 aggr-disk-info

=begin html

Information about the disks

=end html



B<Fields>

=over 2

=item * I<copy-percent>  =>   B<integer, optional>

=begin html

<br>This field indicates the percentage of copying that has completed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk>  =>   B<disk-name, optional>

=begin html

<br>Name of the disk. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-rpm>  =>   B<integer, optional>

=begin html

<br>Rotational speed in revolutions per minute. Possible values are: 5400, 7200, 10000, and 15000. Omitted if information is unavailable, or if the rpm does not apply to this 'disk-type'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Disk interface type. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<effective-disk-rpm>  =>   B<integer, optional>

=begin html

<br>Effective rotational speed in revolutions per minute. Disks can report different actual 'rpm', but have the same 'effective-disk-rpm'. Disks with the same 'effective-disk-rpm' are compatible for use within the same aggregate. Omitted if information is unavailable, or excluded by 'desired-attributes'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<effective-disk-type>  =>   B<string, optional>

=begin html

<br>Effective disk interface type. Disk can report different physical 'disk-type', but the same 'effective-disk-type'. Disk with the same 'effective-disk-type' are compatible for use within the same aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-cache>  =>   B<boolean, optional>

=begin html

<br>True if the disk is being used as cache. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-evacuating>  =>   B<boolean, optional>

=begin html

<br>True if the disk is being evacuated. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-offline>  =>   B<boolean, optional>

=begin html

<br>True if the disk is marked as offline. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-recons-active>  =>   B<boolean, optional>

=begin html

<br>True if reconstruction is active on this disk. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-replacing>  =>   B<boolean, optional>

=begin html

<br>True if the disk is being replaced. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sdc-active>  =>   B<boolean, optional>

=begin html

<br>True if the sick disk copy is active. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sick>  =>   B<boolean, optional>

=begin html

<br>True if the disk is marked as sick. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-size>  =>   B<size, optional>

=begin html

<br>Total raw capacity of this disk in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<position>  =>   B<disk-position-type, optional>

=begin html

<br>Position of the disk within aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<reconstruction-percent>  =>   B<integer, optional>

=begin html

<br>This field indicates the percentage of reconstruction that has completed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<standard-disk-type>  =>   B<standarddisktype, optional>

=begin html

<br>Industry standard disk type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "sata" - SATA, Serial Advanced Technology Attachment, <li> "fc" - FC, Fibre Channel, <li> "nl_sas" - NL-SAS, Near Line SAS, <li> "lun" - LUN, SCSI Logical Unit Number (e.g. Array), <li> "sas" - SAS, Serial Attached SCSI, <li> "scsi" - SCSI, Small Computer System Interface, <li> "ssd" - SSD, Solid-State Disk, <li> "vm_disk" - VM Disk, Hypervisor Virtual Disk, <li> "unknown" - Unknown Disk Type, <li> "nvme_ssd" - NVMe SSD, Non-Volatile Memory Express Solid-State Disk </ul>

=end html

=back



=over 2

=item * I<syncmirror-pool>  =>   B<string, optional>

=begin html

<br>Syncmirror Pool to which disk is assigned. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<usable-size>  =>   B<size, optional>

=begin html

<br>Total usable capacity of this disk in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-additional-details-info

=begin html

Additional details related to storage efficiency in this aggregate.

=end html



B<Fields>

=over 2

=item * I<number-of-offline-volumes>  =>   B<integer, optional>

=begin html

<br>Number of volumes that are offline in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<number-of-sis-change-log-disabled-volumes>  =>   B<integer, optional>

=begin html

<br>Number of volumes on which efficiency change log is disabled in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<number-of-sis-disabled-volumes>  =>   B<integer, optional>

=begin html

<br>Number of volumes on which volume efficiency is disabled in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-aggr-info

=begin html

Storage efficiency achieved at the aggregate level using techniques like data compaction.

=end html



B<Fields>

=over 2

=item * I<aggr-compaction-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space that is saved by data compaction at the aggregate level. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-data-reduction-storage-efficiency-ratio>  =>   B<string, optional>

=begin html

<br>Storage efficiency ratio of the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used by the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains physical size used by the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-cumulated-additional-details-info

=begin html

Additional details related to storage efficiency in the given aggregates.

=end html



B<Fields>

=over 2

=item * I<number-of-offline-volumes>  =>   B<integer, optional>

=begin html

<br>Number of volumes that are offline in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<number-of-sis-change-log-disabled-volumes>  =>   B<integer, optional>

=begin html

<br>Number of volumes on which efficiency change log is disabled in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<number-of-sis-disabled-volumes>  =>   B<integer, optional>

=begin html

<br>Number of volumes on which volume efficiency is disabled in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<number-of-skipped-aggregates>  =>   B<integer, optional>

=begin html

<br>Number of Skipped aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<skipped-aggregates>  =>   B<string[], optional>

=begin html

<br>List of Aggregates skipped Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-cumulated-aggr-info

=begin html

Storage efficiency achieved at the aggregate level using techniques like data compaction.

=end html



B<Fields>

=over 2

=item * I<aggr-data-reduction-storage-efficiency-ratio>  =>   B<string, optional>

=begin html

<br>Storage efficiency ratio of the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used by the given Aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains physical size used by the given Aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-cumulated-info

=begin html

Aggregate Storage Efficiency Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggr-efficiency-cumulated-additional-details-info>  =>   B<L<"aggr-efficiency-cumulated-additional-details-info">, optional>

=begin html

<br>Additional details related to storage efficiency in the given aggregates.

=end html

=back



=over 2

=item * I<aggr-efficiency-cumulated-aggr-info>  =>   B<L<"aggr-efficiency-cumulated-aggr-info">, optional>

=begin html

<br>Storage efficiency achieved at the aggregate level using techniques like data compaction.

=end html

=back



=over 2

=item * I<aggr-efficiency-cumulated-snapshot-and-flexclone-info>  =>   B<L<"aggr-efficiency-cumulated-snapshot-and-flexclone-info">, optional>

=begin html

<br>Aggregated information of storage efficiency of Snapshot copies and FlexClone volumes in the given aggregates.

=end html

=back



=over 2

=item * I<aggr-efficiency-cumulated-volume-info>  =>   B<L<"aggr-efficiency-cumulated-volume-info">, optional>

=begin html

<br>Aggregated information of storage efficiency achieved at the volume level using techniques like deduplication, compression, zero detection and FlexClones for files or LUNs.

=end html

=back



=over 2

=item * I<aggr-efficiency-total-cumulated-info>  =>   B<L<"aggr-efficiency-total-cumulated-info">, optional>

=begin html

<br>cumulated storage efficiency information from the given aggregates.

=end html

=back



=head2 aggr-efficiency-cumulated-snapshot-and-flexclone-info

=begin html

Aggregated information of storage efficiency of Snapshot copies and FlexClone volumes in the given aggregates.

=end html



B<Fields>

=over 2

=item * I<flexclone-volume-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used by all FlexClone volumes residing in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flexclone-volume-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains physical size used by all FlexClone volumes in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-flexclone-volume-data-reduction-storage-efficiency-ratio>  =>   B<string, optional>

=begin html

<br>Snapshot and FlexClone volume storage efficiency ratio of the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used by all volume Snapshot copies residing in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains physical size used by all volume Snapshot copies residing in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-cumulated-volume-info

=begin html

Aggregated information of storage efficiency achieved at the volume level using techniques like deduplication, compression, zero detection and FlexClones for files or LUNs.

=end html



B<Fields>

=over 2

=item * I<volume-compression-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space that is saved by compressing blocks by all volumes in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-data-reduction-storage-efficiency-ratio>  =>   B<string, optional>

=begin html

<br>Storage efficiency ratio of all the volumes in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-dedupe-zero-pattern-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space that is saved by volume Deduplication and pattern detection by all the volumes in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used by all the volumes in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains physical size used by all volumes in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-cumulative-info

=begin html

Cumulative storage efficiency information of an aggregate.

=end html



B<Fields>

=over 2

=item * I<total-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used in the aggregate. This includes Volumes, Clones and Snapshots in the aggregate. The logical size is computed based on physical usage and savings obatained in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains the physical size used by the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-storage-efficiency-ratio>  =>   B<string, optional>

=begin html

<br>Total storage efficiency ratio of the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-info

=begin html

Aggregate Storage Efficiency Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggr-efficiency-additional-details-info>  =>   B<L<"aggr-efficiency-additional-details-info">, optional>

=begin html

<br>Additional details related to storage efficiency in this aggregate.

=end html

=back



=over 2

=item * I<aggr-efficiency-aggr-info>  =>   B<L<"aggr-efficiency-aggr-info">, optional>

=begin html

<br>Storage efficiency achieved at the aggregate level using techniques like data compaction.

=end html

=back



=over 2

=item * I<aggr-efficiency-cumulative-info>  =>   B<L<"aggr-efficiency-cumulative-info">, optional>

=begin html

<br>Cumulative storage efficiency information of an aggregate.

=end html

=back



=over 2

=item * I<aggr-efficiency-snapshot-and-flexclone-volume-info>  =>   B<L<"aggr-efficiency-snapshot-and-flexclone-volume-info">, optional>

=begin html

<br>Aggregated information of storage efficiency of Snapshots and FlexClone volumes in the aggregate.

=end html

=back



=over 2

=item * I<aggr-efficiency-volume-info>  =>   B<L<"aggr-efficiency-volume-info">, optional>

=begin html

<br>Aggregated information of storage efficiency achieved at the volume level using techniques like deduplication, compression, zero detection and FlexClones for files or LUNs.

=end html

=back



=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of the node where the aggregate resides. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-snapshot-and-flexclone-volume-info

=begin html

Aggregated information of storage efficiency of Snapshots and FlexClone volumes in the aggregate.

=end html



B<Fields>

=over 2

=item * I<flexclone-volume-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used by all FlexClone volumes residing in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flexclone-volume-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains physical size used by all FlexClone volumes in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-flexclone-volume-data-reduction-storage-efficiency-ratio>  =>   B<string, optional>

=begin html

<br>Snapshot and FlexClone volume storage efficiency ratio of the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used by all Volume Snapshots residing in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains physical size used by all Volume Snapshots residing in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-total-cumulated-info

=begin html

cumulated storage efficiency information from the given aggregates.

=end html



B<Fields>

=over 2

=item * I<total-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used in the given aggregates. This includes volumes, clones and Snapshot copies in the given aggregates. The logical size is computed based on physical usage and savings obatained in the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains the physical size used by the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-storage-efficiency-ratio>  =>   B<string, optional>

=begin html

<br>Total storage efficiency ratio of the given aggregates. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-efficiency-volume-info

=begin html

Aggregated information of storage efficiency achieved at the volume level using techniques like deduplication, compression, zero detection and FlexClones for files or LUNs.

=end html



B<Fields>

=over 2

=item * I<volume-compression-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space that is saved by compressing blocks by all volumes in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-data-reduction-storage-efficiency-ratio>  =>   B<string, optional>

=begin html

<br>Storage efficiency ratio of all the volumes in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-efficiency-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space that is saved by deduplication and FlexClone for files or LUNs by all volumes in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-logical-used>  =>   B<integer, optional>

=begin html

<br>This contains logical size used by all the volumes in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-physical-used>  =>   B<integer, optional>

=begin html

<br>This contains physical size used by all volumes in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-vbn-zero-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space that is saved by inline zero pattern detection by all the volumes in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-fs-attributes

=begin html

File system specific information about the aggregate.

=end html



B<Fields>

=over 2

=item * I<block-type>  =>   B<string, optional>

=begin html

<br>The indirect block format that the aggregate can have. The default is 64_bit. With a 64_bit block-type creation of aggregates that can be larger than 16TB is allowed. Possible values: 64_bit

=end html

=back



=over 2

=item * I<fsid>  =>   B<integer, optional>

=begin html

<br>Aggregate's File System Identifier.

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>The type of aggregate. Possible values: aggr "aggr" (for aggregates that can contain flexible volumes)

=end html

=back



=head2 aggr-inode-attributes

=begin html

A structure returning inode-related information for a given aggregate's Active File System (AFS).

=end html



B<Fields>

=over 2

=item * I<files-private-used>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of system (not user-visible) files (inodes) used. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<files-total>  =>   B<integer, optional>

=begin html

<br>[settable, online-only] Total user-visible file (inode) count, i.e., maximum number of user-visible files (inodes) that this referenced file system can currently hold. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<files-used>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of user-visible files (inodes) used in the referenced file system. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<inodefile-private-capacity>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of inodes that can currently be stored on disk for system (not user-visible) files. This number will dynamically increase as more system files are created.

=end html

=back



=over 2

=item * I<inodefile-public-capacity>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of inodes that can currently be stored on disk for user-visible files. This number will dynamically increase as more user-visible files are created.

=end html

=back



=over 2

=item * I<inofile-version>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The inofile-version of the aggregate. If the referenced aggregate is restricted or offline, then a value of 0 is returned.

=end html

=back



=over 2

=item * I<maxfiles-available>  =>   B<integer, optional>

=begin html

<br>[not settable, always] The count of the maximum number of user-visible files currently allowable on the referenced file system.

=end html

=back



=over 2

=item * I<maxfiles-possible>  =>   B<integer, optional>

=begin html

<br>[not settable, always] The largest value to which the maxfiles-available parameter can be increased by reconfiguration, on the referenced file system.

=end html

=back



=over 2

=item * I<maxfiles-used>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The number of user-visible files currently in use on the referenced file system.

=end html

=back



=over 2

=item * I<percent-inode-used-capacity>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The percentage of disk space currently in use based on user-visible file (inode) count on the referenced file system.

=end html

=back



=head2 aggr-object-store-config-info

=begin html

Object Store Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<access-key>  =>   B<string, optional>

=begin html

<br>Access key Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace to use in order to reach the object store. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<license-used-percent>  =>   B<integer, optional>

=begin html

<br>Percentage of the object store's total licensed capacity used by this config. This field is not returned for ONTAP Cloud. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-name>  =>   B<string, optional>

=begin html

<br>Name for the object store configuration to be created. The name can contain letters, numbers, and the underscore character (_), but the first character must be a letter or an underscore. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<object-store-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the object store configuration Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>Port number of the object store Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<provider-type>  =>   B<string, optional>

=begin html

<br>Type of object store provider. Allowed values are: <ul> <li> 'AWS_S3' - AWS S3 <li> 'SGWS' - StorageGRID Webscale </ul> Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<s3-name>  =>   B<string, optional>

=begin html

<br>Data bucket/container name used in S3 requests Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<server>  =>   B<string, optional>

=begin html

<br>Fully qualified domain name of the object store Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<ssl-enabled>  =>   B<boolean, optional>

=begin html

<br>SSL/HTTPS enabled or not. The default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<used-space>  =>   B<integer, optional>

=begin html

<br>Capacity used in the object store by this config. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-option-info

=begin html

Option key and value. The possible values are described in the "aggr-set-option" API below.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Option key.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Option value.

=end html

=back



=head2 aggr-ownership-attributes

=begin html

Ownership information about the aggregate.

=end html



B<Fields>

=over 2

=item * I<cluster>  =>   B<string, optional>

=begin html

<br>Name of the cluster which has the node that owns this aggregate.

=end html

=back



=over 2

=item * I<dr-home-id>  =>   B<integer, optional>

=begin html

<br>NVRAM ID of the DR (disaster recovery) node to which this aggregate's disks have been administratively assigned. This information is derived from the sanown information for an aggregate's disks. See 'disk-sanown-detail-info'

=end html

=back



=over 2

=item * I<dr-home-name>  =>   B<string, optional>

=begin html

<br>Name of the DR node to which this aggregate's disks have been administratively assigned.

=end html

=back



=over 2

=item * I<home-id>  =>   B<integer, optional>

=begin html

<br>NVRAM ID of the node to which this aggregate's disks have been administratively assigned. This information is derived from the sanown information for an aggregate's disks. See 'disk-sanown-detail-info'

=end html

=back



=over 2

=item * I<home-name>  =>   B<string, optional>

=begin html

<br>Name of the node to which this aggregate's disks have been administratively assigned.

=end html

=back



=over 2

=item * I<owner-id>  =>   B<integer, optional>

=begin html

<br>NVRAM ID of node to which the aggregate ownership has been assigned. Normally, home-id matches owner-id. But these may be changed by SFO takeover to match the takeover node, and restored by SFO giveback to match home-id. CFO takeover and giveback do not affect owner-id.

=end html

=back



=over 2

=item * I<owner-name>  =>   B<string, optional>

=begin html

<br>Name of node to which the aggregate ownership has been assigned. Normally, home-name matches owner-name. But these may be changed by SFO takeover to match the takeover node, and restored by SFO giveback to match home-name. CFO takeover and giveback do not affect owner-name.

=end html

=back



=head2 aggr-performance-attributes

=begin html

Performance specific attributes of the aggregate

=end html



B<Fields>

=over 2

=item * I<free-space-realloc>  =>   B<string, optional>

=begin html

<br>Returns the free space reallocation state of the aggregate. Possible values : "on", "off", "no_redirect" <ul> <li> "on" : Free space reallocation enabled with automatically starting the redirect scanner <li> "off" : Free space reallocation disabled <li> "no_redirect" : Free space reallocation enabled without running the redirect scanner </ul> The default value is "off"

=end html

=back



=over 2

=item * I<max-write-alloc-blocks>  =>   B<integer, optional>

=begin html

<br>The maximum number of blocks used for write allocation. Some sequential read workloads may benefit from increasing this value. Default value is 0 which uses the controller-wide default value of 64. The default is optimal for most users. The controller-wide default can be adjusted with the bootarg "wafl-max-write-alloc-blocks"

=end html

=back



=over 2

=item * I<single-instance-data-logging>  =>   B<string, optional>

=begin html

<br>Indicates if Single Instance Data Logging is enabled on the aggregate. This feature is supported only on Cloud ONTAP. Possible values : "on", "off" <ul> <li> "on" : Single Instance Data Logging enabled <li> "off" : Single Instance Data Logging disabled </ul> The default value is "off"

=end html

=back



=head2 aggr-plex-info

=begin html

Information about the Plex

=end html



B<Fields>

=over 2

=item * I<aggr-raidgroup-list>  =>   B<L<"aggr-raidgroup-info">[], optional>

=begin html

<br>Information about the RAID Groups

=end html

=back



=over 2

=item * I<plex-is-online>  =>   B<boolean, optional>

=begin html

<br>True if plex is online. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<plex-is-resyncing>  =>   B<boolean, optional>

=begin html

<br>True if plex is resyncing. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<plex-name>  =>   B<string, optional>

=begin html

<br>Name of the plex. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<plex-pool>  =>   B<integer, optional>

=begin html

<br>Syncmirror Pool associated with the plex. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<plex-resync-level>  =>   B<integer, optional>

=begin html

<br>If plex-is-resyncing is true, this field indicates the resync level of the plex. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<plex-resync-pct-with-precision>  =>   B<string, optional>

=begin html

<br>This field indicates percentage of resync that has completed, rounded down to two decimal places. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<plex-resync-percent>  =>   B<integer, optional>

=begin html

<br>This field indicates the percentage of resync that has completed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<plex-status>  =>   B<string, optional>

=begin html

<br>Status of the plex. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-raid-attributes

=begin html

RAID specific information of the aggregate

=end html



B<Fields>

=over 2

=item * I<aggregate-type>  =>   B<string, optional>

=begin html

<br>Type of aggregate. The possible values: <ul> <li> "hdd" - aggregate consists of only HDDs, <li> "hybrid" - aggregate consists of both HDDs and SSDs, <li> "lun" - aggregate consists of only array LUNs, <li> "ssd" - aggregate consists of only SSDs, <li> "vmdisk" - aggregate consists of only VMDISKs. </ul>

=end html

=back



=over 2

=item * I<cache-raid-group-size>  =>   B<integer, optional>

=begin html

<br>Current maximum cache RAID group size of hybrid aggregate. RAID group size is the maximum number of disks that can be added to a RAID group. This information will only be returned for a hybrid aggregate i.e. whose "is-hybrid" field is set to true.

=end html

=back



=over 2

=item * I<checksum-status>  =>   B<string, optional>

=begin html

<br>Checksum status. Possible values: "active", "initializing", "none", "off", "reinitialized", "reinitializing", "reverting", "unknown", "upgrading_phase1", "upgrading_phase2" This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<checksum-style>  =>   B<string, optional>

=begin html

<br>Checksum style. The possible values: <ul> <li> "advanced_zoned" - advanced_zoned checksum (azcs), <li> "block" - block, <li> "mixed" - mixed, <li> "none" - none, <li> "unknown" - unknown <li> "wafl" - wafl, <li> "zoned" - zoned (this value is no longer supported). </ul>

=end html

=back



=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>Number of disks in the aggregate.

=end html

=back



=over 2

=item * I<encryption-key-id>  =>   B<string, optional>

=begin html

<br>Supplies the 64-byte encryption key ID associated with the encrypted aggregates, for example 40004FE3000000000303000000000000436F5DB53445FD603FB5A8A64937AA7B

=end html

=back



=over 2

=item * I<ha-policy>  =>   B<string, optional>

=begin html

<br>Aggregate's HA policy. Possible return values: "cfo", "sfo", "none"

=end html

=back



=over 2

=item * I<has-local-root>  =>   B<boolean, optional>

=begin html

<br>Whether the aggregate contains the local root volume. This information will not be returned for a striped aggregate. Default value is false.

=end html

=back



=over 2

=item * I<has-partner-root>  =>   B<boolean, optional>

=begin html

<br>Whether the aggregate contains the partner's root volume. This information will not be returned for a striped aggregate. Default value is false.

=end html

=back



=over 2

=item * I<is-checksum-enabled>  =>   B<boolean, optional>

=begin html

<br>Is checksumming enabled for the aggregate? Default value is false.

=end html

=back



=over 2

=item * I<is-composite>  =>   B<boolean, optional>

=begin html

<br>If true, aggregate currently contains two tiers of storage.

=end html

=back



=over 2

=item * I<is-encrypted>  =>   B<boolean, optional>

=begin html

<br>If true, returns only encrypted aggregates.

=end html

=back



=over 2

=item * I<is-hybrid>  =>   B<boolean, optional>

=begin html

<br>If true, aggregate currently contains both SSD and non-SSD RAID groups.

=end html

=back



=over 2

=item * I<is-hybrid-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, aggregate is eligible to contain both SSD and non-SSD RAID groups.

=end html

=back



=over 2

=item * I<is-inconsistent>  =>   B<boolean, optional>

=begin html

<br>Whether or not the aggregate is inconsistent. Default value is false.

=end html

=back



=over 2

=item * I<is-mirrored>  =>   B<boolean, optional>

=begin html

<br>If true, the aggregate is mirrored. Default value is false.

=end html

=back



=over 2

=item * I<is-root-aggregate>  =>   B<boolean, optional>

=begin html

<br>Whether this is a root aggregate. Default value is false. This differs from has-local-root and has-partner-root by evaluating true when the aggregate may contain a root volume for any node. The has-local-root and has-partner-root fields only evaluate true when the aggregate contains the active root for the specified node. The is-root-aggregate field will still evaluate true for an offline root aggregate. The has-local-root and has-partner-root fields will evaluate false, since the aggregate has no mounted filesystem.

=end html

=back



=over 2

=item * I<mirror-status>  =>   B<string, optional>

=begin html

<br>Aggregate's mirror status. Possible values: "invalid", "uninitialized", "needs CP count check", "CP count check in progress", "unmirrored", "mirrored", "mirror degraded, "mirror resynchronizing", "failed", "limbo" and <unknown mirror state>. This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<mount-state>  =>   B<string, optional>

=begin html

<br>[not settable, always] This field shows the volume's mount state. Possible values: "creating", "destroying", "frozen", "inconsistent", "iron_restricted", "mounting", "online", "quiescing", "quiesced", "reverted", "unmounted", "unmounting" This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<plex-count>  =>   B<integer, optional>

=begin html

<br>Number of plexes in the aggregate. This value tells us the size of the returned "plex" array.

=end html

=back



=over 2

=item * I<plexes>  =>   B<L<"plex-attributes">[], optional>

=begin html

<br>List of plexes in the aggregate

=end html

=back



=over 2

=item * I<raid-lost-write-state>  =>   B<string, optional>

=begin html

<br>State of the RAID Lost Write feature for an aggregate. The possible values are: <ul> <li> "aborted" - The RAID Lost Write scrub is no longer running and was aborted on all RAID groups in this aggregate, possibly due to an error. </li> <li> "illegal" - The aggregate contains RAID groups with RAID Lost Write disabled and other RAID groups with RAID Lost Write enabled. This is an invalid state. </li> <li> "inoperative" - The RAID Lost Write scrub is allowed on the aggregate, but it cannot start because the system-wide RAID Lost Write option "raid.lost_write.enable" is set to "off".</li> <li> "off" - RAID Lost Write protection and scrub are disabled on this aggregate. </li> <li> "on" - The aggregate is RAID Lost Write protected and that the RAID Lost Write scrub completed successfully on all RAID groups in this aggregate. </li> <li> "partial" - The RAID Lost Write scrub completed successfully on some of the RAID groups in this aggregate, but was aborted on at least one of the RAID groups. </li> <li> "unknown" - The RAID Lost Write scrub status could not be determined. </li> <li> "upgrade_partial" - The RAID Lost Write scrub is still in progress on some of the RAID groups in this aggregate and was aborted on at least one of the RAID groups. </li> <li> "upgrading" - The RAID Lost Write scrub is still not completed or not yet started on at least one of the RAID groups in this aggregate. </li> </ul>

=end html

=back



=over 2

=item * I<raid-size>  =>   B<integer, optional>

=begin html

<br>Current RAID group size. This information will not be returned for a striped aggregate.

=end html

=back



=over 2

=item * I<raid-status>  =>   B<string, optional>

=begin html

<br>RAID status. Possible values: "copying", "degraded", "foreign", "growing", "hybrid", "hybrid_enabled", "initializing", "invalid", "ironing", "mirror degraded", "mixed_raid_type", "mirrored", "needs check", "normal", "noparity", "out-of-date", "parity uninit'd", "partial", "raid0", "raid4", "raid_dp", "raid_tec", "reconstruct", "resyncing", "verifying". These values may appear by themselves or in combination separated by commas (e.g., "mixed_raid_type, hybrid, normal"). For details on raid-type, refer description of element 'raid-type' below

=end html

=back



=over 2

=item * I<raid-type>  =>   B<string, optional>

=begin html

<br>Possible values: <ul> <li> "raid0" - All the raid groups in the aggregate are of type raid0,</li> <li> "raid4" - All the raid groups in the aggregate are of type raid4,</li> <li> "raid_dp" - All the raid groups in the aggregate are of type raid_dp,</li> <li> "raid_tec" - All the raid groups in the aggregate are of type raid_tec,</li> <li> "mixed_raid_type" - This aggregate contains RAID groups of different RAID types (raid0, raid4, raid_dp, raid_tec).</li> </ul>

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>Aggregate State Possible values: <ul> <li> "creating" , <li> "destroying" , <li> "failed" , <li> "frozen" , <li> "inconsistent" , <li> "iron_restricted" , <li> "mounting" , <li> "online" , <li> "offline" , <li> "partial" , <li> "quiesced" , <li> "quiescing" , <li> "restricted" , <li> "reverted" , <li> "unknown" , <li> "unmounted" , <li> "unmounting" , <li> "relocating" </ul>

=end html

=back



=over 2

=item * I<uses-shared-disks>  =>   B<boolean, optional>

=begin html

<br>If true, aggregate is using shared disks.

=end html

=back



=head2 aggr-raidgroup-entity-info

=begin html

Information about the individual RAID Groups

=end html



B<Fields>

=over 2

=item * I<is-rg-recomputing-parity>  =>   B<boolean, optional>

=begin html

<br>True if the RAID Group is recomputing parity. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-rg-reconstructing>  =>   B<boolean, optional>

=begin html

<br>True if the RAID Group is reconstructing. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-scrub-active>  =>   B<boolean, optional>

=begin html

<br>This field indicates if scrub is currently active. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<raidgroup>  =>   B<string, optional>

=begin html

<br>Name of the Raid Group. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rg-cksumstyle>  =>   B<checksum-style, optional>

=begin html

<br>Checksum Style of RAID Group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rg-raidtype>  =>   B<raid-type, optional>

=begin html

<br>RAID Type of RAID Group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rg-recons-percent>  =>   B<integer, optional>

=begin html

<br>This field indicates the percentage of reconstruction that has completed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rg-reparity-percent>  =>   B<integer, optional>

=begin html

<br>This field indicates the percentage of parity recomputation that has completed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rg-status>  =>   B<string, optional>

=begin html

<br>Status of the RAID Group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scrub-percent-complete>  =>   B<integer, optional>

=begin html

<br>This field indicates the percentage of scrubbing that has completed. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-raidgroup-info

=begin html

Information about the RAID Groups

=end html



B<Fields>

=over 2

=item * I<aggr-disk-list>  =>   B<L<"aggr-disk-info">[], optional>

=begin html

<br>Information about the disks

=end html

=back



=over 2

=item * I<aggr-raidgroup-entity-list>  =>   B<L<"aggr-raidgroup-entity-info">[], optional>

=begin html

<br>Information about the individual RAID Groups

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string, optional>

=begin html

<br>Name of the Storage Pool. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-relocation-info

=begin html

Aggregate Information When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Aggregate Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination>  =>   B<string, optional>

=begin html

<br>Destination for Relocation Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relocation-status>  =>   B<string, optional>

=begin html

<br>Aggregates Relocation Status Attributes: non-creatable, non-modifiable Possible values include: <ul> <li>Done</li> <li>Failed</li> <li>In progress</li> <li>Not attempted yet</li> <li>Failed: Migration of the aggregate failed</li> <li>Failed: Node is being shut down</li> <li>Failed: Aggregate does not have SFO HA policy</li> <li>Failed: Aggregate is in failed or limbo state.</li> <li>Failed to offline the aggregate</li> <li>Failed: Aggregate is being given back or relocated</li> <li>Failed: Operation was vetoed</li> <li>No aggregates to relocate</li> <li>Performing relocation veto checks</li> <li>check EMS logs</li> <li>Failed: Node cannot communicate with the destination node</li> <li>Failed: Destination node did not online the aggregate on time</li> <li>Failed: Destination node failed to online the aggregate. Check EMS logs on destination node</li> <li>Failed: Destination cannot receive the aggregate</li> <li>Failed: Aggregate is restricted</li> <li>Failed: Aggregate does not have disks</li> <li>Operation was aborted</li> <li>Failed: Aggregate is foreign</li> <li>Failed: Aggregate is offline</li> <li>Failed: Mirrored aggregate does not have both plexes online</li> <li>Aborted. Failed to disable background disk firmware updates on the source node.</li> <li>Aborted. Failed to disable background disk firmware updates on the destination node.</li> <li>Deferred. Background disk firmware update is in progress on source node.</li> <li>Deferred. Background disk firmware update is in progress on destination node.</li> <li>Failed. Migration of a non-SSD aggregate to an All-Flash Optimized destination node is not allowed.</li> </ul>

=end html

=back



=over 2

=item * I<source-node>  =>   B<string, optional>

=begin html

<br>Name of the source node in which aggregate resides Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 aggr-resync-options-info

=begin html

Aggregate resynchronization options info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<max-concurrent-resyncs-allowed>  =>   B<integer, optional>

=begin html

<br>The number of aggregates, owned by the specified node, that are allowed to resync at a time Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of the node for which the resynchronization option is defined Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 aggr-snaplock-attributes

=begin html

Snaplock specific information of the aggregate

=end html



B<Fields>

=over 2

=item * I<is-snaplock>  =>   B<boolean, optional>

=begin html

<br>Whether or not it's a SnapLock aggregate.

=end html

=back



=over 2

=item * I<snaplock-type>  =>   B<string, optional>

=begin html

<br>The type of the snaplock aggregate. Possible values - "compliance" or "enterprise" or "non-snaplock"

=end html

=back



=head2 aggr-snapmirror-attributes

=begin html

SnapMirror specific information of the aggregate

=end html



B<Fields>

=over 2

=item * I<dp-snapmirror-destinations>  =>   B<integer, optional>

=begin html

<br>When present, this field indicates the number of data protection (dp) snapmirror destination volumes.

=end html

=back



=over 2

=item * I<ls-snapmirror-destinations>  =>   B<integer, optional>

=begin html

<br>When present, this field indicates the number of load sharing (ls) snapmirror destination volumes.

=end html

=back



=over 2

=item * I<mv-snapmirror-destinations>  =>   B<integer, optional>

=begin html

<br>When present, this field indicates the number of move snapmirror destination volumes that are created for volume move operations.

=end html

=back



=head2 aggr-snapshot-attributes

=begin html

A structure returning consolidated size-related information for all snapshots of the given aggregate.

=end html



B<Fields>

=over 2

=item * I<files-total>  =>   B<integer, optional>

=begin html

<br>[settable, online-only] Total file (inode) count, i.e., current maximum number of files (inodes) that this referenced file system can currently hold. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<files-used>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of files (inodes) used in the referenced file system. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<inofile-version>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The inofile-version on the referenced file system. A value of 0 is returned if the referenced file system is restricted or offline.

=end html

=back



=over 2

=item * I<is-snapshot-auto-create-enabled>  =>   B<boolean, optional>

=begin html

<br>This option determines if auto snapshot is enabled on the aggregate. Default value is true.

=end html

=back



=over 2

=item * I<is-snapshot-auto-delete-enabled>  =>   B<boolean, optional>

=begin html

<br>This option determines if the snapshot auto delete is currently enabled for the aggregate. Default value is true.

=end html

=back



=over 2

=item * I<maxfiles-available>  =>   B<integer, optional>

=begin html

<br>[not settable, always] The count of the maximum number of files allowable on the referenced file system.

=end html

=back



=over 2

=item * I<maxfiles-possible>  =>   B<integer, optional>

=begin html

<br>[not settable, always] The largest value to which the maxfiles-available parameter can be increased by reconfiguration, on the referenced file system.

=end html

=back



=over 2

=item * I<maxfiles-used>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The count of the number of files currently in use on the referenced file system.

=end html

=back



=over 2

=item * I<percent-inode-used-capacity>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The percentage of disk space currently in use based on file (inode) count on the referenced file system.

=end html

=back



=over 2

=item * I<percent-used-capacity>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The percentage of disk space currently in use on the referenced file system.

=end html

=back



=over 2

=item * I<size-available>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of bytes still available in the referenced file system. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<size-total>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Total size (in bytes) of the referenced file system. If the referenced file system is restricted or offline, a value 0 is returned.

=end html

=back



=over 2

=item * I<size-used>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of bytes used in the referenced file system. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<snapshot-reserve-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of aggregate disk space that has been set aside as reserve for snapshot usage. Default value is 0.

=end html

=back



=head2 aggr-space-attributes

=begin html

A structure returning space-related information for a given aggregate's Active File System (AFS).

=end html



B<Fields>

=over 2

=item * I<aggregate-metadata>  =>   B<integer, optional>

=begin html

<br>This field is deprecated in Data ONTAP 8.3 and later. Use the aggregate-metadata field of aggr-space-get-iter instead. This field always returns 0. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<capacity-tier-used>  =>   B<integer, optional>

=begin html

<br>This field represents total capacity tier physical used space in bytes in a composite aggregate. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<data-compacted-count>  =>   B<integer, optional>

=begin html

<br>The total physical disk footprint of the compacted data blocks in the referenced file system. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<data-compaction-space-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space saved due to Data Compaction in the referenced file system. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<data-compaction-space-saved-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of the used space in the referenced file system that has been saved by Data Compaction. Range : [0..100]

=end html

=back



=over 2

=item * I<hybrid-cache-size-total>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Total cache size (in bytes) in a hybrid aggregate. If the referenced aggregate is restricted or offline, or if it is not a hybrid aggregate, a value of 0 is returned.

=end html

=back



=over 2

=item * I<percent-used-capacity>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The percentage of disk space currently in use on the referenced file system.

=end html

=back



=over 2

=item * I<physical-used>  =>   B<integer, optional>

=begin html

<br>This field represents physical used space in bytes. This differs from 'total-used' space by the space that is guaranteed for future writes. The value includes blocks in use by Snapshot copies. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<physical-used-percent>  =>   B<integer, optional>

=begin html

<br>This field represents physical used space in percent. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<sis-shared-count>  =>   B<integer, optional>

=begin html

<br>The total physical disk footprint of the shared data blocks in the referenced file system achived by data compation and cross-volume inline deduplication. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<sis-space-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space saved due to Data Compaction and cross-volume inline deduplication in the referenced file system. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<sis-space-saved-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of the used space in the referenced file system that has been saved by Data Compaction and cross-volume inline deduplication. Range : [0..100]

=end html

=back



=over 2

=item * I<size-available>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of bytes still available in the referenced file system. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<size-total>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Total size (in bytes) of the referenced file system . If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<size-used>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] Number of bytes used in the referenced file system. If the referenced file system is restricted or offline, a value of 0 is returned.

=end html

=back



=over 2

=item * I<total-reserved-space>  =>   B<integer, optional>

=begin html

<br>[not settable, online-only] The total disk space in bytes that is reserved on the referenced file system. The reserved space is already counted in the used space, so this element can be used to see what portion of the used space represents space reserved for future use.

=end html

=back



=over 2

=item * I<used-including-snapshot-reserve>  =>   B<integer, optional>

=begin html

<br>This field is deprecated in Data ONTAP 8.3 and later. Use the used-including-snapshot-reserve field of aggr-space-get-iter instead. This field always returns 0. Range : [0..2^64-1]

=end html

=back



=over 2

=item * I<volume-footprints>  =>   B<integer, optional>

=begin html

<br>This field is deprecated in Data ONTAP 8.3 and later. Use the volume-footprints field of aggr-space-get-iter instead. This field always returns 0. Range : [0..2^64-1]

=end html

=back



=head2 aggr-spare-disk-info

=begin html

Spare disk Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<checksum-style>  =>   B<string, optional>

=begin html

<br>An indication of the checksum types that this disk is capable of supporting. Each possible return value represents one or more checksum types. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "advanced_zoned" - Supports advanced zoned checksum, <li> "block" - Supports block checksum, <li> "none" - No checksum support, <li> "zoned_advanced_zoned" - Supports zoned and advanced zoned checksums </ul>

=end html

=back



=over 2

=item * I<disk>  =>   B<string, optional>

=begin html

<br>Name of the spare disk. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-class>  =>   B<string, optional>

=begin html

<br>Disk class. Disks are grouped into classes based on their performance characteristics. Disks with the same 'disk-class' value are compatible for use in the same aggregate. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown disk class., <li> "capacity" - Capacity-oriented, near-line disk types. Includes disk types BSAS, FSAS and ATA., <li> "performance" - Performance-oriented, enterprise class disk types. Includes disk types SAS and FCAL., <li> "archive" - Archive class SATA disks in multi-disk carrier storage shelves. Includes disk type MSATA., <li> "solid_state" - Solid-state drives. Includes disk type SSD., <li> "array" - Logical storage devices backed by storage arrays and used by Data ONTAP as disks. Includes disk type LUN., <li> "virtual" - Virtual disks that are formatted and managed by the hypervisor. Includes disk type VMDISK. </ul>

=end html

=back



=over 2

=item * I<disk-rpm>  =>   B<integer, optional>

=begin html

<br>Rotational speed in revolutions per minute. Possible values are: 5400, 7200, 10000, and 15000. Omitted if information is unavailable, or if the rpm does not apply to this 'disk-type'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Disk interface type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ata" - Advanced Technology Attachment, <li> "bsas" - Bridged Serial Attached SCSI (bridged from SATA), <li> "fcal" - Fibre Channel Arbitrated Loop, <li> "fsas" - High-Capacity (Fat) Serial Attached SCSI, <li> "lun" - SCSI Logical Unit Number (e.g. Array), <li> "sas" - Serial Attached SCSI, <li> "msata" - Multiple bridged SATA disks in a single carrier, <li> "ssd" - Solid-State Disk, <li> "vmdisk" - Hypervisor Virtual Disk, <li> "unknown" - unknown, <li> "ssd_nvm" - Non-Volatile Memory Express Solid-State Disk </ul>

=end html

=back



=over 2

=item * I<effective-disk-rpm>  =>   B<integer, optional>

=begin html

<br>Effective rotational speed in revolutions per minute. Disks can report different actual 'rpm', but have the same 'effective-disk-rpm'. Disks with the same 'effective-disk-rpm' are compatible for use within the same aggregate. Omitted if information is unavailable, or excluded by 'desired-attributes'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<effective-disk-type>  =>   B<string, optional>

=begin html

<br>Effective disk interface type. Disk can report different physical 'disk-type', but the same 'effective-disk-type'. Disk with the same 'effective-disk-type' are compatible for use within the same aggregate. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ata" - Advanced Technology Attachment, <li> "bsas" - Bridged Serial Attached SCSI (bridged from SATA), <li> "fcal" - Fibre Channel Arbitrated Loop, <li> "fsas" - High-Capacity (Fat) Serial Attached SCSI, <li> "lun" - SCSI Logical Unit Number (e.g. Array), <li> "sas" - Serial Attached SCSI, <li> "msata" - Multiple bridged SATA disks in a single carrier, <li> "ssd" - Solid-State Disk, <li> "vmdisk" - Hypervisor Virtual Disk, <li> "unknown" - unknown, <li> "ssd_nvm" - Non-Volatile Memory Express Solid-State Disk </ul>

=end html

=back



=over 2

=item * I<is-disk-left-behind>  =>   B<boolean, optional>

=begin html

<br>True if disk is was left behind during giveback/switchback. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-disk-shared>  =>   B<boolean, optional>

=begin html

<br>True if disk is a shared disk. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-disk-zeroed>  =>   B<boolean, optional>

=begin html

<br>True if disk is pre-zeroed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-disk-zeroing>  =>   B<boolean, optional>

=begin html

<br>True if disk is in process of being zeroed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sparecore>  =>   B<boolean, optional>

=begin html

<br>True if disk is a sparecore disk. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-usable-data-size>  =>   B<integer, optional>

=begin html

<br>Usable spare capacity in bytes present in the data partition of this disk. This field is omitted <ul> <li> If this disk is not a partitioned disk. <li> If none of the data partitions are assigned to the current node. <li> If none of the data partitions are spare. </ul> If the disk is a root-data1-data2 partitioned disk, both data partitions are assigned to the current node and are spare then this field is sum of usable capacity from both the data partitions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-usable-data-size-blks>  =>   B<integer, optional>

=begin html

<br>Usable spare capacity in number of 4K blocks present in the data partition of this disk. This field is omitted <ul> <li> If this disk is not a partitioned disk. <li> If none of the data partitions are assigned to the current node. <li> If none of the data partitions are spare. </ul> If the disk is a root-data1-data2 partitioned disk, both data partitions are assigned to the current node and are spare then this field is sum of usable capacity from both the data partitions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-usable-data1-size>  =>   B<integer, optional>

=begin html

<br>Usable spare capacity in bytes present in the first data partition of this disk. This field is omitted <ul> <li> If this disk is not a root-data1-data2 partitioned disk. <li> If first data partition is not assigned to the current node. <li> If first data partition is not spare. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-usable-data1-size-blks>  =>   B<integer, optional>

=begin html

<br>Usable spare capacity in number of 4K blocks present in the first data partition of this disk. This field is omitted <ul> <li> If this disk is not a root-data1-data2 partitioned disk. <li> If first data partition is not assigned to the current node. <li> If first data partition is not spare. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-usable-data2-size>  =>   B<integer, optional>

=begin html

<br>Usable spare capacity in bytes present in the second data partition of this disk. This field is omitted <ul> <li> If this disk is not a root-data1-data2 partitioned disk. <li> If second data partition is not assigned to the current node. <li> If second data partition is not spare. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-usable-data2-size-blks>  =>   B<integer, optional>

=begin html

<br>Usable spare capacity in number of 4K blocks present in the second data partition of this disk. This field is omitted <ul> <li> If this disk is not a root-data1-data2 partitioned disk. <li> If second data partition is not assigned to the current node. <li> If second data partition is not spare. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-usable-root-size>  =>   B<integer, optional>

=begin html

<br>Usable spare capacity in bytes present in the root partition of this disk. This field is omitted <ul> <li> If this disk is not a partitioned disk. <li> If root partition is not assigned to the current node <li> If root partition is not spare </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-usable-root-size-blks>  =>   B<integer, optional>

=begin html

<br>Usable spare capacity in number of 4K blocks present in the root partition of this disk. This field is omitted <ul> <li> If this disk is not a partitioned disk. <li> If root partition is not assigned to the current node <li> If root partition is not spare </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<original-owner>  =>   B<string, optional>

=begin html

<br>Node for which the spare information is returned. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<standard-disk-type>  =>   B<standarddisktype, optional>

=begin html

<br>Industry standard disk type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "sata" - SATA, Serial Advanced Technology Attachment, <li> "fc" - FC, Fibre Channel, <li> "nl_sas" - NL-SAS, Near Line SAS, <li> "lun" - LUN, SCSI Logical Unit Number (e.g. Array), <li> "sas" - SAS, Serial Attached SCSI, <li> "scsi" - SCSI, Small Computer System Interface, <li> "ssd" - SSD, Solid-State Disk, <li> "vm_disk" - VM Disk, Hypervisor Virtual Disk, <li> "unknown" - Unknown Disk Type, <li> "nvme_ssd" - NVMe SSD, Non-Volatile Memory Express Solid-State Disk </ul>

=end html

=back



=over 2

=item * I<syncmirror-pool>  =>   B<string, optional>

=begin html

<br>Syncmirror Pool to which disk is assigned Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-size>  =>   B<integer, optional>

=begin html

<br>Total raw capacity of this disk in bytes Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<usable-size>  =>   B<integer, optional>

=begin html

<br>Total usable capacity of this disk in bytes Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<usable-size-blks>  =>   B<integer, optional>

=begin html

<br>Total usable capacity of this disk in number of 4K blocks Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<zeroing-percent>  =>   B<integer, optional>

=begin html

<br>If 'is-disk-zeroing' is true, this field indicates the percentage of zeroing that has completed. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-start-attributes

=begin html

Information returned when upgrade-64bit-mode in aggr-add API is "grow_all", "grow_none", or "grow_reserved".

=end html



B<Fields>

=over 2

=item * I<min-space-for-upgrade>  =>   B<integer, optional>

=begin html

<br>The minimum additional disk space (in bytes) required to trigger 64-bit upgrade. This field is present when the specified disks do not have sufficient space to upgrade the aggregate and its contained flexible volumes to 64-bit. Range: [0..2^64-1].

=end html

=back



=over 2

=item * I<start-last-errno>  =>   B<integer, optional>

=begin html

<br>The error code of the last attempt to start 64-bit upgrade on the specific aggregate. This field is present only if a previous 64-bit upgrade failed. Possible values include: EAGGR_64BIT_UPGRADE_ENOSPC EVOLUME_64BIT_UPGRADE_VVOL_ENOSPC EVOLUME_64BIT_UPGRADE_VVOL_ENOSPC_OVERWRITE EVOLUME_64BIT_UPGRADE_KIREETI_NOT_AVAIL EVOLUME_64BIT_UPGRADE_PREQUAL_NOT_AVAIL

=end html

=back



=head2 aggr-status-attributes

=begin html

Status information related to 64-bit upgrade. This information includes whether the 64-bit upgrade is in progress.

=end html



B<Fields>

=over 2

=item * I<is-64-bit-upgrade-in-progress>  =>   B<boolean, optional>

=begin html

<br>True if the 64-bit upgrade is in progress.

=end html

=back



=head2 aggr-status-info

=begin html

Aggregate Status & Topology Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggr-cksumstyle>  =>   B<string, optional>

=begin html

<br>Checksum Style of Aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-plex-list>  =>   B<L<"aggr-plex-info">[], optional>

=begin html

<br>Information about the Plex

=end html

=back



=over 2

=item * I<aggr-raid-status>  =>   B<string, optional>

=begin html

<br>RAID Status of Aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-raid-type>  =>   B<string, optional>

=begin html

<br>RAID Type of Aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-wafl-status>  =>   B<string, optional>

=begin html

<br>WAFL Status of Aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate-uuid>  =>   B<string, optional>

=begin html

<br>Aggregate's Universal Unique IDentifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-mirror-verifying>  =>   B<boolean, optional>

=begin html

<br>True if mirror verification is in progress Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mirror-verification-pct-with-precision>  =>   B<string, optional>

=begin html

<br>This field indicates the percentage of mirror verification that has completed, rounded down to two decimal places. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mirror-verification-percent>  =>   B<integer, optional>

=begin html

<br>This field indicates the percentage of mirror verification that has completed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node hosting the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aggr-striping-attributes

=begin html

Striping specific information of a striped aggregate This information will not be returned for the not-striped aggregate.

=end html



B<Fields>

=over 2

=item * I<member-count>  =>   B<integer, optional>

=begin html

<br>Number of members in a striped aggregate.

=end html

=back



=head2 aggr-volume-count-attributes

=begin html

WAFL volume count specific information of the aggregate

=end html



B<Fields>

=over 2

=item * I<flexvol-count>  =>   B<integer>

=begin html

<br>Number of volumes in the aggregate.

=end html

=back



=over 2

=item * I<flexvol-count-collective>  =>   B<integer, optional>

=begin html

<br>Number of striped volume constituents in the aggregate which also represent a collective striped volume. This field is for internal use only.

=end html

=back



=over 2

=item * I<flexvol-count-not-online>  =>   B<integer, optional>

=begin html

<br>When present, this field indicates the number of volumes that are not online (offline and restricted volumes).

=end html

=back



=over 2

=item * I<flexvol-count-quiesced>  =>   B<integer, optional>

=begin html

<br>When present, this field indicates the number of quiesced online volumes.

=end html

=back



=over 2

=item * I<flexvol-count-striped>  =>   B<integer, optional>

=begin html

<br>Number of striped volume constituents in the aggregate. These volumes are also reported in the full volume-count value. This field is for internal use only.

=end html

=back



=head2 aggr-wafliron-attributes

=begin html

WAFL-iron specific information of the aggregate

=end html



B<Fields>

=over 2

=item * I<last-start-errno>  =>   B<integer, optional>

=begin html

<br>The error code of the last attempt to start wafliron on the specific aggregate. This field is present only if 'wafliron start' was previously attempted.

=end html

=back



=over 2

=item * I<last-start-error-info>  =>   B<string, optional>

=begin html

<br>The error information of the last attempt to start wafliron on the specific aggregate. This field is present only if 'wafliron start' was previously attempted.

=end html

=back



=over 2

=item * I<scan-percentage>  =>   B<integer, optional>

=begin html

<br>When present, this field indicates the percentage of blocks that have been scanned in the specified aggregate. This field is present only when wafliron is running and its state is "starting" or "scanning".

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>When wafliron is run, it goes through different stages/states. This field indicates the current state of wafliron on the specified aggregate. <p> Possible values are: <p> "aborting" - wafliron is aborting. <p> "checking_lost_blocks" - wafliron is checking for lost blocks. <p> "checking_lost_inodes" - wafliron is checking link counts. <p> "finishing" - wafliron is cleaning up. <p> "not_running" - wafliron is not running on this aggregate. <p> "scanning" - wafliron is scanning inodes, and/or fixing file system inconsistencies. <p> "starting" - wafliron is starting, allocating, and/or in the initial mounting phase. <p> "unknown" - wafliron state could not be determined.

=end html

=back



=over 2

=item * I<summary-scan-percentage>  =>   B<integer, optional>

=begin html

<br>When present and the value is other than -1, this field indicates the percentage of summary blocks that have been scanned in the specified aggregate. This field is present only when wafliron is running and its state is "starting" or "scanning".

=end html

=back



=head2 aggregate-simulate-layout-info

=begin html

The aggregate layout returned as a result of simulating an aggregate provisioning operation.

=end html



B<Fields>

=over 2

=item * I<aggregate-capacity>  =>   B<size, optional>

=begin html

<br>Estimated usable aggregate capacity (in bytes) in case of aggregate creation or mirroring operation. Estimated increase in usable aggregate capacity (in bytes) in case of aggregate addition operation.

=end html

=back



=over 2

=item * I<checksum-types>  =>   B<string[], optional>

=begin html

<br>The checksum types of the RAID groups the disks belong to. There is a one to one correspondence with the disk names. Possible values: <ul> <li> "zoned" - (this value is no longer supported) <li> "wafl" <li> "block" <li> "advanced_zoned" </ul>

=end html

=back



=over 2

=item * I<disk-positions>  =>   B<string[], optional>

=begin html

<br>The position of disks within the RAID groups. There is a one to one correspondence with the disk names. Possible values are: <ul> <li> "shared" <li> "tparity" <li> "dparity" <li> "parity" <li> "data" </ul>

=end html

=back



=over 2

=item * I<disk-sizes>  =>   B<size[], optional>

=begin html

<br>The file system sizes of disks selected for provisioning (in bytes). There is a one to one correspondence with the disk names.

=end html

=back



=over 2

=item * I<disk-types>  =>   B<string[], optional>

=begin html

<br>The disk type of the disks selected for provisioning. There is a one to one correspondence with the disk names. Possible values: <ul> <li> "ata" <li> "bsas" <li> "fcal" <li> "lun" <li> "msata" <li> "sas" <li> "ssd" <li> "fsas" <li> "vmdisk" </ul>

=end html

=back



=over 2

=item * I<disks>  =>   B<string[], optional>

=begin html

<br>Names of disks that were returned when aggregate provisioning was simulated.

=end html

=back



=over 2

=item * I<raid-types>  =>   B<string[], optional>

=begin html

<br>The RAID types of the RAID groups the disks belong to. There is a one to one correspondence with the disk names. Possible values: <ul> <li> "raid0" <li> "raid4" <li> "raid_dp" <li> "raid_tec" </ul>

=end html

=back



=over 2

=item * I<raidgroups>  =>   B<string[], optional>

=begin html

<br>The RAID groups that the disks returned by the aggregate provisioning simulation operation belong to. There is a one to one correspondence with the disk names. These are of the form "/<aggr>/<plex>/<raidgroup>". For example, "/testAggr/plex0/rg1".

=end html

=back



=head2 autobalance-aggregate-state

=begin html

Auto Balance Aggregate state Possible values: <ul> <li> "disabled" - Auto Balance Aggregate is disabled, <li> "balanced" - Auto Balance Aggregate has determined that the aggregate is below the high-watermark. <li> "unbalanced" - Auto Balance Aggregate has detected that the aggregate is over the high-watermark but has not initiated any jobs to bring it below the high-watermark. <li> "ineligible" - Ineligible </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 checksum-style

=begin html

Checksum style of the aggregate. <p> The following are the possible values for checksum type and their meanings. <ul> <li> 'none' - The data written to the aggregate is not protected by checksum. <li> 'block' - Every block of data block has checksum written in the same block. <li> 'azcs' - Disk is divided into zones of N blocks and the checksum is written in the middle of zone. <li> 'wafl' - The checksum information is maintained in the filesystem layer. <li> 'mixed' - This means we have both 'block' and 'zone' checksum styles. <li> 'unknown' - The checksum style is unknown. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 default-raidtype-config-info

=begin html

Default RAID type for each disk size and disk type supported on this filer.

=end html



B<Fields>

=over 2

=item * I<default-raid-type>  =>   B<string, optional>

=begin html

<br>Name of the RAID type allowed on this filer. Possible values: raid0, raid4, raid_dp and raid_tec.

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Name of the Disk type present on this controller. Possible values include FCAL, ATA, LUN, SAS, SSD, BSAS, FSAS, MSATA and VMDISK.

=end html

=back



=over 2

=item * I<maximum-disk-capacity>  =>   B<size, optional>

=begin html

<br>Maximum capacity (in TiB) of the disk for which the raid types are specified. This appears only for SATA family disks of size less than or equal to 4TiB. If this field is not present in output then there is no restriction on maximum disk capacity for given disk type. This will appear for SATA family disks and when the default RAID type is raid_dp.

=end html

=back



=over 2

=item * I<minimum-disk-capacity>  =>   B<size, optional>

=begin html

<br>Minimum capacity (in TiB) of the disk for which the raid types are specified. This appears only for SATA family disks of size greater than 4TiB. If this field is not present in output then there is no restriction on minimum disk capacity for given disk type. This will appear for SATA family disks and when the default RAID type is raid_tec.

=end html

=back



=head2 disk-info

=begin html

Information for each disk in the plex.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of a member disk.

=end html

=back



=over 2

=item * I<vbn-end>  =>   B<integer, optional>

=begin html

<br>VBN end value of a disk.

=end html

=back



=over 2

=item * I<vbn-start>  =>   B<integer, optional>

=begin html

<br>VBN start value of a disk.

=end html

=back



=head2 disk-position-type

=begin html

Disk position type of the aggregate. <p> The following are the possible values for disk position type of the aggregate and their meanings. <ul> <li> 'copy' - The disk serves as the destination for sick disk copy. <li> 'data' - The disk serves as a data disk in the aggregate. <li> 'dparity' - The disk serves as a double parity disk. <li> 'tparity' - The disk serves as a triple parity disk. <li> 'orphan' - The disk is in the process of being removed from the aggregate. <li> 'parity' - The disk serves as a single parity disk. <li> 'pending' - The disk is in the process of being added to a RAID group or is in the process of being reconstructed or sick disk copy. <li> 'present' - The disk is part of a RAID group in an aggregate. <li> 'shared' - The disk is being used as a shared disk. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 min-aggr-disk-count-info

=begin html

Minimum number of disks required in an aggregate of a specific RAID type.

=end html



B<Fields>

=over 2

=item * I<minimum-disk-count>  =>   B<integer>

=begin html

<br>Minimum disk count for the aggregate. Range : [1..7] Possible values: <ul> <li>1 for raid-type raid0</li> <li>3 for raid-type raid4</li> <li>5 for raid-type raid_dp</li> <li>7 for raid-type raid_tec</li> </ul>

=end html

=back



=over 2

=item * I<raid-type>  =>   B<string>

=begin html

<br>Name of the RAID type allowed on this filer. Possible values: raid0, raid4, raid_dp, raid_tec.

=end html

=back



=head2 modify-raid-type-simulate-info

=begin html

Information returned as a result of simulating the raid type modification.

=end html



B<Fields>

=over 2

=item * I<warning-codes>  =>   B<L<"warning-code">[], optional>

=begin html

<br>Warnings from simulation of raid type modification. Possible warning codes are: <ul> <li> E_WARN_LOW_SPARE </ul>

=end html

=back



=head2 object-store-information

=begin html

Object Store info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bin-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the capacity tier bin associated with the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<license-used-percent>  =>   B<integer, optional>

=begin html

<br>Percentage of the object store's total licensed capacity used by this aggregate. This field is not returned for ONTAP Cloud. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-availability>  =>   B<string, optional>

=begin html

<br>Availability of the object store. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unavailable" - Unavailable, <li> "available" - Available </ul>

=end html

=back



=over 2

=item * I<object-store-name>  =>   B<string, optional>

=begin html

<br>Name of the object store configuration attached to the aggregate. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the object store configuration attached to the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<provider-type>  =>   B<string, optional>

=begin html

<br>Type of object store provider. Allowed values are: <ul> <li> 'AWS_S3' - AWS S3 <li> 'SGWS' - StorageGRID Webscale </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-space>  =>   B<integer, optional>

=begin html

<br>Capacity used in the object store by this aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 object-store-vol-btuuids-info

=begin html

Object Store Volume Buftree UUIDs Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bin-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the capacity tier bin associated with the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<buftree-uuid>  =>   B<string, optional>

=begin html

<br>Buftree UUID of the volume. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-name>  =>   B<string, optional>

=begin html

<br>Name of the object store configuration attached to the aggregate. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vol-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the volume. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 plex-attributes

=begin html

Information about a plex.

=end html



B<Fields>

=over 2

=item * I<is-online>  =>   B<boolean, optional>

=begin html

<br>"true" if the plex is online, "false" otherwise.

=end html

=back



=over 2

=item * I<is-resyncing>  =>   B<boolean, optional>

=begin html

<br>"true" if the plex is currently resyncing, "false" otherwise.

=end html

=back



=over 2

=item * I<plex-name>  =>   B<string, optional>

=begin html

<br>Name of the plex.

=end html

=back



=over 2

=item * I<plex-resync-pct-with-precision>  =>   B<string, optional>

=begin html

<br>If the plex is currently being resynced, then the completion percentage floored to two decimal places. (e.g. "13.12")

=end html

=back



=over 2

=item * I<plex-status>  =>   B<string, optional>

=begin html

<br>Plex status. Possible values: "normal", "failed", "empty", "invalid", "uninitialized", "failed assimilation", "limbo", "active", "inactive", "resyncing", These values may appear by themselves or in combination separated by commas (e.g., "normal,active")

=end html

=back



=over 2

=item * I<pool>  =>   B<integer, optional>

=begin html

<br>The pool to which the majority of disks in the plex belong.

=end html

=back



=over 2

=item * I<raidgroups>  =>   B<L<"raidgroup-attributes">[], optional>

=begin html

<br>List of all RAID groups in the plex.

=end html

=back



=over 2

=item * I<resync-level>  =>   B<integer, optional>

=begin html

<br>If the plex is currently being resynced, then the resync level.

=end html

=back



=over 2

=item * I<resyncing-percentage>  =>   B<integer, optional>

=begin html

<br>If the plex is currently being resynced, then the completion percentage.

=end html

=back



=head2 raid-type

=begin html

Raid type of the aggregate. <p> The following are the possible values for RAID type and their meanings. <ul> <li> 'raid_tec' - The aggregate is composed of RAID groups that can handle triple disk failures (Triple Erasure Code). <li> 'raid_dp' - The aggregate is composed of RAID groups that can handle double disk failures (double parity). <li> 'raid4' - The aggregate is composed of RAID groups that can can handle a single disk failure (single parity). <li> 'raid0' - The aggregate does not have parity protection. <li> 'mixed_raid_type' - Cache tier in the aggregate has a different RAID type from the capacity tier. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 raidgroup-attributes

=begin html

Information about a raidgroup.

=end html



B<Fields>

=over 2

=item * I<checksum-style>  =>   B<string, optional>

=begin html

<br>Checksum style for the RAID group. The possible values are: <ul> <li>"none"</li> <li>"block"</li> <li>"wafl"</li> <li>"unknown"</li> <li>"advanced_zoned"</li> </ul>

=end html

=back



=over 2

=item * I<is-cache-tier>  =>   B<boolean, optional>

=begin html

<br>"true" if the RAID group is composed of SSDs and the owning aggregate is hybrid (group is not part of usable space).

=end html

=back



=over 2

=item * I<is-recomputing-parity>  =>   B<boolean, optional>

=begin html

<br>"True" if the RAID group is currently recomputing parity.

=end html

=back



=over 2

=item * I<is-reconstructing>  =>   B<boolean, optional>

=begin html

<br>"true" if the RAID group is currently reconstructing.

=end html

=back



=over 2

=item * I<raidgroup-name>  =>   B<string, optional>

=begin html

<br>Name of the RAID group.

=end html

=back



=over 2

=item * I<recomputing-parity-percentage>  =>   B<integer, optional>

=begin html

<br>The percentage of parity recomputation completed, if is-recomputing-parity is true. Range : [0-100]

=end html

=back



=over 2

=item * I<reconstruction-percentage>  =>   B<integer, optional>

=begin html

<br>If reconstruction is going on, then the completion percentage.

=end html

=back



=head2 space-information

=begin html

Space configuration info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate for which the space usage is requested. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate-metadata>  =>   B<integer, optional>

=begin html

<br>This field represents space used by filesystem metadata of the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate-metadata-percent>  =>   B<integer, optional>

=begin html

<br>Aggregate Metadata Percent Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate-size>  =>   B<integer, optional>

=begin html

<br>This field represents the size of the aggregate in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-metadata>  =>   B<integer, optional>

=begin html

<br>This field represents the space used by metadata in the object store (in bytes). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-metadata-percent>  =>   B<integer, optional>

=begin html

<br>Metadata Percent. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-physical-used>  =>   B<integer, optional>

=begin html

<br>This field represents the total amount of space used in the object store. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-physical-used-percent>  =>   B<integer, optional>

=begin html

<br>Used Percentage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-referenced-capacity>  =>   B<integer, optional>

=begin html

<br>This field represents the space still referenced in the object store (in bytes). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-referenced-capacity-percent>  =>   B<integer, optional>

=begin html

<br>Referenced Capacity Percentage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-size>  =>   B<integer, optional>

=begin html

<br>This field represents the size of the object store. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-unreclaimed-space>  =>   B<integer, optional>

=begin html

<br>This field represents the amount of space that is no longer referenced in the object store. This space has yet to be reclaimed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-store-unreclaimed-space-percent>  =>   B<integer, optional>

=begin html

<br>Unreclaimed Space Percentage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percent-snapshot-space>  =>   B<integer, optional>

=begin html

<br>Space Reserved for Snapshot Copies Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-used>  =>   B<integer, optional>

=begin html

<br>This field represents physical used space in bytes. This differs from 'total-used' space by the space that is guaranteed for future writes. The value includes blocks in use by Snapshot copies. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-used-percent>  =>   B<integer, optional>

=begin html

<br>Physical Used Percentage Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snap-size-total>  =>   B<integer, optional>

=begin html

<br>This field represents snapshot size in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-reserve-unusable>  =>   B<integer, optional>

=begin html

<br>This field represents snapshot reserve that is not available in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-reserve-unusable-percent>  =>   B<integer, optional>

=begin html

<br>Snapshot Reserve Unusable Percent Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tier-name>  =>   B<string, optional>

=begin html

<br>This field represents the name of the performance or capacity tier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-including-snapshot-reserve>  =>   B<integer, optional>

=begin html

<br>This field represents space used by the aggregate including the aggregate's Snapshot reserve in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-including-snapshot-reserve-percent>  =>   B<integer, optional>

=begin html

<br>Total Used Percent Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-footprints>  =>   B<integer, optional>

=begin html

<br>This field represents space used by the sum of all data and metadata of all volumes in the aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-footprints-percent>  =>   B<integer, optional>

=begin html

<br>Volume Footprints Percent Attributes: non-creatable, non-modifiable

=end html

=back



=head2 striping-type

=begin html

Striping information of aggregate. Allowed values are: <ul> <li>"striped": Member of stripe. <li>"not_striped": Not member of stripe. <li>"unknown": Not known. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 time-interval

=begin html

Time interval in seconds Range : [0..2^32-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 verify-detail-info

=begin html

Information about mirror verification.

=end html



B<Fields>

=over 2

=item * I<is-suspended>  =>   B<boolean>

=begin html

<br>Is mirror verification suspended for this aggregate?

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the aggregate.

=end html

=back



=over 2

=item * I<pct-with-precision>  =>   B<string, optional>

=begin html

<br>Mirror verification percentage complete floored to two decimal place. If verification isn't active, this value won't be returned. (e.g. "13.12")

=end html

=back



=over 2

=item * I<percentage-complete>  =>   B<integer, optional>

=begin html

<br>Mirror verification percentage complete. If verification isn't active, this value won't be returned. Range: [0..100].

=end html

=back



=head2 warning-code

=begin html

Warning codes for pre-check mode.

=end html



B<Fields>

=over 2

=item * I<code>  =>   B<integer>

=begin html

<br>Warning code.

=end html

=back



=head2 antivirus-policy

=begin html

Antivirus policy name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 av-engine-option

=begin html

Antivirus engine options When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cache-size>  =>   B<integer, optional>

=begin html

<br>Max Cache Size for Scanning Files (MB) Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<decompressed-file-count-limit>  =>   B<integer, optional>

=begin html

<br>File count to decompress in archive Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<decompressed-file-size-limit>  =>   B<integer, optional>

=begin html

<br>Max size of files in archive Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<decompression-layers-limit>  =>   B<integer, optional>

=begin html

<br>Max layers to traverse in archive Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<decompression-size-factor>  =>   B<integer, optional>

=begin html

<br>Max decompression size factor of files in archive Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<group-archive-unpack>  =>   B<boolean, optional>

=begin html

<br>Scan archive file formats Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<heuristic-analysis>  =>   B<boolean, optional>

=begin html

<br>Heuristic Virus Search Analysis Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-spyware-enabled>  =>   B<boolean, optional>

=begin html

<br>Spyware enable/disable Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<macro-analysis>  =>   B<boolean, optional>

=begin html

<br>Macro Virus Search Analysis Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<mark-files-greater-than-2gb-clean>  =>   B<boolean, optional>

=begin html

<br>Mark the State of Files Greater Than 2GB Clean Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-recursion-depth>  =>   B<integer, optional>

=begin html

<br>Max recursion depth into archives Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<mime-lines-to-scan>  =>   B<integer, optional>

=begin html

<br>Max Lines to Scan to Identify MIME file Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<proxy-host>  =>   B<string, optional>

=begin html

<br>proxy server name e.g. http://proxy_server_name Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<proxy-login>  =>   B<string, optional>

=begin html

<br>proxy server login Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<proxy-password>  =>   B<string, optional>

=begin html

<br>proxy server password Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<proxy-port>  =>   B<integer, optional>

=begin html

<br>proxy server port number Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<scan-mime>  =>   B<boolean, optional>

=begin html

<br>Scan MIME-Encoded Files Attributes: non-creatable, modifiable

=end html

=back



=head2 av-event-info

=begin html

Log Entry Written by an Antivirus Agent When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<datetime>  =>   B<integer, optional>

=begin html

<br>When the event is logged. The time value is in seconds since January 1, 1970. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vendor-id>  =>   B<integer, optional>

=begin html

<br>Vendor ID Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vendor-string>  =>   B<string, optional>

=begin html

<br>Vendor String Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 protocol

=begin html

Available protocols to be scanned Possible values: <ul> <li> "cifs" , <li> "nfs3" , <li> "nfs4" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 aggregatetype

=begin html

hdd | hybrid | lun | ssd | vmdisk Possible values: <ul> <li> "hdd" - Aggregate consists of only HDDs, <li> "hybrid" - Aggregate consists of both HDDs and SSDs, <li> "lun" - Aggregate consists of array LUNs, <li> "ssd" - Aggregate consists of only SSDs, <li> "vmdisk" - Aggregate consists of only VMDISKs </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-share-name

=begin html

The name of the CIFS share. The CIFS share name is a Unicode string with the following characters being illegal: control characters from 0x00 to 0x1F, both inclusive, 0x22 (double quotes) and the characters \/[]:|<>+=;,?

=end html



B<Fields>

=over 2

=item * None

=back



=head2 export-policy-name

=begin html

The name of the export policy

=end html



B<Fields>

=over 2

=item * None

=back



=head2 job-state

=begin html

Jobs execute as self-contained state machines. They follow a series of careful steps from creation to destruction. These steps are dictated by the states that they find themselves in as well as the allowable list of states they may transition into. The state can be an indicator of whether a job is executing and if not, why that is the case. Possible values: <ul> <li> "initial" - Initializing, <li> "queued" - Queued, <li> "running" - Running, <li> "waiting" - Waiting For Another Job, <li> "pausing" - Entering Paused State, <li> "paused" - Paused, <li> "quitting" - Entering Quit State, <li> "success" - Succeeded, <li> "failure" - Failed, <li> "reschedule" - Forcing Reschedule, <li> "error" - Internal Error, <li> "quit" - Quit, <li> "dead" - Died, <li> "unknown" - Unknown, <li> "restart" - Forcing Restart, <li> "dormant" - Waiting For External Event </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 junction-path

=begin html

The Junction Path. <p> The fully-qualified pathname in the owning Vserver's namespace at which a volume is mounted. Note that this pathname may itself contain junctions, one for each volume (other than the namespace root volume) that provides storage along the pathname's length. As with all fully-qualified pathnames , this string must begin with '/'. In addition, it must not end with '/'. An Infinite Volume has the additional restriction of allowing only one element. <p> An example of a valid FlexVol junction path is: '/user/my_volume'. An example of a valid Infinite Volume junction path is: '/repository'. <p> Only one volume can be mounted at any given junction path.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 lun-path

=begin html

LUN Path

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snapshot-id

=begin html

Snapshot Id

=end html



B<Fields>

=over 2

=item * None

=back



=head2 audit-info

=begin html

Audit logging can be enabled/disabled separately for 'get' (read-only) requests, for each of the following access modes: CLI (Command-Line Interface), SNMP and the Data ONTAP API (ONTAPI, ZAPI). The state of these flags is represented via the audit-info typedef. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cli-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of CLI get operations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cli-set>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of CLI set operations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<http-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of HTTP get operations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<http-set>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of HTTP set operations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ontapi-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of Data ONTAP API get operations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ontapi-set>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of Data ONTAP API set operations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<snmp-get>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of SNMP get operations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<snmp-set>  =>   B<boolean, optional>

=begin html

<br>Enable auditing of SNMP set operations Attributes: non-creatable, modifiable

=end html

=back



=head2 audit-log-info

=begin html

View the audit log When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<entry>  =>   B<string, optional>

=begin html

<br>The actual log message from the audit log file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node that logged the entry. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<seq>  =>   B<integer, optional>

=begin html

<br>Used as a tie-breaker for line entries with the same timestamp. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<timestamp>  =>   B<integer, optional>

=begin html

<br>Timestamp of the log entry. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 aod-download

=begin html

aod_download Possible values: <ul> <li> "licensing" - Download licenses for a node or cluster </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 aod-download-status

=begin html

aod_download_status Possible values: <ul> <li> "initialized" - Download request is ready to be transmitted to the AutoSupport OnDemand server, <li> "request_failed" - Download request could not be transmitted, <li> "not_supported" - Download request type is not known by the AutoSupport OnDemand server, <li> "transferring" - Requested data is being downloaded, <li> "completed" - Download has completed successfully, <li> "cancelled" - Download was cancelled, <li> "failed" - Download failed to complete </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 asup-check-status

=begin html

ok|warning|failed|not-run Possible values: <ul> <li> "ok" - The Status of the AutoSupport check is ok., <li> "warning" - Please verify the intended behavior., <li> "failed" - AutoSupport check failed., <li> "not_run" - AutoSupport check could not be run. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 asup-content-type

=begin html

Type of AutoSupport content Possible values: <ul> <li> "basic" - ASUP will contain minimal set of data for this subsystem, <li> "troubleshooting" - ASUP will contain detailed collection of data for this subsystem, <li> "diagnostic" - ASUP will contain diagnostic data for this subsystem </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 asup-destination

=begin html

smtp|http|noteto|retransmit Possible values: <ul> <li> "smtp" , <li> "http" , <li> "noteto" , <li> "retransmit" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 asup-invoke-style

=begin html

test|performance|all Possible values: <ul> <li> "test" - Test AutoSupport send and receive only, <li> "performance" - Generate a Performance AutoSupport as requested by technical support, <li> "all" - Send all AutoSupport data without time or size limit, as requested by technical support </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 asup-manifest-status

=begin html

AutoSupport manifest collection status Possible values: <ul> <li> "requested" - ASUP request has been added to the queue and is waiting processing by the collector, <li> "working" - ASUP Collector is actively gathering the needed data, <li> "file_not_found" - ASUP collection failed, a needed file is missing, <li> "no_such_table" - ASUP collection was unable to find the requested SMF table, <li> "collection_truncated_size_limit" - ASUP collection truncated due to size limits and partial data is available, <li> "collection_skipped_size_limit" - ASUP collection skipped due to size limits and no data is available, <li> "collection_truncated_time_limit" - ASUP collection truncated due to time limits and partial data is available, <li> "collection_skipped_time_limit" - ASUP collection skipped due to time limits and no data is available, <li> "delivery_skipped_size_limit" - ASUP data was skipped at delivery time due to size limits, <li> "general_error" - ASUP collection failed, additional information if any will be in the Error String field, <li> "completed" - ASUP collection is complete, ready for delivery, <li> "content_not_collected_mode" - ASUP content was not collected, incompatible operational mode, <li> "content_not_collected_precheck" - ASUP content was not collected, pre-check function violation, <li> "content_not_collected_privacy" - ASUP content was not collected, the operation is disabled in privacy mode, <li> "content_empty" - ASUP content was collected successfully, but output was empty, <li> "collection_aborted" - ASUP collection aborted, additional information if any, will be in available in the Error field, <li> "collection_truncated_file_size_limit" - ASUP file truncated due to size limits and partial data is available, <li> "collection_skipped_trigger_time_limit" - ASUP collection was skipped due to trigger time limit, <li> "collection_incomplete" - ASUP content collection incomplete, <li> "collection_skipped_trigger_size_limit" - ASUP collection was skipped due to trigger size limit </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 asup-status

=begin html

AutoSupport general status Possible values: <ul> <li> "initializing" - ASUP request is being processed, <li> "collection_failed" - The AutoSupport Collection failed. See 'Last Error' for more information, <li> "collection_in_progress" - The AutoSupport Collection is in progress, <li> "queued" - ASUP is queued for delivery, <li> "transmitting" - ASUP transmission is in progress, <li> "sent_successful" - ASUP was successfully sent, <li> "ignore" - ASUP was processed successfully but has no destinations configured, <li> "re_queued" - ASUP transmission failed and has been re-queued, <li> "transmission_failed" - ASUP transmission has failed and the retry limit has been exceeded, <li> "ondemand_ignore" - ASUP was processed successfully but ASUP OnDemand has declined delivery, <li> "cancelled" - ASUP transmission cancelled </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 asup-subsystems

=begin html

subsys1,subsys2,... Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 asup-transport

=begin html

smtp|http|https Possible values: <ul> <li> "smtp" , <li> "http" , <li> "https" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 autosupport-budget-info

=begin html

AutoSupport budget data When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<def-diagnostic-size-limit>  =>   B<integer, optional>

=begin html

<br>The default setting for diagnostic content collection size (in bytes) for the subsystem. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<def-diagnostic-time-limit>  =>   B<string, optional>

=begin html

<br>The default setting for diagnostic content collection time (in seconds) for the subsystem. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<def-size-limit>  =>   B<integer, optional>

=begin html

<br>The default setting for basic and troubleshooting content collection size (in bytes) for the subsystem. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<def-time-limit>  =>   B<string, optional>

=begin html

<br>The default setting for basic and troubleshooting content collection time (in seconds ) for the subsystem. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<diagnostic-size-limit>  =>   B<integer, optional>

=begin html

<br>The maximum allowable diagnostic content collection size (in bytes) for the subsystem. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<diagnostic-time-limit>  =>   B<string, optional>

=begin html

<br>The maximum allowable diagnostic content collection time (in seconds) for the subsystem. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The name of a filer on which the AutoSupport tool is running. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size-limit>  =>   B<integer, optional>

=begin html

<br>The maximum allowable basic and troubleshooting content collection size (in bytes) for the subsystem. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<subsystem>  =>   B<asup-subsystems, optional>

=begin html

<br>The name of a subsystem from which AutoSupport collects data. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<time-limit>  =>   B<string, optional>

=begin html

<br>The maximum allowable basic and troubleshooting content collection time (in seconds ) for the subsystem. Attributes: non-creatable, modifiable

=end html

=back



=head2 autosupport-check-info

=begin html

Status of AutoSupport Subsystem When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<check-category>  =>   B<string, optional>

=begin html

<br>Category of AutoSupport Check Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "http_https" - AutoSupport HTTP/HTTPS Destination, <li> "smtp" - AutoSupport SMTP Destination, <li> "on_demand" - AutoSupport OnDemand Destination, <li> "configuration" - AutoSupport Configuration </ul>

=end html

=back



=over 2

=item * I<check-type>  =>   B<string, optional>

=begin html

<br>Type of AutoSupport Check Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "rollup_status" - Overall Status for a category, <li> "http_put_destination" - HTTP/HTTPS PUT Destination, <li> "http_post_destination" - HTTP/HTTPS POST Destination, <li> "mail_server" - AutoSupport MailServer, <li> "ondemand_server" - AutoSupport OnDemand Server, <li> "configuration" - AutoSupport Configuration </ul>

=end html

=back



=over 2

=item * I<corrective-action>  =>   B<string, optional>

=begin html

<br>Action to correct the error seen as the result of this check. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-detail>  =>   B<string, optional>

=begin html

<br>Detailed Error String for this AutoSupport Check. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The name of the filer on which the check is being performed. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<asup-check-status, optional>

=begin html

<br>Status of this AutoSupport Check. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - The Status of the AutoSupport check is ok., <li> "warning" - Please verify the intended behavior., <li> "failed" - AutoSupport check failed., <li> "not_run" - AutoSupport check could not be run. </ul>

=end html

=back



=head2 autosupport-cmd-tgt

=begin html

Execution domain of AutoSupport content Possible values: <ul> <li> "bsd" - Command executed by BSD, <li> "smf_table" - Command selects SMF table, <li> "file" - Command indicates file to collect, <li> "dblade" - Collect from dbladecli, <li> "dblade_file" - Collect a file from dblade. Could be partner file, <li> "zapi_xml" - Response in XML format, <li> "custom_fx" - Collect custom function output file </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 autosupport-compliant-info

=begin html

Compliant AutoSupport has data When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<hash>  =>   B<string, optional>

=begin html

<br>hash Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-used-sequence>  =>   B<seqnum, optional>

=begin html

<br>Last AutoSupport that used this hash Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<plaintext>  =>   B<string, optional>

=begin html

<br>Plaintext Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 autosupport-config-info

=begin html

AutoSupport configuration data When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<from>  =>   B<mail-address, optional>

=begin html

<br>The e-mail address of the local administrator, used as the sender of the AutoSupport message. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the AutoSupport daemon is enabled. When this setting is disabled, delivery of all AutoSupport messages is turned off. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-local-collection-enabled>  =>   B<boolean, optional>

=begin html

<br>Used to enable / disable collection of AutoSupport data when the AutoSupport daemon is disabled. When this setting is true, collection of AutoSupport data will still be done if is-enabled is false. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-nht-data-enabled>  =>   B<boolean, optional>

=begin html

<br>Used to enable / disable collection of disk health data. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-node-in-subject>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the filer's hostname should be part of an AutoSupport message's subject field. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-ondemand-download-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the AutoSupport OnDemand Download feature is enabled. Default is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-ondemand-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether AutoSupport OnDemand is enabled. Default is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-ondemand-remote-diag-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the AutoSupport OnDemand Remote Diagnostics feature is enabled. Default is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-perf-data-enabled>  =>   B<boolean, optional>

=begin html

<br>Used to enable / disable collection of Performance AutoSupport data. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-private-data-removed>  =>   B<boolean, optional>

=begin html

<br>Used to enable / disable removal of customer-supplied data. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-reminder-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to enable / disable AutoSupport reminders. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-support-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether AutoSupport notification to technical support is enabled. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-throttle-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to enable / disable throttling to prevent a potential avalanche of AutoSupport messages. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<last-subject>  =>   B<string, optional>

=begin html

<br>The subject field of the last generated AutoSupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-timestamp>  =>   B<integer, optional>

=begin html

<br>The timestamp of the last generated AutoSupport message. The time value is in seconds since January 1, 1970 UTC. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-trigger>  =>   B<string, optional>

=begin html

<br>The EMS trigger of the last generated AutoSupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mail-hosts>  =>   B<string[], optional>

=begin html

<br>The name of the mail server(s) used to deliver AutoSupport messages via SMTP. Both host names and IP addresses may be used as valid input. One can optionally specify a username/password for authentication with the mailserver(rfc4954). Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-download-rate>  =>   B<integer, optional>

=begin html

<br>Maximum download rate (in bytes per second). As of Data ONTAP 8.3.1, this value should be either 0 (for unlimited) or in the range 20480 (20KBps)- 10737418240 (10GBps). Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-http-size>  =>   B<integer, optional>

=begin html

<br>Delivery size limit for the HTTP transport protocol (in bytes). As of Data ONTAP 8.3.1, this value should be either 0 (for unlimited) or greater than or equal to 2097152 (2MB). Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-smtp-size>  =>   B<integer, optional>

=begin html

<br>Delivery size limit for the SMTP transport protocol (in bytes). As of Data ONTAP 8.3.1, this value should be either 0 (for unlimited) or greater than or equal to 2097152 (2MB). Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-upload-rate>  =>   B<integer, optional>

=begin html

<br>Maximum upload rate (in bytes per second). As of Data ONTAP 8.3.1, this value should be either 0 (for unlimited) or greater than or equal to 20480 (20KBps). Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<minimum-private-data-length>  =>   B<integer, optional>

=begin html

<br>Minimum Length for Sensitive Data Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The name of the filer that owns the AutoSupport configuration. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<noteto>  =>   B<mail-address[], optional>

=begin html

<br>Specifies up to five recipients of short AutoSupport e-mail messages. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ondemand-polling-interval>  =>   B<integer, optional>

=begin html

<br>The AutoSupport OnDemand Client polling rate in minutes. As of Data ONTAP 8.3.1, this value should be in the range 5-2880. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ondemand-server-url>  =>   B<string, optional>

=begin html

<br>The AutoSupport OnDemand Server URL. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<partner-address>  =>   B<mail-address[], optional>

=begin html

<br>Specifies up to five partner vendor recipients of full AutoSupport e-mail messages. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<payload-format>  =>   B<compression-format, optional>

=begin html

<br>The format used to compress the AutoSupport message payload. Attributes: non-creatable, modifiable Possible values: <ul> <li> "7z" - 7-Zip Archive, <li> "tgz" - Zipped Tarball </ul>

=end html

=back



=over 2

=item * I<periodic-tx-window>  =>   B<string, optional>

=begin html

<br>The transmission window (seconds). Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<post-url>  =>   B<string, optional>

=begin html

<br>The URL used to deliver AutoSupport messages via HTTP POST. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<proxy-url>  =>   B<string, optional>

=begin html

<br>Optional proxy host for AutoSupport message delivery via HTTP. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<put-url>  =>   B<string, optional>

=begin html

<br>The URL used to deliver AutoSupport messages via HTTP PUT. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<retry-count>  =>   B<integer, optional>

=begin html

<br>The maximum number of delivery attempts for an AutoSupport message. As of Data ONTAP 8.3.1, this value should be in the range 5-30. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<retry-interval>  =>   B<string, optional>

=begin html

<br>The number of seconds to wait, after a failed delivery attempt, prior to re-transmitting an AutoSupport message. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<support-address>  =>   B<mail-address[], optional>

=begin html

<br>The e-mail address of Support. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<to>  =>   B<mail-address[], optional>

=begin html

<br>Specifies up to five recipients of full AutoSupport e-mail messages. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<transport>  =>   B<asup-transport, optional>

=begin html

<br>The name of the transport protocol used to deliver AutoSupport messages. Attributes: non-creatable, modifiable Possible values: <ul> <li> "smtp" , <li> "http" , <li> "https" </ul>

=end html

=back



=over 2

=item * I<validate-digital-certificate>  =>   B<boolean, optional>

=begin html

<br>Validate Digital Certificate Received Attributes: non-creatable, modifiable

=end html

=back



=head2 autosupport-connectivity-check-info

=begin html

Test connectivity to AutoSupport destinations When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aod-status>  =>   B<string, optional>

=begin html

<br>OnDemand Server Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Test Current AutoSupport Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<post-url-status>  =>   B<string, optional>

=begin html

<br>HTTP POST Destination Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<put-url-status>  =>   B<string, optional>

=begin html

<br>HTTP PUT Destination Status Attributes: non-creatable, non-modifiable

=end html

=back



=head2 autosupport-destinations-info

=begin html

AutoSupport destination summary When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<destinations>  =>   B<string[], optional>

=begin html

<br>A comma separated list of destinations used to deliver AutoSupport messages. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The name of the filer that owns this destination configuration. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 autosupport-download-info

=begin html

AutoSupport OnDemand download data When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<download-type>  =>   B<aod-download, optional>

=begin html

<br>The type of the download. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "licensing" - Download licenses for a node or cluster </ul>

=end html

=back



=over 2

=item * I<error>  =>   B<string, optional>

=begin html

<br>The error string recorded for this download. This string may be empty. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<id>  =>   B<integer, optional>

=begin html

<br>The download ID. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-modification-timestamp>  =>   B<integer, optional>

=begin html

<br>The timestamp of the last update to this download record. The time value is in seconds since January 1, 1970 UTC. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The name of the filer that performed the download. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<result>  =>   B<string, optional>

=begin html

<br>The path to the downloaded results on the filer. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<aod-download-status, optional>

=begin html

<br>The status for this download. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initialized" - Download request is ready to be transmitted to the AutoSupport OnDemand server, <li> "request_failed" - Download request could not be transmitted, <li> "not_supported" - Download request type is not known by the AutoSupport OnDemand server, <li> "transferring" - Requested data is being downloaded, <li> "completed" - Download has completed successfully, <li> "cancelled" - Download was cancelled, <li> "failed" - Download failed to complete </ul>

=end html

=back



=head2 autosupport-history-info

=begin html

AutoSupport history data When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<attempt-count>  =>   B<integer, optional>

=begin html

<br>The number of attempted deliveries for this AutoSupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<decompressed-size>  =>   B<size, optional>

=begin html

<br>The decompressed size in bytes of the Autosupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination>  =>   B<asup-destination, optional>

=begin html

<br>The transport protocol for this AutoSupport message's destination. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "smtp" , <li> "http" , <li> "noteto" , <li> "retransmit" </ul>

=end html

=back



=over 2

=item * I<generation-timestamp>  =>   B<integer, optional>

=begin html

<br>The timestamp of the original generation (collection) of this AutoSupport message. The time value is in seconds since January 1, 1970 UTC. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-modification-timestamp>  =>   B<integer, optional>

=begin html

<br>The timestamp of the last update to this history record. The time value is in seconds since January 1, 1970 UTC. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The name of the filer where the AutoSupport message was previously generated. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percent-complete>  =>   B<integer, optional>

=begin html

<br>The perentage of the AutoSupport message transmitted successfully. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>The AutoSupport message sequence number. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size>  =>   B<size, optional>

=begin html

<br>The compressed size in bytes of the AutoSupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<asup-status, optional>

=begin html

<br>The delivery status for this AutoSupport message. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initializing" - ASUP request is being processed, <li> "collection_failed" - The AutoSupport Collection failed. See 'Last Error' for more information, <li> "collection_in_progress" - The AutoSupport Collection is in progress, <li> "queued" - ASUP is queued for delivery, <li> "transmitting" - ASUP transmission is in progress, <li> "sent_successful" - ASUP was successfully sent, <li> "ignore" - ASUP was processed successfully but has no destinations configured, <li> "re_queued" - ASUP transmission failed and has been re-queued, <li> "transmission_failed" - ASUP transmission has failed and the retry limit has been exceeded, <li> "ondemand_ignore" - ASUP was processed successfully but ASUP OnDemand has declined delivery, <li> "cancelled" - ASUP transmission cancelled </ul>

=end html

=back



=over 2

=item * I<subject>  =>   B<string, optional>

=begin html

<br>The subject field of this AutoSupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time-remaining>  =>   B<time-interval, optional>

=begin html

<br>The estimate of the amount of time for the AutoSupport Message to be fully transmitted. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-time>  =>   B<integer, optional>

=begin html

<br>The total collection time in msec of the Autosupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<trigger>  =>   B<string, optional>

=begin html

<br>The name of the EMS event that triggered this AutoSupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<upload-rate>  =>   B<byte-rate, optional>

=begin html

<br>The approximate rate in bytes per second of the AutoSupport Message upload. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<uri>  =>   B<string, optional>

=begin html

<br>The URI used to deliver this AutoSupport message. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 autosupport-invoke-diagnostic-iter-info

=begin html

Information about the operation that was attempted/performed against autosupport object.

=end html



B<Fields>

=over 2

=item * I<autosupport-key>  =>   B<L<"autosupport-config-info">>

=begin html

<br>The keys for the autosupport object to which the operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



=head2 autosupport-invoke-iter-info

=begin html

Information about the operation that was attempted/performed against autosupport object.

=end html



B<Fields>

=over 2

=item * I<autosupport-key>  =>   B<L<"autosupport-config-info">>

=begin html

<br>The keys for the autosupport object to which the operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



=head2 autosupport-invoke-performance-archive-iter-info

=begin html

Information about the operation that was attempted/performed against autosupport object.

=end html



B<Fields>

=over 2

=item * I<autosupport-key>  =>   B<L<"autosupport-config-info">>

=begin html

<br>The keys for the autosupport object to which the operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>The AutoSupport message sequence number.

=end html

=back



=head2 autosupport-manifest-info

=begin html

AutoSupport manifest data When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<body-file>  =>   B<string, optional>

=begin html

<br>The AutoSupport Content Filename for this Data Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cmd>  =>   B<string, optional>

=begin html

<br>Actual Data Being Collected Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cmd-tgt>  =>   B<autosupport-cmd-tgt, optional>

=begin html

<br>Execution Domain for Command Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "bsd" - Command executed by BSD, <li> "smf_table" - Command selects SMF table, <li> "file" - Command indicates file to collect, <li> "dblade" - Collect from dbladecli, <li> "dblade_file" - Collect a file from dblade. Could be partner file, <li> "zapi_xml" - Response in XML format, <li> "custom_fx" - Collect custom function output file </ul>

=end html

=back



=over 2

=item * I<content-type>  =>   B<asup-content-type, optional>

=begin html

<br>AutoSupport Content Type for this Data Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "basic" - ASUP will contain minimal set of data for this subsystem, <li> "troubleshooting" - ASUP will contain detailed collection of data for this subsystem, <li> "diagnostic" - ASUP will contain diagnostic data for this subsystem </ul>

=end html

=back



=over 2

=item * I<error>  =>   B<string, optional>

=begin html

<br>Textual Description of Error Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<orig-size-collected>  =>   B<integer, optional>

=begin html

<br>Initial Number of Bytes Collected Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<prio-num>  =>   B<integer, optional>

=begin html

<br>Priority Order of Collection Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<query>  =>   B<string, optional>

=begin html

<br>Table Query for XML Collection Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<seq-num>  =>   B<integer, optional>

=begin html

<br>AutoSupport Sequence Number Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size-collected>  =>   B<integer, optional>

=begin html

<br>Number of Bytes Collected Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size-compressed>  =>   B<integer, optional>

=begin html

<br>Compressed Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<asup-manifest-status, optional>

=begin html

<br>Status of this Data Item Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "requested" - ASUP request has been added to the queue and is waiting processing by the collector, <li> "working" - ASUP Collector is actively gathering the needed data, <li> "file_not_found" - ASUP collection failed, a needed file is missing, <li> "no_such_table" - ASUP collection was unable to find the requested SMF table, <li> "collection_truncated_size_limit" - ASUP collection truncated due to size limits and partial data is available, <li> "collection_skipped_size_limit" - ASUP collection skipped due to size limits and no data is available, <li> "collection_truncated_time_limit" - ASUP collection truncated due to time limits and partial data is available, <li> "collection_skipped_time_limit" - ASUP collection skipped due to time limits and no data is available, <li> "delivery_skipped_size_limit" - ASUP data was skipped at delivery time due to size limits, <li> "general_error" - ASUP collection failed, additional information if any will be in the Error String field, <li> "completed" - ASUP collection is complete, ready for delivery, <li> "content_not_collected_mode" - ASUP content was not collected, incompatible operational mode, <li> "content_not_collected_precheck" - ASUP content was not collected, pre-check function violation, <li> "content_not_collected_privacy" - ASUP content was not collected, the operation is disabled in privacy mode, <li> "content_empty" - ASUP content was collected successfully, but output was empty, <li> "collection_aborted" - ASUP collection aborted, additional information if any, will be in available in the Error field, <li> "collection_truncated_file_size_limit" - ASUP file truncated due to size limits and partial data is available, <li> "collection_skipped_trigger_time_limit" - ASUP collection was skipped due to trigger time limit, <li> "collection_incomplete" - ASUP content collection incomplete, <li> "collection_skipped_trigger_size_limit" - ASUP collection was skipped due to trigger size limit </ul>

=end html

=back



=over 2

=item * I<subsystem>  =>   B<asup-subsystems, optional>

=begin html

<br>Subsystem Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<time-collected>  =>   B<integer, optional>

=begin html

<br>Collection Time for this Data Item (ms) Attributes: non-creatable, non-modifiable

=end html

=back



=head2 autosupport-trigger-info

=begin html

AutoSupport trigger data When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<additional-content>  =>   B<asup-content-type[], optional>

=begin html

<br>Additional Content Flag Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "basic" - ASUP will contain minimal set of data for this subsystem, <li> "troubleshooting" - ASUP will contain detailed collection of data for this subsystem, <li> "diagnostic" - ASUP will contain diagnostic data for this subsystem </ul>

=end html

=back



=over 2

=item * I<basic-additional>  =>   B<asup-subsystems[], optional>

=begin html

<br>Additional Subsystems Reporting Basic Info Attributes: non-creatable, modifiable Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<basic-default>  =>   B<asup-subsystems[], optional>

=begin html

<br>Default Subsystems Reporting Basic Info Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<noteto-enabled>  =>   B<string, optional>

=begin html

<br>(DEPRECATED) Deliver to AutoSupport -noteto Addresses. Possible values are: enabled or disabled. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<size-limit>  =>   B<size, optional>

=begin html

<br>The data collection size budget for this trigger. Content not collected will be marked as collection-truncated-size-limit in the manifest. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<time-limit>  =>   B<string, optional>

=begin html

<br>The data collection time budget for this trigger (in seconds). Content not collected will be marked as collection-truncated-time-limit in the manifest. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<to-enabled>  =>   B<string, optional>

=begin html

<br>Deliver to AutoSupport -to Addresses. Possible values are: enabled or disabled. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<trigger>  =>   B<string, optional>

=begin html

<br>EMS Message Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<troubleshooting-additional>  =>   B<asup-subsystems[], optional>

=begin html

<br>Additional Subsystems Reporting Troubleshooting Info Attributes: non-creatable, modifiable Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=over 2

=item * I<troubleshooting-default>  =>   B<asup-subsystems[], optional>

=begin html

<br>Default Subsystems Reporting Troubleshooting Info Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "platform" - Hardware information about the node, <li> "mhost" - User Space application information for a node, <li> "log_files" - Log files for a node, <li> "performance" - Performance statistics for a node (event and weekly), <li> "performance_asup" - Performance statistics for a node (hourly), <li> "nht" - This subsystem gathers the /mroot/etc/log/nht_info content, <li> "san" - SAN specific information for a node, <li> "snapvault" - SnapVault specific information for a node, <li> "snapmirror" - Snapmirror specific information for a node, <li> "dedupe" - Dedupe specific information for a node, <li> "nfs" - NFS specific information for a node, <li> "wafl" - WAFL specific information for a node, <li> "mot" - MOT specific information for a node, <li> "ha" - HA specific information for a node, <li> "networking" - Networking specific information for a node, <li> "cifs" - CIFS specific information for a node, <li> "fpolicy" - Fpolicy specific information for a node, <li> "multistore" - Multistore specific information for a node, <li> "raid" - RAID specific information for a node, <li> "storage" - Storage specific information for a node, <li> "asup_ems" - ASUP EMS specific information for a node, <li> "tape" - Tape specific information for a node, <li> "kernel" - kernel specific information for a node, <li> "secd" - Security Daemon specific information for a node, <li> "metrocluster" - Metrocluster specific information for a node, <li> "mandatory" - Mandatory Basic information for a node, <li> "repository" - Repository specific information for a node, <li> "splog_downcontroller" - Service Processor log saved when ONTAP is down abnormally, <li> "splog_latest" - Up-to-date Service Processor log from Service Processor firmware , <li> "splog_before_spreboot" - Up-to-date Service Processor log from Service Processor firmware before SP reboot, <li> "splog_rnode_down" - Remote SPLOG saved when ONTAP is abnormal down, <li> "splog_rnode_latest" - Up-to-date SPLOG from Remote Service Processor FW, <li> "splog_rnode" - On demand collected remote SP logs, <li> "hm" - Health Monitor Alerts specific information, <li> "kcs" - Kernel Cluster Services information for a node, <li> "av" - Antivirus specific information for a node, <li> "vserver_dr" - Vserver disaster recovery, <li> "nwd" - Node Watchdog specific information for a node, <li> "vscan" - Vscan specific information for a node, <li> "san_ffdc" - SAN specific trace dumps for a node, <li> "cluster_peer" - Cluster peering specific dumps for a node, <li> "crs" - Config Replication Service information, <li> "cps" - Cluster Persistency Storage information, <li> "memevt" - MemEVT gathered data from a node, <li> "san_fcp" - FCP target driver related information for a node, <li> "ndmp" - NDMP information, <li> "ndu" - NDU specific information, <li> "name_services" - Name Services specific information, <li> "san_vdom" - SAN VDOM specific information for a node, <li> "snaplock" - SnapLock specific information for a node, <li> "key_manager" - Key Manager specific information, <li> "appdm" - Application DM, <li> "corefile" - Corefile to upload </ul>

=end html

=back



=head2 byte-rate

=begin html

Bytes per second Range : [0..2^63-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 compression-format

=begin html

7z|tgz Possible values: <ul> <li> "7z" - 7-Zip Archive, <li> "tgz" - Zipped Tarball </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 mail-address

=begin html

E-mail Address

=end html



B<Fields>

=over 2

=item * None

=back



=head2 capability-info

=begin html

Storage Capability Info Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<auto-disable>  =>   B<boolean, optional>

=begin html

<br>No administrative action required to disable capability. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<auto-enable>  =>   B<boolean, optional>

=begin html

<br>No administrative action required to enable capability. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<capability>  =>   B<string, optional>

=begin html

<br>The capability name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>A description of the capability. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<enable-ready>  =>   B<boolean, optional>

=begin html

<br>Ready to be enabled. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>A reflection of whether some feature is using the capability or not. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<howto-downgrade>  =>   B<string, optional>

=begin html

<br>How to downgrade instructions. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<marked-downgrade>  =>   B<boolean, optional>

=begin html

<br>Marked for Downgrade Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The name of the node in which the capability is installed. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<object-name>  =>   B<string, optional>

=begin html

<br>Object name, for e.g., 'volume', 'storage.aggregate', 'vserver.nfs' etc.. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<obsolete>  =>   B<boolean, optional>

=begin html

<br>A boolean indication as to whether the capability has become obsolete or not. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<operation-list>  =>   B<L<"operation-info">[], optional>

=begin html

<br>Operation details. Contains the operation name, command path and API name.

=end html

=back



=over 2

=item * I<release-debut>  =>   B<string, optional>

=begin html

<br>The release in which the capability was introduced. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<require-for-boot>  =>   B<boolean, optional>

=begin html

<br>The capability must be present in the booting image if the capability was previously enabled. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<required-on-all-nodes>  =>   B<boolean, optional>

=begin html

<br>The capability must be present on all nodes before use. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<uses-enable-ready>  =>   B<boolean, optional>

=begin html

<br>Uses enable-ready. Attributes: optional-for-create, modifiable

=end html

=back



=head2 advanced-options

=begin html

Advanced Options

=end html



B<Fields>

=over 2

=item * I<aggregate-migration-timeout>  =>   B<integer, optional>

=begin html

<br>Specifies the amount of time, in seconds, the source node has to wait for the destination node to complete the aggregate migration before declaring the migration as failed. Default: 120 seconds. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cifs-ndo-duration>  =>   B<cifsndoduration, optional>

=begin html

<br>Specifies failover outage durations to allow CIFS NDO lite customers to tune the NVlog size. A value of 'default' uses the maximum NVRAM possible. Attributes: non-creatable, modifiable Possible values: <ul> <li> "default" , <li> "medium" , <li> "low" </ul>

=end html

=back



=over 2

=item * I<propagate-mailbox-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether storage-failover status is communicated via mailbox disks. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<read-interval>  =>   B<integer, optional>

=begin html

<br>Specifies how frequently, in seconds, the node reads its partner's status from the mailbox disks. Default: 5 seconds Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<write-interval>  =>   B<integer, optional>

=begin html

<br>Specifies how frequently, in seconds, the node writes its status to the mailbox disks. Default: 5 seconds Attributes: non-creatable, modifiable

=end html

=back



=head2 advanced-options-modify

=begin html

Advanced Options to Modify

=end html



B<Fields>

=over 2

=item * I<aggregate-migration-timeout>  =>   B<integer, optional>

=begin html

<br>Specifies the amount of time, in seconds, the source node has to wait for the destination node to complete the aggregate migration before declaring the migration as failed. Default: 120 seconds. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cifs-ndo-duration>  =>   B<cifsndoduration, optional>

=begin html

<br>Specifies failover outage durations to allow CIFS NDO lite customers to tune the NVlog size. A value of 'default' uses the maximum NVRAM possible. Attributes: non-creatable, modifiable Possible values: <ul> <li> "default" , <li> "medium" , <li> "low" </ul>

=end html

=back



=over 2

=item * I<propagate-mailbox-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether storage-failover status is communicated via mailbox disks. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<read-interval>  =>   B<integer, optional>

=begin html

<br>Specifies how frequently, in seconds, the node reads its partner's status from the mailbox disks. Default: 5 seconds Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<write-interval>  =>   B<integer, optional>

=begin html

<br>Specifies how frequently, in seconds, the node writes its status to the mailbox disks. Default: 5 seconds Attributes: non-creatable, modifiable

=end html

=back



=head2 cf-aggregate-giveback-info

=begin html

Giveback status of an aggregate When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggr-giveback-error>  =>   B<string, optional>

=begin html

<br>Failure reason, incase giveback of this aggregate failed. Possible values include: <ul> <li>"sfo_am_shutdown" - Node is being shutdown</li> <li>"sfo_am_not_homed_partner" - Aggregate not owned by partner</li> <li>"sfo_am_not_sfo" - Aggregate does not have SFO policy</li> <li>"sfo_am_failed_limbo" - Aggregate in failed or limbo state</li> <li>"sfo_am_offline_failed" - Aggregate could not be offlined during giveback</li> <li>"sfo_am_migrating" - Aggregate is being migrated</li> <li>"sfo_am_veto" - Giveback was vetoed.</li> <li>"sfo_am_communication_err" - Giveback failed because node cannot communicate with the partner</li> <li>"sfo_am_online_timeout" - Aggregate did not come online after giveback</li> <li>"sfo_am_online_failed" - Failed to online the aggregate after giveback</li> <li>"sfo_am_hdd_to_aff_dest" - Migration of a non-SSD aggregate to an All-Flash Optimized destination is not allowed</li> </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-giveback-module>  =>   B<string, optional>

=begin html

<br>If giveback is in progress, then this is set to the module which is currently running. If giveback was failed or vetoed by a certain module then this is set to the first module which failed the giveback. Example: WAFL. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-giveback-state>  =>   B<string, optional>

=begin html

<br>Giveback status of the aggregate Possible values include: <ul> <li>"sfo_am_done" - Giveback done</li> <li>"sfo_am_failed" - Giveback failed</li> <li>"sfo_am_inprog" - Giveback in progress</li> <li>"sfo_am_not_started" - Giveback not started</li> <li>"sfo_am_nothing_to_gb" - No aggregates to giveback</li> <li>"sfo_disk_inventory_not_exchanged" - Auto giveback failed because disk inventory was not exchanged between HA partners</li> <li>"sfo_disk_inventory_mismatch" - Auto giveback failed because there was mismatch in disk inventory</li> <li>"sfo_am_failed_bdfu_source" - Giveback failed as failed to disable background disk firmware update on source node.</li> <li>"sfo_am_failed_bdfu_dest" - Giveback failed as failed to disable background disk firmware update on destination node.</li> <li>"sfo_am_delayed_bdfu_source" - Giveback delayed as disk firmware update is in progress on source node.</li> <li>"sfo_am_delayed_bdfu_dest" - Giveback delayed as disk firmware update is in progress on destination node.</li> <li>"sfo_am_running_checks" - Performing veto checks.</li> </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Aggregate name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-node>  =>   B<string, optional>

=begin html

<br>Node to which the aggregate is being given back Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node performing the giveback of aggregate Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cf-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against cf object.

=end html



B<Fields>

=over 2

=item * I<cf-key>  =>   B<L<"options-related-info-modify">>

=begin html

<br>The keys for the cf object to which the modify operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=head2 cifsndoduration

=begin html

CIFS NDO outage duration Possible values: <ul> <li> "default" , <li> "medium" , <li> "low" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 disk-uid

=begin html

Disk Unique Identifier

=end html



B<Fields>

=over 2

=item * None

=back



=head2 giveback-options

=begin html

Giveback Options

=end html



B<Fields>

=over 2

=item * I<auto-giveback-after-panic-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether a node should attempt automatic giveback operations if takeover was because of a disruption in the partner's operation Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<auto-giveback-enabled>  =>   B<boolean, optional>

=begin html

<br>True, if auto-giveback is enabled, false otherwise. Default: false, except for two-node clusters where the default is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<auto-giveback-override-vetoes-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether long-running operations (for instance, NDMP dump/restoration, volume verification, etc.) are terminated and partner veto votes are overriden when an automatic giveback operation is initiated. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<autogiveback-delay>  =>   B<integer, optional>

=begin html

<br>Specifies the minimum time, in seconds, that a node will stay in takeover state prior to performing an automatic giveback. Default: 600 seconds Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<check-partner-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the node checks that its partner is waiting-for-giveback before initiating a giveback. If check-partner is false, aggregates will be given back even if the partner is not up and ready potentially leading to longer outage. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<giveback-attempts-count>  =>   B<integer, optional>

=begin html

<br>Specifies the number of times the node attempts an automatic giveback within the time period specified by giveback-attempts-interval. Default: 2 Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<giveback-attempts-interval>  =>   B<integer, optional>

=begin html

<br>Specifies the time period, in minutes, used by the giveback-attempts-count parameter Default: 60 minutes Attributes: non-creatable, modifiable

=end html

=back



=head2 giveback-options-modify

=begin html

Giveback Options to Modify

=end html



B<Fields>

=over 2

=item * I<auto-giveback-after-panic-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether a node should attempt automatic giveback operations if takeover was because of a disruption in the partner's operation Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<auto-giveback-enabled>  =>   B<boolean, optional>

=begin html

<br>True, if auto-giveback is enabled, false otherwise. Default: false, except for two-node clusters where the default is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<auto-giveback-override-vetoes-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether long-running operations (for instance, NDMP dump/restoration, volume verification, etc.) are terminated and partner veto votes are overriden when an automatic giveback operation is initiated. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<autogiveback-delay>  =>   B<integer, optional>

=begin html

<br>Specifies the minimum time, in seconds, that a node will stay in takeover state prior to performing an automatic giveback. Default: 600 seconds Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<check-partner-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the node checks that its partner is waiting-for-giveback before initiating a giveback. If check-partner is false, aggregates will be given back even if the partner is not up and ready potentially leading to longer outage. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<giveback-attempts-count>  =>   B<integer, optional>

=begin html

<br>Specifies the number of times the node attempts an automatic giveback within the time period specified by giveback-attempts-interval. Default: 2 Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<giveback-attempts-interval>  =>   B<integer, optional>

=begin html

<br>Specifies the time period, in minutes, used by the giveback-attempts-count parameter Default: 60 minutes Attributes: non-creatable, modifiable

=end html

=back



=head2 giveback-related-info

=begin html

Giveback related Info

=end html



B<Fields>

=over 2

=item * I<giveback-failure-reason>  =>   B<string, optional>

=begin html

<br>This is the reason for the giveback failure. Possible values are: <ul> <li>aggr_relocation_in_progress - aggregate relocation is in progress</li> <li>shutdown_in_progress - shutdown is in progress</li> <li>testpoint - a giveback failure was simulated with a testpoint</li> <li>cannot_giveback_partner_subsystem - node failed to giveback one of partner's subsystems</li> <li>bck_mbx_update_error - node could not update its backup mailbox</li> <li>disaster_recovery_in_progress - disaster recovery operation is in progress</li> <li>partner_disaster_recovery_in_progress - disaster recovery operation is in progress on the partner node</li> </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<giveback-module>  =>   B<string, optional>

=begin html

<br>The current module giveback process is in. e.g. WAFL Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<giveback-state>  =>   B<string, optional>

=begin html

<br>Giveback state of the node. Possible values are: <ul> <li>nothing_to_gb</li> <li>not_attempted_yet</li> <li>giveback_in_progress</li> <li>giveback_failed_autogiveback_disabled</li> <li>giveback_failed_autogiveback_scheduled</li> <li>previous_giveback_failed</li> <li>giveback_vetoed_no_di</li> <li>giveback_vetoed_missing_disks</li> <li>autogiveback_scheduled</li> <li>autogiveback_deferred</li> <li>node_upgrade_in_progress</li> <li>sfo_aggr_giveback_failed</li> <li>sfo_aggr_giveback_in_progress</li> <li>partial_giveback</li> <li>partner_spare_disks_giveback_pending</li></ul> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 hamode

=begin html

High availability mode Possible values: <ul> <li> "ha" , <li> "non_ha" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hatype

=begin html

none|shared_storage|non_shared_storage Possible values: <ul> <li> "none" - None, <li> "shared_storage" - Shared storage HA configuration, <li> "non_shared_storage" - Non-shared storage HA configuration </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 interconnect-related-info

=begin html

Interconnect Info

=end html



B<Fields>

=over 2

=item * I<interconnect-links>  =>   B<string, optional>

=begin html

<br>States of the individual interconnect links. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interconnect-type>  =>   B<string, optional>

=begin html

<br>Type and Vendor of the interconnect. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-interconnect-up>  =>   B<boolean, optional>

=begin html

<br>True, if storage failover interconnect is up. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 mailbox-io-times-info

=begin html

Mailbox IO times

=end html



B<Fields>

=over 2

=item * I<normal>  =>   B<integer>

=begin html

<br>Maximum IO time in milliseconds, normal

=end html

=back



=over 2

=item * I<transition>  =>   B<integer>

=begin html

<br>Maximum IO time in milliseconds, transition

=end html

=back



=head2 mailbox-state

=begin html

State of mailbox disks owned by the node. Possible values are: <ul> <li>mbx_status_nodisks</li> <li>mbx_status_uncertain</li> <li>mbx_status_stale</li> <li>mbx_status_conflicted</li> <li>mbx_status_old_version</li> <li>mbx_status_not_found</li> <li>mbx_status_wrong_state</li> <li>mbx_status_backup</li> </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 mailbox-status-info

=begin html

Mailbox status info.

=end html



B<Fields>

=over 2

=item * I<mailbox-status>  =>   B<string>

=begin html

<br>representation of mailbox status bit. Possible values: mbx_status_nodisks mbx_status_uncertain mbx_status_stale mbx_status_conflicted mbx_status_old_version mbx_status_not_found mbx_status_wrong_state mbx_status_backup

=end html

=back



=head2 node-related-info

=begin html

Node Info

=end html



B<Fields>

=over 2

=item * I<current-mode>  =>   B<hamode, optional>

=begin html

<br>Current HA Mode Attributes: non-creatable, modifiable Possible values: <ul> <li> "ha" , <li> "non_ha" </ul>

=end html

=back



=over 2

=item * I<ha-type>  =>   B<hatype, optional>

=begin html

<br>Specifies the type of high-availability configuration. Possible values are: <ul> <li>none - none</li> <li>shared_storage - shared storage high-availability configuration</li> <li>non_shared_storage - non-shared storage high-availability configuration</li> </ul> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "shared_storage" - Shared storage HA configuration, <li> "non_shared_storage" - Non-shared storage HA configuration </ul>

=end html

=back



=over 2

=item * I<local-firmware-progress>  =>   B<integer, optional>

=begin html

<br>A counter to indicate that the local node is progressing in the current firmware state. If the counter is not progressing the node may be unresponsive or down. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-firmware-state>  =>   B<string, optional>

=begin html

<br>Local firmware state that will be communicated through interconnect to the partner. Possible values are: <ul> <li>SF_OPERATOR_EXIT - operator completed</li> <li>SF_DEBUG_EXIT - debugger completed</li> <li>SF_PROGRESS - progress counter</li> <li>SF_IOERROR - I/O error</li> <li>SF_BADCKSUM - bad checksum</li> <li>SF_RESERVED - reserved</li> <li>SF_UNKNOWN - unknown</li> <li>SF_OPEN - initializing</li> <li>SF_POST - in power-on self test</li> <li>SF_BOOTING - booting</li> <li>SF_FAIL - boot failed</li> <li>SF_WAITING - waiting</li> <li>SF_OS_BOOTED - kernel loaded</li> <li>SF_UP - up</li> <li>SF_DEBUG - in debugger</li> <li>SF_OPERATOR - waiting for operator input</li> <li>SF_DUMPCORE - dumping core</li> <li>SF_HALT - halted</li> <li>SF_REBOOT - rebooting</li> <li>SF_GIVEWAIT - waiting for giveback</li> <li>SF_MBWAIT - waiting for cluster mailbox release</li> <li>SF_SPARECORE - dumping sparecore and ready to be taken-over</li> <li>SF_MDP - multi-disk panic</li> <li>SF_TO - in takeover</li> <li>SF_NOTO - takeover disabled</li> <li>SF_CLUSTERWAIT - waiting for cluster apps</li></ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-state>  =>   B<string, optional>

=begin html

<br>Storage failover status of the node. Possible values are: <ul> <li>connected - Partner is available for takeover.</li> <li>takeover_scheduled - Partner is down and takeover is scheduled.</li> <li>takeover_started - Takeover process has begun.</li> <li>takeover - Currently controlling partner's resources.</li> <li>takeover_failed - Failed to takeover the partner.</li> <li>giveback_partial_waiting - This node controls partner aggregates even though the node is not in takeover. And we're waiting for a connection to the partner.</li> <li>giveback_partial_connected - This node controls partner aggregates even though the node is not in takeover. The partner is available to receive the aggregates.</li> <li>waiting_for_root_aggr - Partner is controlling dblade's root aggregate If we're in this state, many other optional fields are not returned.</li> <li>waiting - Waiting for a connection to partner. Generally happens while partner is rebooting.</li> <li>in_maintenance_mode - Node is in maintenance mode. In the mode it is not possible to determine more detailed information (e.g. cluster or not; takeover or not, etc).</li> <li>pending_shutdown - Starting a takeover/giveback is inhibited due to a pending system shutdown.</li> <li>relocating_aggrs_before_takeover - Node is relocating its SFO aggregates to its partner prior to a negotiated takeover.</li> <li>sfo_takeover_phase_done - Node is done with the SFO phase of takeover.</li> <li>sfo_takenover_phase_done - This node has relocated its SFO aggregates to its partner during an optimized negotiated takeover by its partner.</li> <li>sfo_takeover_phase_aborted - The SFO phase of takeover has been aborted. Refer to takeover-failure-reason field to check the reason.</li> <li>sfo_takenover_phase_aborted - This node has aborted the relocation of its SFO aggregates to its partner, during an optimized negotiated takeover by its partner.</li> <li>in_non_HA_mode - Node is not in HA mode</li> <li>cfo_takeover_failed - CFO phase of takeover failed</li> <li>sfo_takeover_phase - SFO phase of takeover of partner is in progress</li> <li>relocated_aggrs_before_takeover - Node has relocated its SFO aggregates to its partner prior to a negotiated takeover.</li> <li>giving_back - Giveback is in progress. Refer to current-giveback-module field to get the current module, the giveback process is in.</li> <li>giveback_failed_autogiveback_disabled - Previous giveback failed and auto giveback is disabled. Refer to current-giveback-module to get the module in which giveback process failed.</li> <li>giveback_failed_autogiveback_scheduled - Previous giveback failed and an auto giveback is scheduled. Refer to current-giveback-module to get the module in which giveback process failed.</li> Refer to time-until-autogiveback field to check time remaining before an auto giveback is initiated.</li> <li>previous_giveback_failed - Previous giveback failed. Refer to current-giveback-module to get the module in which giveback process failed.</li> <li>takeover_disk_inventory_not_received - Local node is in takeover. A normal giveback is not possible as disk inventory from partner has not yet been received.</li> <li>takeover_partner_missing_disks - Local node is in takeover. A normal giveback is not possible as the patner is missing some of its file system disks.</li> <li>takeover_autogiveback_scheduled - Local node in takeover. An auto giveback is scheduled. Refer time-until-autogiveback field to check time remaining before an auto giveback is initiated.</li> <li>takeover_network_failure - Local node in takeover. The partner was taken over due to network failure.</li> <li>takeover_autogiveback_deferred - Local node in takeover. Auto giveback is deferred because the partner node was not ready to receive aggregates when the auto giveback timer expired. An auto giveback will be initiated as soon as the partner node is up and ready to receive aggregates.</li> <li>automatic_takeover_disabled_connected - Automatic takeover is disabled. Local node is connected to partner via HA interconnect. This happens only in debug builds when raid.panic.missing.disks is turned on from node CLI.</li> <li>automatic_takeover_disabled_waiting - Automatic takeover is disabled. Local node is waiting for partner node on HA interconnect. This happens only in debug builds when raid.panic.missing.disks is turned on from node CLI.</li> <li>ndo_upgrade_in_progress - Local node owns partner's aggregates as part of node upgrade process.</li> <li>own_aggr_non_local_connected - Local node owns aggregates of some other node in the cluster. Local node is connected to partner via HA interconnect. This is possible only during NDO double hop controller upgrade.</li> <li>own_aggr_non_local_waiting - Local node owns aggregates of some other node in the cluster. Local node is waiting for partner on HA interconnect. This is possible only during NDO double hop controller upgrade.</li> <li>clusterwait_connected - Connected to partner via HA interconnect. Local node waiting for cluster applications to come online.</li> <li>clusterwait_waiting - Waiting for partner on HA interconnect. Local node waiting for cluster applications to come online.</li> <li>dr_op_in_progress - MetroCluster disaster recovery operation is in progress.</li> <li>SF_OPERATOR_EXIT - operator completed</li> <li>SF_DEBUG_EXIT - debugger completed</li> <li>SF_PROGRESS - progress counter</li> <li>SF_IOERROR - I/O error</li> <li>SF_BADCKSUM - bad checksum</li> <li>SF_RESERVED - reserved</li> <li>SF_UNKNOWN - unknown</li> <li>SF_OPEN - initializing</li> <li>SF_POST - in power-on self test</li> <li>SF_BOOTING - booting</li> <li>SF_FAIL - boot failed</li> <li>SF_WAITING - waiting</li> <li>SF_OS_BOOTED - kernel loaded</li> <li>SF_UP - up</li> <li>SF_DEBUG - in debugger</li> <li>SF_OPERATOR - waiting for operator input</li> <li>SF_DUMPCORE - dumping core</li> <li>SF_HALT - halted</li> <li>SF_REBOOT - rebooting</li> <li>SF_GIVEWAIT - waiting for giveback</li> <li>SF_MBWAIT - waiting for cluster mailbox release</li> <li>SF_SPARECORE - dumping sparecore and ready to be taken-over</li> <li>SF_MDP - multi-disk panic</li> <li>SF_TO - in takeover</li> <li>SF_NOTO - takeover disabled</li> <li>SF_CLUSTERWAIT - waiting for cluster apps</li></ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nvram-id>  =>   B<integer, optional>

=begin html

<br>NVRAM identifier Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-firmware-progress>  =>   B<integer, optional>

=begin html

<br>A counter to indicate that the partner node is progressing in the current firmware state. If the counter is not progressing the partner node may be unresponsive or down. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-firmware-state>  =>   B<string, optional>

=begin html

<br>Partner firmware state as communicated by the partner through interconnect. Possible values are: <ul> <li>SF_OPERATOR_EXIT - operator completed</li> <li>SF_DEBUG_EXIT - debugger completed</li> <li>SF_PROGRESS - progress counter</li> <li>SF_IOERROR - I/O error</li> <li>SF_BADCKSUM - bad checksum</li> <li>SF_RESERVED - reserved</li> <li>SF_UNKNOWN - unknown</li> <li>SF_OPEN - initializing</li> <li>SF_POST - in power-on self test</li> <li>SF_BOOTING - booting</li> <li>SF_FAIL - boot failed</li> <li>SF_WAITING - waiting</li> <li>SF_OS_BOOTED - kernel loaded</li> <li>SF_UP - up</li> <li>SF_DEBUG - in debugger</li> <li>SF_OPERATOR - waiting for operator input</li> <li>SF_DUMPCORE - dumping core</li> <li>SF_HALT - halted</li> <li>SF_REBOOT - rebooting</li> <li>SF_GIVEWAIT - waiting for giveback</li> <li>SF_MBWAIT - waiting for cluster mailbox release</li> <li>SF_SPARECORE - dumping sparecore and ready to be taken-over</li> <li>SF_MDP - multi-disk panic</li> <li>SF_TO - in takeover</li> <li>SF_NOTO - takeover disabled</li> <li>SF_CLUSTERWAIT - waiting for cluster apps</li></ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-name>  =>   B<string, optional>

=begin html

<br>Storage failover partner node name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-nvram-id>  =>   B<integer, optional>

=begin html

<br>Partner NVRAM identifier Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state-description>  =>   B<string, optional>

=begin html

<br>A detailed description of the storage failover state of the node. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 options-related-info

=begin html

Options Info

=end html



B<Fields>

=over 2

=item * I<auto-giveback-enabled>  =>   B<boolean, optional>

=begin html

<br>True, if auto-giveback is enabled, false otherwise. Default: false, except for two-node clusters where the default is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<failover-enabled>  =>   B<boolean, optional>

=begin html

<br>True, if the storage failover facility is enabled, false otherwise. Note that the facility can be enabled but takeover may not be possible due to various reasons. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ha-mode>  =>   B<hamode, optional>

=begin html

<br>Specifies whether the node is set up in high-availability mode or stand-alone mode. Attributes: non-creatable, modifiable Possible values: <ul> <li> "ha" , <li> "non_ha" </ul>

=end html

=back



=over 2

=item * I<sfo-advanced-options-info>  =>   B<L<"advanced-options">, optional>

=begin html

<br>Advanced Options

=end html

=back



=over 2

=item * I<sfo-giveback-options-info>  =>   B<L<"giveback-options">, optional>

=begin html

<br>Giveback Options

=end html

=back



=over 2

=item * I<sfo-takeover-options-info>  =>   B<L<"takeover-options">, optional>

=begin html

<br>Takeover Options

=end html

=back



=head2 options-related-info-modify

=begin html

Storage Failover Options to Modify

=end html



B<Fields>

=over 2

=item * I<auto-giveback-enabled>  =>   B<boolean, optional>

=begin html

<br>True, if auto-giveback is enabled, false otherwise. Default: false, except for two-node clusters where the default is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<failover-enabled>  =>   B<boolean, optional>

=begin html

<br>True, if the storage failover facility is enabled, false otherwise. Note that the facility can be enabled but takeover may not be possible due to various reasons. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ha-mode>  =>   B<hamode, optional>

=begin html

<br>Specifies whether the node is set up in high-availability mode or stand-alone mode. Attributes: non-creatable, modifiable Possible values: <ul> <li> "ha" , <li> "non_ha" </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sfo-advanced-options-info-modify>  =>   B<L<"advanced-options-modify">, optional>

=begin html

<br>Advanced Options to Modify

=end html

=back



=over 2

=item * I<sfo-giveback-options-info-modify>  =>   B<L<"giveback-options-modify">, optional>

=begin html

<br>Giveback Options to Modify

=end html

=back



=over 2

=item * I<sfo-takeover-options-info-modify>  =>   B<L<"takeover-options-modify">, optional>

=begin html

<br>Takeover Options to Modify

=end html

=back



=head2 reason-takeover-not-possible

=begin html

Reason why takeover is not possible. <ul> <li>not_initialized - Controller Failover not initialized</li> <li>non_ha_mode - Controller is in non-HA mode</li> <li>disabled - Controller Failover takeover disabled</li> <li>mailbox_invalid - Partner mailbox disks not accessible or invalid</li> <li>mailbox_uninit - Partner mailbox status uninitialized</li> <li>fm_version_mismatch - Failover monitor version mismatch</li> <li>partner_disabled - Takeover disabled by partner</li> <li>operator_deny - Takeover disabled by operator</li> <li>nvram_mismatch - NVRAM size mismatch</li> <li>version - Version mismatch</li> <li>ic_error - Interconnect error</li> <li>booting - Partner booting</li> <li>shelf_hot - Disk shelf is too hot</li> <li>partner_revert_in_progress - Partner is performing revert</li> <li>local_revert_in_progress - Revert is in progress</li> <li>partner_takeover - Partner is attempting takeover</li> <li>local_takeover - Already in takeover mode</li> <li>halt_no_takeover - Partner halted in notakeover mode</li> <li>log_unsync - NVRAM log unsynchronized</li> <li>unknown - No takeover due to unknown reason</li> <li>waiting_for_partner - Waiting for partner to recover</li> <li>low_memory - Low memory condition</li> <li>halting - Local halt in progress</li> <li>mailbox_uncertain - Status of partner mailbox is uncertain</li> <li>no_auto_takeover - Automatic takeover is disabled</li> <li>disk_inventory_not_exchanged - Disk inventory information not received - from partner</li> <li>disk_inventory_mismatch_local - Local node missing some of partner node's file system disks</li> <li>pending_shutdown - Local node is shutting down</li> </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 resource-table-info

=begin html

A failover monitor resource table entry.

=end html



B<Fields>

=over 2

=item * I<fail>  =>   B<string>

=begin html

<br>Entry failure code, represented as a string: ok fail fail_always hang panic veto

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the entry

=end html

=back



=over 2

=item * I<state>  =>   B<string>

=begin html

<br>Entry state, represented as a string: up start_running start_done start_failed stop_running stop_failed takeover_barrier only_when_initd

=end html

=back



=over 2

=item * I<time-delta>  =>   B<integer, optional>

=begin html

<br>Amount of time spent in this element, in milliseconds.

=end html

=back



=head2 sf-disk-info

=begin html

Disk information.

=end html



B<Fields>

=over 2

=item * I<disk-cluster-name>  =>   B<string, optional>

=begin html

<br>A cluster unique name for a disk. Disks take the form 'stack-id'.'shelf'.'bay'. Disks on multi-disk carriers take the form 'stack-id'.'shelf'.'bay'.'lun'. <p> Virtual disks take the form 'prefix'.'number' where prefix is the storage array's prefix and number is a unique ascending number. <p> Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string>

=begin html

<br>Disk unique identifier. Maximum length of 90 characters. XXX should use same typedef as storage ZAPI. Note sure where it is defined.

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the disk, e.g. v1.1

=end html

=back



=over 2

=item * I<physical-location>  =>   B<integer>

=begin html

<br>Name of the location where the disk is physically present. This can be local, partner or mediator.

=end html

=back



=head2 sf-options-info

=begin html

Options for debugging purpose.

=end html



B<Fields>

=over 2

=item * I<aggregate-migration-timeout>  =>   B<integer, optional>

=begin html

<br>Number of seconds the source node has to wait for the destination node to complete the aggregate migration before declaring the migration as failed. The default setting is 40 seconds.

=end html

=back



=over 2

=item * I<bypass-takeover-optimization>  =>   B<boolean, optional>

=begin html

<br>If true, then optimized negotiated takeover is bypassed. If false, negotiated takeover will be optimized. The default value for this option is false. This option will be available starting with Data ONTAP 8.2.

=end html

=back



=over 2

=item * I<giveback-auto>  =>   B<boolean>

=begin html

<br>Indicates if the automatic giveback is enabled. Same as send-home-auto.

=end html

=back



=over 2

=item * I<hwassist-enable>  =>   B<boolean>

=begin html

<br>Indicate if hardware assist takeover is enabled.

=end html

=back



=over 2

=item * I<hwassist-health-check-interval>  =>   B<integer>

=begin html

<br>Hardware assist h/w sends a heartbeat every '-health-check-interval' seconds.

=end html

=back



=over 2

=item * I<hwassist-partner-ip>  =>   B<string>

=begin html

<br>Hardware assist Ip address of the partner.

=end html

=back



=over 2

=item * I<hwassist-partner-port>  =>   B<integer>

=begin html

<br>Port number on which hwassist receives alerts.

=end html

=back



=over 2

=item * I<hwassist-retry-count>  =>   B<integer>

=begin html

<br>Number of times we repeat sending an alert.

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>HA mode in registry

=end html

=back



=over 2

=item * I<node-status-in-mailbox-disks>  =>   B<boolean>

=begin html

<br>Indicates if we propagate node status via mailbox disks.

=end html

=back



=over 2

=item * I<node-status-in-mailbox-disks-read-interval>  =>   B<integer>

=begin html

<br>Rate in seconds at which we read node status from mailbox disks.

=end html

=back



=over 2

=item * I<node-status-in-mailbox-disks-write-interval>  =>   B<integer>

=begin html

<br>Rate in seconds at which we write node status to mailbox disks.

=end html

=back



=over 2

=item * I<send-home-auto>  =>   B<boolean>

=begin html

<br>Indicates if the automatic send-home facility enabled.

=end html

=back



=over 2

=item * I<send-home-auto-attempts>  =>   B<integer>

=begin html

<br>The number of times we'll try to do an automatic giveback within send-home-auto-minutes

=end html

=back



=over 2

=item * I<send-home-auto-attempts-minutes>  =>   B<integer>

=begin html

<br>The number of minutes in which we should not execeed send-home-auto-attempts automatic send-home attempts.

=end html

=back



=over 2

=item * I<send-home-auto-delay-seconds>  =>   B<integer>

=begin html

<br>The number of seconds of delay before initiating automatic send-home. This will be the minimum time a node will be in takeover state before performing auto sendhome.

=end html

=back



=over 2

=item * I<send-home-check-partner-waiting>  =>   B<boolean>

=begin html

<br>Indicates if we require the partner to be waiting for a send-home in order to do a send-home.

=end html

=back



=over 2

=item * I<takeover-detection-time>  =>   B<integer>

=begin html

<br>Takeover detection time in seconds.

=end html

=back



=over 2

=item * I<takeover-on-failure>  =>   B<boolean>

=begin html

<br>Indicates if we will automatically takeover upon partner failure.

=end html

=back



=over 2

=item * I<takeover-on-panic>  =>   B<boolean>

=begin html

<br>Indicates if we will automatically takeover upon partner panic.

=end html

=back



=over 2

=item * I<takeover-on-reboot>  =>   B<boolean>

=begin html

<br>Indicates if we will automatically takeover upon partner reboot.

=end html

=back



=over 2

=item * I<takeover-on-short-uptime>  =>   B<boolean>

=begin html

<br>Indicates if we will automatically takeover if the partner fails within 60 seconds of booting.

=end html

=back



=head2 storage-failover-info

=begin html

Storage Failover Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<interconnect-up>  =>   B<boolean, optional>

=begin html

<br>Interconnect Up Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Takeover Enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-possible>  =>   B<boolean, optional>

=begin html

<br>Takeover Possible Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<killpackets>  =>   B<boolean, optional>

=begin html

<br>Issue Kill Packets Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Name as Returned by Storage Failover Component Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nvramid>  =>   B<integer, optional>

=begin html

<br>Node NVRAM ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-aggregates>  =>   B<boolean, optional>

=begin html

<br>Control Partner Aggregates Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-name>  =>   B<string, optional>

=begin html

<br>Partner Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-nvramid>  =>   B<integer, optional>

=begin html

<br>Partner NVRAM ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sfo-giveback-info>  =>   B<L<"giveback-related-info">, optional>

=begin html

<br>Giveback related Info

=end html

=back



=over 2

=item * I<sfo-interconnect-info>  =>   B<L<"interconnect-related-info">, optional>

=begin html

<br>Interconnect Info

=end html

=back



=over 2

=item * I<sfo-node-info>  =>   B<L<"node-related-info">, optional>

=begin html

<br>Node Info

=end html

=back



=over 2

=item * I<sfo-options-info>  =>   B<L<"options-related-info">, optional>

=begin html

<br>Options Info

=end html

=back



=over 2

=item * I<sfo-storage-info>  =>   B<L<"storage-related-info">, optional>

=begin html

<br>Storage Info

=end html

=back



=over 2

=item * I<sfo-takeover-info>  =>   B<L<"takeover-related-info">, optional>

=begin html

<br>Takeover related Info

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>State Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time-until-takeover>  =>   B<integer, optional>

=begin html

<br>Time Until Takeover Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-related-info

=begin html

Storage Info

=end html



B<Fields>

=over 2

=item * I<local-mailbox-state>  =>   B<mailbox-state[], optional>

=begin html

<br>Primary mailbox status information, represented as a list of strings. Not returned if node-state is waiting_for_root_aggr. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-missing-disks>  =>   B<disk-uid[], optional>

=begin html

<br>List of disks that the local node is missing but the partner node is able to view. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mailbox-disks-local>  =>   B<disk-uid[], optional>

=begin html

<br>List of local mailbox disks. Not returned if node-state is waiting_for_root_aggr. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mailbox-disks-partner>  =>   B<disk-uid[], optional>

=begin html

<br>List of partner mailbox disks as this dblade sees them. Not returned if partner's node-state is waiting_for_root_aggr. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-mailbox-state>  =>   B<mailbox-state[], optional>

=begin html

<br>Backup mailbox status information, represented as a list of strings. Not returned if partner's node-state is waiting_for_root_aggr. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-missing-disks>  =>   B<disk-uid[], optional>

=begin html

<br>List of disks that the partner node is missing but the local node is able to view. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 takeover-info

=begin html

Takeover info.

=end html



B<Fields>

=over 2

=item * I<reason>  =>   B<string>

=begin html

<br>reason we can't takeover: <ul> <li>not_initialized - Controller Failover not initialized</li> <li>non_ha_mode - Controller is in non-HA mode</li> <li>disabled - Controller Failover takeover disabled</li> <li>mailbox_invalid - Partner mailbox disks not accessible or invalid</li> <li>mailbox_uninit - Partner mailbox status uninitialized</li> <li>fm_version_mismatch - Failover monitor version mismatch</li> <li>partner_disabled - Takeover disabled by partner</li> <li>operator_deny - Takeover disabled by operator</li> <li>nvram_mismatch - NVRAM size mismatch</li> <li>version - Version mismatch</li> <li>ic_error - Interconnect error</li> <li>booting - Partner booting</li> <li>shelf_hot - Disk shelf is too hot</li> <li>partner_revert_in_progress - Partner is performing revert</li> <li>local_revert_in_progress - Revert is in progress</li> <li>partner_takeover - Partner is attempting takeover</li> <li>local_takeover - Already in takeover mode</li> <li>halt_no_takeover - Partner halted in notakeover mode</li> <li>log_unsync - NVRAM log unsynchronized</li> <li>unknown - No takeover due to unknown reason</li> <li>waiting_for_partner - Waiting for partner to recover</li> <li>low_memory - Low memory condition</li> <li>halting - Local halt in progress</li> <li>mailbox_uncertain - Status of partner mailbox is uncertain</li> <li>no_auto_takeover - Automatic takeover is disabled</li> <li>disk_inventory_not_exchanged - Disk inventory information not received from partner</li> <li>disk_inventory_mismatch_local - Local node missing some of partner node's file system disks</li> <li>pending_shutdown - Local node is shutting down</li> <li>dr_in_progress - metrocluster disaster recovery operation is in progress.</li> <li>mcc_node_object_limit - This node or partner node is in switchover state and MetroCluster config option node-object-limit is off in the DR group of this node.</li> </ul>

=end html

=back



=head2 takeover-options

=begin html

Takeover Options

=end html



B<Fields>

=over 2

=item * I<bypass-takeover-optimization-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if manual takeover is optimized. If optimized SFO aggregates will be relocated serially to the node that is taking over prior to takeover. This reduces client outage. Default: false Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<short-uptime-duration>  =>   B<integer, optional>

=begin html

<br>Specifies the time period, in seconds, used by the takeover-onshort-uptime-enabled parameter. Default: 60 seconds. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-detection-interval>  =>   B<integer, optional>

=begin html

<br>Specifies the amount of time, in seconds, that a node remains unresponsive before its partner initiates a takeover operation. Default: 15 seconds. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-onfailure-enabled>  =>   B<boolean, optional>

=begin html

<br>A master option that specifies whether the node takes over on any partner failure. When false, all takeovers are disabled; when true the other take over specific options are checked. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-onpanic-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the node automatically takes over if the partner node panics. Changing this parameter on one node automatically makes the same change on its partner node. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-onreboot-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the node automatically takes over if its partner reboots. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-onshort-uptime-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the node takes over if the partner node fails within short-uptime-duration seconds of starting up. Default: true Attributes: non-creatable, modifiable

=end html

=back



=head2 takeover-options-modify

=begin html

Takeover Options to Modify

=end html



B<Fields>

=over 2

=item * I<bypass-takeover-optimization-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if manual takeover is optimized. If optimized SFO aggregates will be relocated serially to the node that is taking over prior to takeover. This reduces client outage. Default: false Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<short-uptime-duration>  =>   B<integer, optional>

=begin html

<br>Specifies the time period, in seconds, used by the takeover-onshort-uptime-enabled parameter. Default: 60 seconds. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-detection-interval>  =>   B<integer, optional>

=begin html

<br>Specifies the amount of time, in seconds, that a node remains unresponsive before its partner initiates a takeover operation. Default: 15 seconds. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-onfailure-enabled>  =>   B<boolean, optional>

=begin html

<br>A master option that specifies whether the node takes over on any partner failure. When false, all takeovers are disabled; when true the other take over specific options are checked. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-onpanic-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the node automatically takes over if the partner node panics. Changing this parameter on one node automatically makes the same change on its partner node. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-onreboot-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the node automatically takes over if its partner reboots. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-onshort-uptime-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the node takes over if the partner node fails within short-uptime-duration seconds of starting up. Default: true Attributes: non-creatable, modifiable

=end html

=back



=head2 takeover-reason

=begin html

FM Takeover Reason Possible values: <ul> <li> "takeover_none" - None, <li> "takeover_immediate" - Immediate takeover, <li> "takeover_ndu" - NDU Takeover, <li> "takeover_forced" - Forced Takeover, <li> "takeover_disaster" - Disaster Takeover, <li> "takeover_early" - Early Takeover, <li> "takeover_operator_exp" - Takeover Operator Timeout, <li> "takeover_post_failed" - Takeover POST Failed, <li> "takeover_panic" - Takeover On Panic, <li> "takeover_shortuptime" - Takeover On Short Uptime, <li> "takeover_sparecore_exp" - Takeover On Sparecore Timeout, <li> "takeover_reboot_exp" - Takeover On Reboot Timeout, <li> "takeover_booting_exp" - Takeover On Booting Timeout, <li> "takeover_firmware_exp" - Takeover On Firmware Timeout, <li> "takeover_nfo_shutdown" - Takeover On Negotiated Failover, <li> "takeover_nfo_timer" - Takeover On Negotiated Failover Timeout, <li> "takeover_mdp" - Takeover On MDP, <li> "takeover_reboot" - Takeover On Reboot, <li> "takeover_halt" - Takeover On Halt, <li> "takeover_clam" - CLAM Initiated Takeover, <li> "takeover_hwassist" - H/w assisted Takeover, <li> "takeover_normal" - Operator initiated takeover, <li> "takeover_comm_err" - Takeover On Communication Error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 takeover-related-info

=begin html

Takeover related Info

=end html



B<Fields>

=over 2

=item * I<takeover-by-partner-not-possible-reason>  =>   B<reason-takeover-not-possible[], optional>

=begin html

<br>It list of one or more reasons why takeover by partner is not possible. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<takeover-by-partner-possible>  =>   B<boolean, optional>

=begin html

<br>True, if storage failover takeover is currently possible. by the partner, false otherwise. Note that this is the local node's view of partner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<takeover-enabled>  =>   B<boolean, optional>

=begin html

<br>True, if the storage failover facility is enabled, false otherwise. Note that the facility can be enabled but takeover may not be possible due to various reasons. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<takeover-failure-reason>  =>   B<string, optional>

=begin html

<br>This is the reason for the takeover failure. Possible values are: <ul> <li>shutdown_in_progress - shutdown is in progress</li> <li>aggr_relocation_in_progress - aggregate relocation is in progress</li> <li>giveback_in_progress - giveback is in progress</li> <li>takeover_in_progress - takeover is in progress </li> <li>unknown_partner_id - node could not detect its partner's system ID</li> <li>conflicting_sysid - node has the same system ID as its partner</li> <li>pri_mbx_update_error - node could not update its primary mailbox</li> <li>takeover_disabled_by_partner - partner has disabled takeover</li> <li>cannot_takeover_partner_subsystem - node failed to takeover one of partner's subsystems</li> <li>non_etc_or_rc_boot - it is not possible to takeover in a non-etc/rc boot</li> <li>bck_mbx_update_error - node could not update its backup mailbox</li> <li>partner_taking_over - partner is taking over local node </li> <li>revert_in_progress - revert is in progress </li> <li>disaster_recovery_in_progress - disaster recovery operation is in progress</li> <li>headswap_in_progress - headswap is in progress </li> <li>destination_check_failed - destination check failed </li> <li>communication_failed - communication with destination failed</li> <li>operation_aborted - operation was aborted </li> <li>aggr_not_online - destination node did not online the aggregate being relocated in time </li> <li>sfo_disabled - storage failover service is not enabled </li> <li>partner_taking_over - partner is taking over local node </li> <li>bdfu_not_disabled_source - failed to disable background disk firmware update (BDFU) on local node </li> <li>bdfu_not_disabled_dest - failed to disable background disk firmware update (BDFU) on partner node </li> <li>partner_shutting_down - shutdown is in progress on the partner node</li> <li>partner_aggr_relocation_in_progress - aggregate relocation is in progress on the partner node</li> <li>partner_giveback_in_progress - giveback is in progress on the partner node</li> <li>partner_revert_in_progress - revert is in progress on the partner node </li> <li>partner_disaster_recovery_in_progress - disaster recovery operation is in progress on the partner node</li> <li>partner_in_headswap - headswap is in progress on the partner node</li> </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<takeover-module>  =>   B<string, optional>

=begin html

<br>The current module takeover process is in. e.g. WAFL Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<takeover-of-partner-not-possible-reason>  =>   B<reason-takeover-not-possible[], optional>

=begin html

<br>If takeover-possible field is false, it lists of one or more reasons why takeover of partner is not possible. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<takeover-of-partner-possible>  =>   B<boolean, optional>

=begin html

<br>True, if storage failover takeover is currently possible, false otherwise. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<takeover-reason>  =>   B<takeover-reason, optional>

=begin html

<br>List of reasons why a takeover can happen. Possible values are: <ul> <li>none - Not in takeover </li> <li>takeover_normal - Operator initiated takeover <li>takeover_immediate - Operator initiated forced takeover</li> <li>takeover_ndu - Takeover initiated as part of NDU </li> <li>takeover_forced - Operator initiated forced takeover, possible data loss</li> <li>takeover_early - Takeover occuring during bootup of a filer </li> <li>takeover_operator_exp - Takeover occuring after operator timeout expired </li> <li>takeover_post_failed - Takeover occuring on POST failure </li> <li>takeover_panic - Takeover on panic </li> <li>takeover_shortuptime - Takeover after quick toggling between up & down states <li> <li>takeover_sparecore_exp - Takeover on panic timeout expiry </li> <li>takeover_reboot_exp - Takeover on reboot timer expiry </li> <li>takeover_booting_exp - Takeover on booting timer expiry </li> <li>takeover_nfo_shutdown - Takeover on negotiated failover shutdown </li> <li>takeover_nfo_timer - Takeover on negotiated failover timer expiry </li> <li>takeover_mdp - Takeover on multi-disk panic </li> <li>takeover_reboot - Takeover on reboot </li> <li>takeover_halt - Takeover on halt</li> <li>takeover_clam - CLAM triggered takeover </li> <li>takeover_hwassist - H/w assisted takeover </li> </ul> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "takeover_none" - None, <li> "takeover_immediate" - Immediate takeover, <li> "takeover_ndu" - NDU Takeover, <li> "takeover_forced" - Forced Takeover, <li> "takeover_disaster" - Disaster Takeover, <li> "takeover_early" - Early Takeover, <li> "takeover_operator_exp" - Takeover Operator Timeout, <li> "takeover_post_failed" - Takeover POST Failed, <li> "takeover_panic" - Takeover On Panic, <li> "takeover_shortuptime" - Takeover On Short Uptime, <li> "takeover_sparecore_exp" - Takeover On Sparecore Timeout, <li> "takeover_reboot_exp" - Takeover On Reboot Timeout, <li> "takeover_booting_exp" - Takeover On Booting Timeout, <li> "takeover_firmware_exp" - Takeover On Firmware Timeout, <li> "takeover_nfo_shutdown" - Takeover On Negotiated Failover, <li> "takeover_nfo_timer" - Takeover On Negotiated Failover Timeout, <li> "takeover_mdp" - Takeover On MDP, <li> "takeover_reboot" - Takeover On Reboot, <li> "takeover_halt" - Takeover On Halt, <li> "takeover_clam" - CLAM Initiated Takeover, <li> "takeover_hwassist" - H/w assisted Takeover, <li> "takeover_normal" - Operator initiated takeover, <li> "takeover_comm_err" - Takeover On Communication Error </ul>

=end html

=back



=over 2

=item * I<takeover-state>  =>   B<string, optional>

=begin html

<br>Takeover state of the node. Possible values are: <ul> <li>takeover_failed - Takeover Failed</li> <li>sfo_takeover_in_progress - SFO phase of takeover of partner is in progress</li> <li>relocating_aggrs_before_takeover - Relocating aggregates to partner as a takeover was initiated by partner</li> <li>cfo_takeover_scheduled - CFO phase of takeover is scheduled</li> <li>relocated_aggrs_before_takeover - Relocated aggregates to partner after a takeover was initiated by partner</li> <li>takeover_by_partner_failed - A takeover attempt by partner failed. Refer to takeover-failure-reason field to check the reason for takeover failure.</li> <li>in_takeover - Node is in takeover</li> <li>takeover_started - A takeover is in progress</li> <li>takeover_scheduled - A takeover of partner is scheduled</li> Refer to time-until-takeover field to check time remaining till takeover.</li> <li>not_in_takeover - Local node is not in takeover</li></ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time-since-takeover>  =>   B<integer, optional>

=begin html

<br>Time in milliseconds since the local node has taken over partner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time-until-takeover>  =>   B<integer, optional>

=begin html

<br>This is the countdown time in seconds until takeover is started. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 takeover-status

=begin html

Takeover status of a node and all of its partner aggregates. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, assuming that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate-takeover-status>  =>   B<string>

=begin html

<br>Takeover status of the partner aggregate. This includes the reason for the failure of takeover of an aggregate. If takeover is in progress in a particular module, or if takeover was vetoed by a particular module, that is also indicated. Possible values include: <ul> <li>Done</li> <li>Failed</li> <li>In progress, Module: wafl</li> <li>Not attempted yet</li> <li>Failed: Operation was vetoed, Module: example. The aggregate will be taken over during CFO phase of takeover.</li> <li>Failed: Aggregate does not have SFO HA policy. The aggregate will be taken over during CFO phase of takeover.</li> <li>Failed: Aggregate is in failed or limbo state. The aggregate will be taken over during CFO phase of takeover.</li> <li>Failed to offline the aggregate. The aggregate will be taken over during CFO phase of takeover.</li> <li>No aggregates to relocate</li> <li>Failed: Node cannot communicate with the destination node. To takeover the remaining aggregates, run the "storage failover takeover -ofnode <node_to_be_taken_over> -bypass-optimization true" command. To giveback the relocated aggregates, run the "storage failover giveback -ofnode <node_to_be_given_back>" command.</li> <li>Failed: Destination node did not online the aggregate on time. To takeover the remaining aggregates, run the "storage failover takeover -ofnode <node_to_be_taken_over> -bypass-optimization true" command. To giveback the relocated aggregates, run the "storage failover giveback -ofnode <node_to_be_given_back>" command.</li> <li>Failed: Destination node failed to online the aggregate. To takeover the remaining aggregates, run the "storage failover takeover -ofnode <node_to_be_taken_over> -bypass-optimization true" command. To giveback the relocated aggregates, run the "storage failover giveback -ofnode <node_to_be_given_back>" command.</li> <li>Failed: Destination cannot receive the aggregate. To takeover the remaining aggregates, run the "storage failover takeover -ofnode <node_to_be_taken_over> -bypass-optimization true" command. To giveback the relocated aggregates, run the "storage failover giveback -ofnode <node_to_be_given_back>" command.</li> <li>Failed: Aggregate is restricted. The aggregate will be taken over during CFO phase of takeover.</li> <li>Failed: Aggregate does not have disks. The aggregate will be taken over during CFO phase of takeover.</li> <li>Failed: Aggregate is foreign. The aggregate will be taken over during CFO phase of takeover.</li> <li>Failed: Aggregate is offline. The aggregate will be taken over during CFO phase of takeover.</li> <li>Failed: Mirrored aggregate does not have both plexes online. The aggregate will be taken over during CFO phase of takeover.</li> <li>Failed, could not disable firmware updates on <node_where_BDFU_could_not_be_disabled>.</li> </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-takeover-status>  =>   B<string>

=begin html

<br>Takeover status of the node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<taken-over-aggregate>  =>   B<string>

=begin html

<br>Name of the taken over aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 timeout-info

=begin html

Failover monitor timeouts.

=end html



B<Fields>

=over 2

=item * I<booting>  =>   B<integer>

=begin html

<br>booting timeout, in milliseconds

=end html

=back



=over 2

=item * I<connect>  =>   B<integer>

=begin html

<br>connect timeout, in milliseconds

=end html

=back



=over 2

=item * I<dumpcore>  =>   B<integer>

=begin html

<br>dumpcore timeout, in milliseconds

=end html

=back



=over 2

=item * I<fast>  =>   B<integer>

=begin html

<br>fast timeout, in milliseconds

=end html

=back



=over 2

=item * I<firmware>  =>   B<integer>

=begin html

<br>firmware timeout, in milliseconds

=end html

=back



=over 2

=item * I<mailbox>  =>   B<integer>

=begin html

<br>mailbox timeout, in milliseconds

=end html

=back



=over 2

=item * I<operator>  =>   B<integer>

=begin html

<br>operator timeout, in milliseconds

=end html

=back



=over 2

=item * I<reboot>  =>   B<integer, optional>

=begin html

<br>reboot timeout, in milliseconds

=end html

=back



=over 2

=item * I<slow>  =>   B<integer>

=begin html

<br>slow timeout, in milliseconds

=end html

=back



=over 2

=item * I<transit>  =>   B<integer>

=begin html

<br>transit timeout, in milliseconds

=end html

=back



=over 2

=item * I<transit-timer-enabled>  =>   B<boolean>

=begin html

<br>True, if the transit timer is enabled

=end html

=back



=head2 volume-name

=begin html

The name of a volume. The maximum string length is 255 characters.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 anonymous-restriction-level

=begin html

Classification of the CIFS null user restriction. Possible values: <ul> <li> "no_restriction" - No Access Restriction for Anonymous User., <li> "no_enumeration" - Only Enumeration Is Restricted., <li> "no_access" - Access Restricted for Anonymous User. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 auth-mechanism

=begin html

The list of possible known authentication mechanisms supported by the CIFS server. Possible values: <ul> <li> "None" - None <li> "NTLMv1" - NTLMv1 <li> "NTLMv2" - NTLMv2 <li> "Kerberos" - Kerberos <li> "Anonymous" - Anonymous </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-access-perms

=begin html

access rights Possible values: <ul> <li> "no_access" - No access, <li> "read" - Read, <li> "change" - Change, <li> "full_control" - Full Control, <li> "custom" - Custom </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-auth-style

=begin html

domain|workgroup|realm Possible values: <ul> <li> "domain" - DOMAIN, <li> "workgroup" - WORKGROUP, <li> "realm" - KERBEROS REALM </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-bc-version-control

=begin html

Versions of CIFS BranchCache that are currently supported.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-branchcache

=begin html

CIFS BranchCache configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<hash-store-max-size>  =>   B<size, optional>

=begin html

<br>Maximum size the hash store can grow to. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<hash-store-path>  =>   B<string, optional>

=begin html

<br>Path to the directory where hash files are stored. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<operating-mode>  =>   B<string, optional>

=begin html

<br>The mode in which the BranchCache service will operate. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<server-key>  =>   B<string, optional>

=begin html

<br>BranchCache server key. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<versions>  =>   B<cifs-bc-version-control[], optional>

=begin html

<br>Versions of the BranchCache protocol that are supported. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver associated with this CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-ca-protection

=begin html

The list of possible protection levels. Open files are "Continuously Available" if they are opened from an SMB 3 client through a share with the "continuously_available" property set. These open files are capable of non-disruptively recovering from takeover and giveback as well as general aggregate relocation between partners in a high-availability relationship. This is in addition to the traditional SMB 2 capability allowing clients to recover from LIF migration and other brief network interruptions. Note: The CA protection levels depicts the continuous availability at the connection level so it might not be accurate for a session if the connection has multiple sessions. Streams opened through a continuously available share are permitted, but are not currently made continuously available. Directories may be opened through a continuously available share, but will not appear continuously available as clients do not open them that way by design. These protection levels are applicable to the sessions/files on read/write volumes on SFO aggregates. Possible values: <ul> <li> "No" - The open file is not continuously available. For sessions, it contains one or more open files but none of them are continuously available. <li> "Yes" - The open file is continuously available. For sessions, it contains one or more open files and all of them are continuously available. <li> "Partial" - This value is used for sessions only. It contains at least one continuously available open file but other open files that are not. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-character-mapping

=begin html

Display a character mapping When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<mapping>  =>   B<string[], optional>

=begin html

<br>The mapping for invalid characters in the format XX:XXXX. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>The name of the volume for which character mapping needs to be applied. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Name on which the volume exists. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-connection

=begin html

Displays established CIFS connections When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<connection-id>  =>   B<integer, optional>

=begin html

<br>The unique identifier for the connection. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<lif-ip>  =>   B<ip-address, optional>

=begin html

<br>The data lif that is used to establish the connection. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<network-context-id>  =>   B<integer, optional>

=begin html

<br>The network context id associated with the connection. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node on which the connection listing is done. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer[], optional>

=begin html

<br>The sessions that are associated with this connection. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The Vserver name on which the connection listing is done. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<workstation-ip>  =>   B<ip-address, optional>

=begin html

<br>The ip address of the workstation from which the connection is established. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<workstation-port>  =>   B<integer, optional>

=begin html

<br>The TCP port of the workstation through which the connection is established. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cifs-dialects

=begin html

The list of possible known dialects Dialects negotiated by CIFS servers. Possible values: <ul> <li> "SMB1" - SMB 1.0 <li> "SMB2" - SMB 2.0 <li> "SMB2_1" - SMB 2.1 <li> "SMB3" - SMB 3.0 </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-domain-discovered-server-funclvl

=begin html

win2000|unknown|win2003|win2008|win2008r2|win2012|win2012r2|win2016|winthreshold Possible values: <ul> <li> "win2000" - WIN2000, <li> "unknown" - The DC functionality level is unknown, <li> "win2003" - WIN2003, <li> "win2008" - WIN2008, <li> "win2008r2" - WIN2008R2, <li> "win2012" - WIN2012, <li> "win2012r2" - WIN2012R2, <li> "win2016" - WIN2016, <li> "winthreshold" - WINTHRESHOLD </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-domain-discovered-server-status

=begin html

Classification of server based on the status of the connection. Possible values: <ul> <li> "ok" - The connection to this server is usable., <li> "unavailable" - This server is currently unavailable for use., <li> "slow" - The connection to this server is usable but slow., <li> "expired" - The connection to this server has expired., <li> "undetermined" - A connection to this server has not been attempted., <li> "unreachable" - This server is currently unreachable. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-domain-discovered-server-type

=begin html

The classification of servers based on service provided. Possible values: <ul> <li> "unknown" - The server type is not known, <li> "kerberos" - Kerberos server, <li> "ms_ldap" - Microsoft Lightweight Directory Access Protocol (LDAP) server, <li> "ms_dc" - Microsoft Domain Controller, <li> "ldap" - Lightweight Directory Access Protocol (LDAP) server, <li> "nis" - Network Information Service (NIS) server </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-domain-discovered-servers

=begin html

List of servers discovered by the cluster. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<inet-address, optional>

=begin html

<br>The IP address of the server that was discovered. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dc-functional-level>  =>   B<cifs-domain-discovered-server-funclvl, optional>

=begin html

<br>DC Functional Level Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "win2000" - WIN2000, <li> "unknown" - The DC functionality level is unknown, <li> "win2003" - WIN2003, <li> "win2008" - WIN2008, <li> "win2008r2" - WIN2008R2, <li> "win2012" - WIN2012, <li> "win2012r2" - WIN2012R2, <li> "win2016" - WIN2016, <li> "winthreshold" - WINTHRESHOLD </ul>

=end html

=back



=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>The Active Directory domain that the discovered server is a member of. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-dc-read-only>  =>   B<boolean, optional>

=begin html

<br>Is DC Read Only Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>The hostname of the server that was discovered. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node on which server discovery was done. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<prefer-type>  =>   B<cifs-domain-server-prefer-type, optional>

=begin html

<br>The preference level of the server that was discovered. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The preference level of this server is unknown., <li> "preferred" - This server was administratively marked as a preferred server due to its presence in the list of preferred servers., <li> "favored" - This server was marked as favored by the server discovery process by virtue of site membership., <li> "adequate" - This server was discovered by the server discovery process and can be used, but has no preference associated with it. </ul>

=end html

=back



=over 2

=item * I<protocol-version>  =>   B<cifs-dialects, optional>

=begin html

<br>Negotiated SMB Protocol Version Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "smb1" - SMB 1.0, <li> "smb2" - SMB 2.0, <li> "smb2_1" - SMB 2.1, <li> "smb3" - SMB 3.0, <li> "smb3_1" - SMB 3.1 </ul>

=end html

=back



=over 2

=item * I<server-type>  =>   B<cifs-domain-discovered-server-type, optional>

=begin html

<br>The type of the server that was discovered. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The server type is not known, <li> "kerberos" - Kerberos server, <li> "ms_ldap" - Microsoft Lightweight Directory Access Protocol (LDAP) server, <li> "ms_dc" - Microsoft Domain Controller, <li> "ldap" - Lightweight Directory Access Protocol (LDAP) server, <li> "nis" - Network Information Service (NIS) server </ul>

=end html

=back



=over 2

=item * I<status>  =>   B<cifs-domain-discovered-server-status, optional>

=begin html

<br>The status of the connection to the server that was discovered. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - The connection to this server is usable., <li> "unavailable" - This server is currently unavailable for use., <li> "slow" - The connection to this server is usable but slow., <li> "expired" - The connection to this server has expired., <li> "undetermined" - A connection to this server has not been attempted., <li> "unreachable" - This server is currently unreachable. </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver which scopes the discovered servers. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-domain-name-mapping-search

=begin html

List of trusted domains, organized by Vserver. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<trusted-domains>  =>   B<realm-name[], optional>

=begin html

<br>The list of trusted domains used for name-mapping. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver containing the CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-domain-password-schedule

=begin html

CIFS domain password schedule parameters When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-schedule-enabled>  =>   B<boolean, optional>

=begin html

<br>Value of this field indicates whether domain account password change schedule is enabled or not. Value of true indicates schedule is enabled. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<schedule-day-of-week>  =>   B<cron-day-of-week, optional>

=begin html

<br>This field specifies the day of week when the scheduled domain account password change occurs Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<schedule-randomized-minute>  =>   B<integer, optional>

=begin html

<br>This field specifies the minutes within which the scheduled domain account password start time can be randomized beginning schedule-time-of-day Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<schedule-time-of-day>  =>   B<time-of-day, optional>

=begin html

<br>This field specifies the time in HH:MM:SS at which the scheduled domain account password change starts Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<schedule-weekly-interval>  =>   B<integer, optional>

=begin html

<br>This field specifies the number of weeks after which the scheduled domain account password change must occur Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-domain-preferred-dc

=begin html

List of preferred domain controllers associated with an Active Directory domain, organized by Vserver. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>The fully qualified domain name of the Active Directory domain to which the domain controllers in the list belong. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<preferred-dc>  =>   B<inet-address[], optional>

=begin html

<br>The list of preferred domain controller IP addresses. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver containing the CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-domain-server-discovery-mode

=begin html

The mode of server discovery. Possible values: <ul> <li> "all" - Discover all the servers in the domain., <li> "site" - Discover the servers local to the site., <li> "none" - Discover nothing. Expect admins to configure pref-dcs. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-domain-server-discovery-mode-info

=begin html

CIFS domain server discovery mode When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<mode>  =>   B<cifs-domain-server-discovery-mode, optional>

=begin html

<br>Server discovery mode Attributes: required-for-create, modifiable Possible values: <ul> <li> "all" - Discover all the servers in the domain., <li> "site" - Discover the servers local to the site., <li> "none" - Discover nothing. Expect admins to configure pref-dcs. </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-domain-server-prefer-type

=begin html

The preference level of the server either set due to configuration or due to the site membership determined by server discovery. Possible values: <ul> <li> "unknown" - The preference level of this server is unknown., <li> "preferred" - This server was administratively marked as a preferred server due to its presence in the list of preferred servers., <li> "favored" - This server was marked as favored by the server discovery process by virtue of site membership., <li> "adequate" - This server was discovered by the server discovery process and can be used, but has no preference associated with it. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-domain-trusts

=begin html

List of trusted domains discovered. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<home-domain>  =>   B<realm-name, optional>

=begin html

<br>The fully-qualified domain name of the Active Directory domain the CIFS server is joined to. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node on which discovery was done. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<trusted-domain>  =>   B<realm-name[], optional>

=begin html

<br>A domain that has a trust relationship with the home domain. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver which scopes the discovered trusted domains. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-file-type

=begin html

The list of possible types of files opened through CIFS servers. Possible values: <ul> <li> "Regular" - Regular file <li> "Symlink" - Symlink file <li> "Stream" - Stream file <li> "Directory" - Directory </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-filesystem-sector-size

=begin html

CIFS File System Sector sizes reported to SMB Clients (in bytes). Possible values: <ul> <li> "512" - Reported file system sector size to SMB clients is 512 bytes, <li> "4096" - Reported file system sector size to SMB clients is 4096 bytes </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-home-directory

=begin html

Handle cifs home directory related configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-home-dirs-access-for-admin-enabled>  =>   B<boolean, optional>

=begin html

<br>Is home directory access is enabled to admin. Default value is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-home-dirs-access-for-public-enabled>  =>   B<boolean, optional>

=begin html

<br>Is home directory access is enabled to public. Default value is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing the CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-home-directory-search-path

=begin html

This is a list of CIFS Home Directory search paths. When a CIFS client connects to a home directory share, these paths are searched in the order indicated by the 'position' field to find the user's home directory. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The file system path that will be searched for finding a CIFS user's home directory. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<position>  =>   B<integer, optional>

=begin html

<br>The position of this entry in the list of paths that will be searched for finding a CIFS user's home directory. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver associated with this CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-local-group

=begin html

List of local groups, organized by Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>The description of the local group Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<group-name>  =>   B<cifs-name, optional>

=begin html

<br>The name of the local group Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-local-group-members

=begin html

List of local groups, organized by Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<group-name>  =>   B<cifs-name, optional>

=begin html

<br>The name of the local group Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<member>  =>   B<cifs-name, optional>

=begin html

<br>The member of a local group Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-local-user

=begin html

List of local users, organized by Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>The description of the local user Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<full-name>  =>   B<string, optional>

=begin html

<br>Full name of the local user Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-account-disabled>  =>   B<boolean, optional>

=begin html

<br>The user account is disabled Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<user-name>  =>   B<cifs-name, optional>

=begin html

<br>The name of the local user Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-local-user-membership

=begin html

List of local users' membership information, organized by Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<membership>  =>   B<cifs-name, optional>

=begin html

<br>The membership of the local user Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<user-name>  =>   B<cifs-name, optional>

=begin html

<br>The name of the local user Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-name

=begin html

null

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-nbtstat

=begin html

Display NetBIOS Statistics. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<nbt-mode>  =>   B<string, optional>

=begin html

<br>Mode in which the NetBIOS Name Service is configured. Possible values: 'p' - Point to Point, 'h' - Hybrid, 'm' - Mixed or 'b' - Broadcast. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nbt-name-state>  =>   B<string, optional>

=begin html

<br>Registration State of NetBIOS Name. Possible values: 'must_register', 'must_unregister', 'wins', 'broadcast', 'name_released', 'wins_conflict', 'broadcast_conflict. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nbt-scope>  =>   B<string, optional>

=begin html

<br>Scope is used as a name for the set of NetBIOS nodes that participate in an NBT virtual LAN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netbios-name>  =>   B<string, optional>

=begin html

<br>NetBIOS Name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netbios-suffix>  =>   B<string, optional>

=begin html

<br>A NetBIOS suffix is the 16th character of the 16-character NetBIOS name. The NetBIOS suffix is used by Microsoft Networking software to identify functionality installed on the registered device. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The name of the node on which nbtstat was done. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<registered-addresses>  =>   B<ip-address[], optional>

=begin html

<br>List of interface IP Addresses for which the NetBIOS Name is registered. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<registered-type>  =>   B<string, optional>

=begin html

<br>Name registration type. Possible values: 'registered', 'active', 'permanent', 'group'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<registration-time-left-minutes>  =>   B<integer, optional>

=begin html

<br>Time left in minutes for a name registered with WINS. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The Vserver name on which nbtstat was done. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wins-entries>  =>   B<L<"wins-entry-info">[], optional>

=begin html

<br>Windows Internet Name Server (WINS) information

=end html

=back



=head2 cifs-open-mode

=begin html

The list of possible modes used when opening files over CIFS servers. Possible values: <ul> <li> "R" - The file opened for read operation. <li> "W" - The file opened for write operation. <li> "D" - The file opened for delete operation. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-options

=begin html

The CIFS specific tunables that can be set on a Vserver. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<client-session-timeout>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the amount of idle time (in seconds) before a CIFS session is disconnected Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<default-unix-group>  =>   B<string, optional>

=begin html

<br>The default UNIX group used if the identity of a CIFS group cannot be mapped using normal group mapping rules. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<default-unix-user>  =>   B<string, optional>

=begin html

<br>The default UNIX user used if the identity of a CIFS user cannot be mapped using normal user mapping rules. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-system-sector-size>  =>   B<cifs-filesystem-sector-size, optional>

=begin html

<br>This optional parameter specifies the size of file system sector in bytes reported to SMB Clients. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "512" - Reported file system sector size to SMB clients is 512 bytes, <li> "4096" - Reported file system sector size to SMB clients is 4096 bytes </ul>

=end html

=back



=over 2

=item * I<grant-unix-group-perms-to-others>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether UNIX group permissions should be granted to others when Windows clients access files on a UNIX security-style Volume/Qtree as well as mixed security style Volume/Qtree, as long as the effective security style on the file is UNIX. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<guest-unix-user>  =>   B<string, optional>

=begin html

<br>This optional parameter specifies that a guest user coming from any untrusted domain can be mapped to specified UNIX user. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-admin-users-mapped-to-root-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies that if name-mapping is not present for members of BUILTIN\Administrators group then whether they can be mapped to Unix User 'root'. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-advanced-sparse-file-support-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether advanced sparse file capabilities, such as Query Allocated Ranges and Set Zero Data, are enabled on the CIFS server. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-advertise-dfs-enabled>  =>   B<boolean, optional>

=begin html

<br>(DEPRECATED) This optional parameter specifies whether to advertise DFS referral of the CIFS protocol. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-client-dup-detection-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server should detect duplicate sessions coming from the same SMB 1.0 client with VcNumber of zero (0). The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-client-version-reporting-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether to report the client version through ASUP. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-copy-offload-direct-copy-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the Direct-Copy Copy Offload mechanism is enabled or not. Default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-copy-offload-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server is capable of performing copy offload operation. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-dac-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server supports Dynamic Access Control. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-exportpolicy-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server uses export policies to control client access. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-fake-open-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server supports fake open requests. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-fsctl-file-level-trim-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether trim requests (FSCTL_FILE_LEVEL_TRIM) are supported on the cifs server. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-hide-dotfiles-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server should hide files and directories beginning with a dot '.' during directory enumeration. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-large-mtu-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies that the SMB 2.1 Large MTU feature is supported. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-local-auth-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether CIFS local users can authenticate. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-local-users-and-groups-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS local users and groups feature is enabled on the cluster. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-multichannel-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server supports Multichannel or not. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nbns-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies that NBNS (port 137) is enabled or not. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-netbios-over-tcp-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies that the use of NetBIOS over TCP (port 139) is enabled or not. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-path-component-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS path component cache is enabled for SMB2 or not. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-path-component-cache-symlink-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS symlink resolution for path component cache is enabled for SMB2 or not. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-read-only-delete-enabled>  =>   B<enable, optional>

=begin html

<br>This optional parameter specifies that a file can be deleted using UNIX delete semantics when the DOS read-only bit is enabled. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "enabled" , <li> "disabled" </ul>

=end html

=back



=over 2

=item * I<is-referral-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server refers clients to more optimal data access paths (LIFs). The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-search-short-names-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server supports searching short names. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-shadowcopy-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server is capable of performing shadow copy operations. Directories and files within a FlexGroup will not be shadow copied because FlexGroups do not support shadow copy. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-smb1-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server negotiates the SMB1 versions of the CIFS protocol. The default value for this parameter is true for Vservers with Infinite Volume. For other data Vservers, the default value is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-smb2-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server negotiates the SMB2 versions of the CIFS protocol. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-smb3-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server negotiates the SMB3 version of the CIFS protocol. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-smb31-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server negotiates the SMB3.1 version of the CIFS protocol. The default value for this parameter is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-trusted-domain-enum-search-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server is capable of performing enumeration of trusted domains and search to map a UNIX user to a Windows user. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-unix-extensions-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether CIFS server is capable of supporting UNIX Extensions. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-unix-nt-acl-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether NT ACLs can be set on a volume with UNIX security-style. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-use-junctions-as-reparse-points-enabled>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether the CIFS server exposes junction points as reparse points to Windows clients. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-connections-per-session>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum number of connections allowed per Multichannel session. The default value for this parameter is 32. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-file-write-zero-length>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum length of data in bytes that the CIFS server can write zero with one CIFS request. This parameter accepts data lengths between 4 KB and 32 MB. The default value for this option is 32 MB. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-lifs-per-session>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum number of network interfaces advertised per Multichannel session. The default value for this parameter is 256. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-mpx>  =>   B<integer, optional>

=begin html

<br>This option controls maximum simultaneous operations the CIFS server reports it can process per TCP connection. The default value for this option is 255. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-opens-same-file-per-tree>  =>   B<integer, optional>

=begin html

<br>This option controls maximum existing opens on the same file per CIFS Tree. The default value for this option is 1000. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-same-tree-connect-per-session>  =>   B<integer, optional>

=begin html

<br>This option controls maximum simultaneous CIFS connections to the same share per CIFS session. The default value for this option is 5000. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-same-user-sessions-per-connection>  =>   B<integer, optional>

=begin html

<br>This option controls maximum simultaneous sessions by the same user per TCP connection. The default value for this option is 2500. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-watches-set-per-tree>  =>   B<integer, optional>

=begin html

<br>This option controls maximum watches that can be set per CIFS Tree. The default value for this option is 500. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<path-component-cache-entry-exp-time>  =>   B<integer, optional>

=begin html

<br>This optional parameter controls the time in milliseconds when the path component cache entry would be considered fresh. The default value for this parameter is 15000 milliseconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<path-component-cache-max-entries>  =>   B<integer, optional>

=begin html

<br>This optional parameter control the maximum number of cache entries in one instance of path component cache. The default value for this parameter is 5000. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<path-component-cache-max-session-token-size>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies maximum session token size for path component cache for SMB2. The default value for this parameter is 1000. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<path-component-cache-symlink-exp-time>  =>   B<integer, optional>

=begin html

<br>This optional parameter controls the time in milliseconds when the path component cache entry that is symlink would be considered fresh. The default value for this parameter is 15000 milliseconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<read-grants-execute>  =>   B<enable, optional>

=begin html

<br>On a file with UNIX Style security effective on it, if the file has read permission on it, a CIFS user would be allowed to execute permissions if this option is enabled. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "enabled" , <li> "disabled" </ul>

=end html

=back



=over 2

=item * I<restrict-anonymous>  =>   B<anonymous-restriction-level, optional>

=begin html

<br>This optional parameter specifies what level of access will a non authenticated user get Attributes: optional-for-create, modifiable Possible values: <ul> <li> "no_restriction" - No Access Restriction for Anonymous User., <li> "no_enumeration" - Only Enumeration Is Restricted., <li> "no_access" - Access Restricted for Anonymous User. </ul>

=end html

=back



=over 2

=item * I<shadowcopy-dir-depth>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum depth of directories to shadow copy. Directories and files within a FlexGroup will not be shadow copied because FlexGroups do not support shadow copy. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<smb1-max-buffer-size>  =>   B<integer, optional>

=begin html

<br>This optional parameter specifies the maximum buffer size used for SMB1 message that the server can receive. The default value for this parameter is 65535. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver associated with this CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<widelink-as-reparse-point-versions>  =>   B<cifs-dialects[], optional>

=begin html

<br>This optional parameter specifies for which CIFS protocol versions widelink will be reported as reparse points. The default value for this parameter is SMB1. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "smb1" - SMB 1.0, <li> "smb2" - SMB 2.0, <li> "smb2_1" - SMB 2.1, <li> "smb3" - SMB 3.0, <li> "smb3_1" - SMB 3.1 </ul>

=end html

=back



=over 2

=item * I<win-name-for-null-user>  =>   B<string, optional>

=begin html

<br>This optional parameter specifies a valid Windows user or group name that will be added to the CIFS credentials for a NULL user Session. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<wins-servers>  =>   B<inet-address[], optional>

=begin html

<br>List of Windows Internet Name Service (WINS) IP addresses. The Vserver will send NetBIOS name resolution requests to these addresses. Attributes: optional-for-create, modifiable

=end html

=back



=head2 cifs-privilege

=begin html

List of privileges assigned to local or Active Directory users or groups, organized by Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<privileges>  =>   B<cifs-privilege-entries[], optional>

=begin html

<br>The privileges associated with a local or Active Directory user or group Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "setcbprivilege" - Act as part of the operating system, <li> "sebackupprivilege" - Back up files and directories, overriding any ACLs, <li> "serestoreprivilege" - Restore files and directories, overriding any ACLs, <li> "setakeownershipprivilege" - Take ownership of files or other objects, <li> "sesecurityprivilege" - Manage auditing and viewing/dumping/clearing the security log, <li> "sechangenotifyprivilege" - Bypass traverse checking </ul>

=end html

=back



=over 2

=item * I<user-or-group-name>  =>   B<cifs-name, optional>

=begin html

<br>The name of the local or Active Directory user or group Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-privilege-entries

=begin html

Privilege Possible values: <ul> <li> "setcbprivilege" - Act as part of the operating system, <li> "sebackupprivilege" - Back up files and directories, overriding any ACLs, <li> "serestoreprivilege" - Restore files and directories, overriding any ACLs, <li> "setakeownershipprivilege" - Take ownership of files or other objects, <li> "sesecurityprivilege" - Manage auditing and viewing/dumping/clearing the security log, <li> "sechangenotifyprivilege" - Bypass traverse checking </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-security

=begin html

CIFS security tunable parameters. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-aes-encryption-enabled>  =>   B<boolean, optional>

=begin html

<br>This option determines whether AES-128 and AES-256 encryption mechanisms are enabled for Kerberos-related CIFS communication. By default this option is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-password-complexity-required>  =>   B<boolean, optional>

=begin html

<br>This option determines whether password complexity is required for local users. By default this option is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-signing-required>  =>   B<boolean, optional>

=begin html

<br>This option determines whether signing is required for incoming CIFS traffic. By default this option is false. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-smb-encryption-required>  =>   B<boolean, optional>

=begin html

<br>This option determines whether SMB encryption is required for incoming CIFS traffic. By default this option is false. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<kerberos-clock-skew>  =>   B<integer, optional>

=begin html

<br>The clock skew in minutes is the tolerance for accepting tickets with time stamps that do not exactly match the host's system clock. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<kerberos-kdc-timeout>  =>   B<integer, optional>

=begin html

<br>This option determines the timeout value in seconds for KDC connections. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<kerberos-renew-age>  =>   B<integer, optional>

=begin html

<br>This option determines the maximum amount of time in days for which a ticket can be renewed. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<kerberos-ticket-age>  =>   B<integer, optional>

=begin html

<br>This option determines the maximum amount of time in hours that a user's ticket may be used for the purpose of Kerberos authentication. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<lm-compatibility-level>  =>   B<lm-compatibility-level, optional>

=begin html

<br>This option determines the LM compatibility level. By default this option is 'LM, NTLM, NTLMv2 and Kerberos'. Attributes: non-creatable, modifiable Possible values: <ul> <li> "lm_ntlm_ntlmv2_krb" - Accepts LM, NTLM, NTLMv2 and Kerberos, <li> "ntlm_ntlmv2_krb" - Accepts NTLM, NTLMv2 and Kerberos, <li> "ntlmv2_krb" - Accepts NTLMv2 and Kerberos, <li> "krb" - Accepts Kerberos only </ul>

=end html

=back



=over 2

=item * I<session-security-for-ad-ldap>  =>   B<ldap-security, optional>

=begin html

<br>This option determines the level of security for LDAP communications. By default this option is none. Attributes: non-creatable, modifiable Possible values: <ul> <li> "none" - No Signing or Sealing., <li> "sign" - Sign LDAP traffic., <li> "seal" - Seal and Sign LDAP traffic </ul>

=end html

=back



=over 2

=item * I<smb1-enabled-for-dc-connections>  =>   B<system-default-bool, optional>

=begin html

<br>This option determines if SMB version 1 is used for connections to domain controllers. Attributes: non-creatable, modifiable Possible values: <ul> <li> "false" , <li> "true" , <li> "system_default" </ul>

=end html

=back



=over 2

=item * I<smb2-enabled-for-dc-connections>  =>   B<system-default-bool, optional>

=begin html

<br>This option determines if SMB version 2 is used for connections to domain controllers. Attributes: non-creatable, modifiable Possible values: <ul> <li> "false" , <li> "true" , <li> "system_default" </ul>

=end html

=back



=over 2

=item * I<use-start-tls-for-ad-ldap>  =>   B<boolean, optional>

=begin html

<br>This option determines whether to use start_tls for AD LDAP connections. By default this option is false. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver associated with this CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-server-config

=begin html

Basic configuration information for the CIFS Server. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<administrative-status>  =>   B<service-state, optional>

=begin html

<br>CIFS Server Administrative Status. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "down" , <li> "up" </ul>

=end html

=back



=over 2

=item * I<auth-style>  =>   B<cifs-auth-style, optional>

=begin html

<br>The authentication style to be used for CIFS clients connecting to this CIFS server. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "domain" - DOMAIN, <li> "workgroup" - WORKGROUP, <li> "realm" - KERBEROS REALM </ul>

=end html

=back



=over 2

=item * I<cifs-server>  =>   B<netbios-name, optional>

=begin html

<br>The NetBIOS name of the CIFS server. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>CIFS Server Description. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<default-site>  =>   B<string, optional>

=begin html

<br>The default site used by LIFs that do not have a site membership. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>The Fully Qualified Domain Name of the Windows Active Directory this CIFS server belongs to. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<domain-workgroup>  =>   B<domain-name, optional>

=begin html

<br>The NetBIOS name of the domain or workgroup this CIFS server belongs to. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netbios-aliases>  =>   B<netbios-name[], optional>

=begin html

<br>List of NetBIOS Aliases Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<organizational-unit>  =>   B<string, optional>

=begin html

<br>The Organizational Unit (OU) within the Windows Active Directory this CIFS server belongs to. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<realm>  =>   B<string, optional>

=begin html

<br>The Kerberos realm this CIFS server belongs to. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing the CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<workgroup>  =>   B<netbios-name, optional>

=begin html

<br>The name of the workgroup this CIFS server belongs to. Attributes: optional-for-create, modifiable

=end html

=back



=head2 cifs-session

=begin html

Displays the established CIFS sessions When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>The ip address of the workstation from which the session is opened. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<auth-mechanism>  =>   B<auth-mechanism, optional>

=begin html

<br>The authentication mechanism used to establish the session. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" , <li> "ntlmv1" , <li> "ntlmv2" , <li> "kerberos" , <li> "anonymous" </ul>

=end html

=back



=over 2

=item * I<connected-time>  =>   B<elapsed-time, optional>

=begin html

<br>The time duration since the session was established. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<connection-count>  =>   B<integer, optional>

=begin html

<br>The number of CIFS connections associated with the CIFS session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<connection-id>  =>   B<integer, optional>

=begin html

<br>The connection that is used to establish the session. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<continuously-available>  =>   B<cifs-ca-protection, optional>

=begin html

<br>The type of continuous avalability protection provided to the session. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "no" - The open file is not continuously available. For sessions, it contains one or more open file but none of them are continuously available., <li> "yes" - The open file is continuously available. For sessions, it contains one or more open files and all of them are continuously available., <li> "partial" - This value is used for sessions only. It contains at least one continuously available open file but other open files that are not. </ul>

=end html

=back



=over 2

=item * I<files>  =>   B<integer, optional>

=begin html

<br>The number of the regular files that are opened under the session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<idle-time>  =>   B<elapsed-time, optional>

=begin html

<br>The time duration since there was last activity on the session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-session-signed>  =>   B<boolean, optional>

=begin html

<br>Displays if a CIFS session is SMB Signed. If true, the CIFS session is signed. If false, the CIFS session is not signed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif-address>  =>   B<ip-address, optional>

=begin html

<br>The data lif that is used to establish the session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netbios-name>  =>   B<string, optional>

=begin html

<br>Displays the NetBIOS name client used for connecting to the share. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The name of the node on which the session listing is done. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<other>  =>   B<integer, optional>

=begin html

<br>The number of the special files that are opened under the session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<protocol-version>  =>   B<cifs-dialects, optional>

=begin html

<br>The CIFS protocol version that is used to establish the session. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "smb1" - SMB 1.0, <li> "smb2" - SMB 2.0, <li> "smb2_1" - SMB 2.1, <li> "smb3" - SMB 3.0, <li> "smb3_1" - SMB 3.1 </ul>

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>The unique identifier for the session. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<shares>  =>   B<integer, optional>

=begin html

<br>The number of the CIFS shares that are opened under the session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<smb-encryption-status>  =>   B<smb-encryption, optional>

=begin html

<br>Displays the status of SMB encryption that is happening over the CIFS session. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unencrypted" - CIFS session is not encrypted., <li> "encrypted" - CIFS session is fully encrypted. Vserver level encryption is enabled and encryption happens for the entire session., <li> "partially_encrypted" - CIFS session is partially encrypted. Share level encryption is enabled and encryption is initiated when the tree-connect occurs. </ul>

=end html

=back



=over 2

=item * I<unix-user>  =>   B<string, optional>

=begin html

<br>The name of the UNIX user for which the session is established. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<user-type>  =>   B<string, optional>

=begin html

<br>The Classification of the Authenticated user. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local_user" , <li> "domain_user" , <li> "guest_user" , <li> "anonymous_user" </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The Vserver name on which the session listing is done. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<win-unix-creds>  =>   B<string, optional>

=begin html

<br>Display the Windows and UNIX credentials. This field is not returned by default and must be requested via desired-attributes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<windows-user>  =>   B<string, optional>

=begin html

<br>The name of the CIFS user for which the session is established. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cifs-session-file

=begin html

Displays the opened CIFS files When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<connection-count>  =>   B<integer, optional>

=begin html

<br>The number of CIFS connections associated with the CIFS session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<connection-id>  =>   B<integer, optional>

=begin html

<br>The connection that is used to open the file. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<continuously-available>  =>   B<cifs-ca-protection, optional>

=begin html

<br>The type of continuous availability protection provided to the file. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "no" - The open file is not continuously available. For sessions, it contains one or more open file but none of them are continuously available., <li> "yes" - The open file is continuously available. For sessions, it contains one or more open files and all of them are continuously available., <li> "partial" - This value is used for sessions only. It contains at least one continuously available open file but other open files that are not. </ul>

=end html

=back



=over 2

=item * I<file-id>  =>   B<integer, optional>

=begin html

<br>The unique identifier for the opened file. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<file-type>  =>   B<cifs-file-type, optional>

=begin html

<br>The type of opened file. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "regular" , <li> "symlink" , <li> "stream" , <li> "directory" </ul>

=end html

=back



=over 2

=item * I<hosting-aggregate>  =>   B<aggr-name, optional>

=begin html

<br>The name of the aggregate on which the file resides. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hosting-volume>  =>   B<volume-name, optional>

=begin html

<br>The name of the volume on which the file resides. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The name of the node on which the file listing is done. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<open-mode>  =>   B<cifs-open-mode, optional>

=begin html

<br>The mode in which the file is opened. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "r" - Read, <li> "w" - Write, <li> "d" - Delete </ul>

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The path of the file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<range-locks>  =>   B<integer, optional>

=begin html

<br>The number of range locks granted on the file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<reconnected>  =>   B<string, optional>

=begin html

<br>The state that represents if the file was opened after network disconnect. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>The session under which file is opened. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<share>  =>   B<cifs-share-name, optional>

=begin html

<br>The share name where the file resides. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<share-mode>  =>   B<cifs-open-mode, optional>

=begin html

<br>The share mode used to open the file. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "r" - Read, <li> "w" - Write, <li> "d" - Delete </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The Vserver name on which the file listing is done. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-share

=begin html

CIFS share configuration. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<acl>  =>   B<string[], optional>

=begin html

<br>This string list gives the applicable Access Control list for the CIFS share. Each list entry is a '/' separated pair of the User or Group name and the effective permissions. The permission could be 'Full Control', Change', 'Read' or 'No access'. e.g.: If the group is 'Everyone' and the effective permission for this group is 'Change', the entry would be 'Everyone / Change'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<attribute-cache-ttl>  =>   B<integer, optional>

=begin html

<br>The lifetime of an entry in the file attribute cache, in seconds. This value is used if the share has the 'attributecache' property set, which improves the performance of certain metadata operations in common workloads. The default is 10 seconds. Raising this value may improve performance, but the likelihood that stale metadata will be served increases as well. The value of this field must be in the range of 1 to 86400. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<cifs-server>  =>   B<string, optional>

=begin html

<br>The NetBIOS name of the CIFS server that owns this share. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>This string gives a description of the CIFS share. CIFS clients see this description when browsing the Vserver's CIFS shares. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<dir-umask>  =>   B<integer, optional>

=begin html

<br>The value of this field controls the file mode creation mask for the CIFS share in qtrees with UNIX or Mixed security styles. The mask restricts the initial permissions setting of a newly created directory. The input value is a numeric mode comprising of one to three octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. The first digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the second selects permissions for other users in the file's group, with the same values; and the third for other users not in the file's group, with the same values. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-umask>  =>   B<integer, optional>

=begin html

<br>The value of this field controls the file mode creation mask for the CIFS share in qtrees with UNIX or Mixed security styles. The mask restricts the initial permissions setting of a newly created file. The input value is a numeric mode comprising of one to three octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. The first digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the second selects permissions for other users in the file's group, with the same values; and the third for other users not in the file's group, with the same values. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<force-group-for-create>  =>   B<string, optional>

=begin html

<br>This option specifies a predefined UNIX group name for which all files created by CIFS users in that share will be assigned group owenership to. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-connections-per-share>  =>   B<integer, optional>

=begin html

<br>The maximum number of simultaneous connections allowed to the share. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<offline-files-mode>  =>   B<string, optional>

=begin html

<br>Mode of the offline file for the CIFS share. The default value is manual. Possible values: <ul> <li> "none" - Clients are not permitted to cache files for offline access., <li> "manual" - Clients may cache files that are explicitly selected by the user for offline use., <li> "documents" - Clients may automatically cache files that are used by the user for offline access., <li> "programs" - Clients may automatically cache files that are used by the user for offline access and may use those files in an offline mode even if the share is available. </ul>

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The file system path that is shared through this CIFS share. The path is the full, user visible path relative to the vserver root, and it might be crossing junction mount points. The path is in UTF8 and uses forward slash as directory separator. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<share-name>  =>   B<string, optional>

=begin html

<br>The name of the CIFS share. The CIFS share name is a UTF-8 string with the following characters being illegal: control characters from 0x00 to 0x1F, both inclusive, 0x22 (double quotes) and the characters \/[]:|<>+=;,?"* Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<share-properties>  =>   B<cifs-share-properties[], optional>

=begin html

<br>The list of properties for this CIFS share. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "oplocks" - This specifies that opportunistic locks (client-side caching) are enabled on this share., <li> "browsable" - This specifies that the share can be browsed by Windows clients., <li> "showsnapshot" - This specifies that Snapshots can be viewed and traversed by clients., <li> "changenotify" - This specifies that CIFS clients can request for change notifications for directories on this share. If the path of the share is within a FlexGroup, change notifications are not sent because FlexGroups do not support Change Notify., <li> "homedirectory" - This specifies that the share is added and enabled as part of the CIFS home directory feature. The configuration of this share should be done using CIFS home directory feature interface., <li> "attributecache" - This specifies that connections through this share are caching attributes for a short time to improve performance. <li> "branchcache" - This specifies that clients connecting to this share can make requests using BranchCache technology that allows them to cache the content in an attempt to reduce WAN utilization from a remote office. <li> "continuously_available" - This specifies that clients connecting to this share can open files in a persistent manner. Files opened this way are protected from disruptive events, such as failover and giveback. This property is not supported for FlexGroups. <li> "shadowcopy" - This specifies that the share is pointing to a shadow copy. This attribute cannot be added nor removed from a share. <li> "access_based_enumeration" - This specifies that Access Based Enumeration is enabled on this share. ABE-filtered shared folders are visible to a user based on that individual user's access rights, preventing the display of folders or other shared resources that the user does not have rights to access. <li> "namespace_caching" - This specifies that the SMB clients connecting to this share can cache the directory enumeration results returned by the CIFS servers. <li> "encrypt_data" - This specifies that SMB encryption must be used when accessing this share. Clients that do not support encryption will not be able to access this share. <li> "show_previous_versions" - This property specifies that the previous version can be viewed and restored from the client. This property is enabled by default. </ul>

=end html

=back



=over 2

=item * I<symlink-properties>  =>   B<cifs-share-symlink-properties[], optional>

=begin html

<br>This flag controls whether the symlinks under this shared directory are hidden (option 'hide'), accessible (option 'enable') or are accessible as read-only (option 'read-only' along with option 'enable'). It controls whether only symlinks which have targets on this server can be resolved by a CIFS client (option 'symlinks') or if all symlinks can be resolved (option 'symlinks_and_widelinks'). It controls whether symlinks can have targets outside the client's share (obsolete option 'no_strict_security'). It controls whether no symlinks can be resolved (option 'disable'). Attributes: optional-for-create, modifiable Possible values: <ul> <li> "enable" (DEPRECATED) Enable both local symlinks and wide links for read-write, <li> "hide" (DEPRECATED) Hide both symlinks and widelinks, <li> "read_only" (DEPRECATED) Enable symlinks for read-only, <li> "symlinks" Enable symlinks only for read-write, DFS is not advertised, <li> "symlinks_and_widelinks" Enable both local symlinks and wide links, DFS is advertised, <li> "disable" Disable both local symlinks and wide links, DFS is not advertised <li> "no_strict_security" (OBSOLETE) Allow clients to follow symlinks beyond share boundaries </ul>

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>The name of the volume where the root of the CIFS share resides.

=end html

=back



=over 2

=item * I<vscan-fileop-profile>  =>   B<vscan-fileop-profile, optional>

=begin html

<br>Profile-set of file-ops to which Vscan On-Access scanning is applicable. The default value is standard. Possible values: <ul> <li> "no_scan" - Virus scans are never triggered for accesses to this share, <li> "standard" - Virus scans can be triggered by open, close, and rename operations, <li> "strict" - Virus scans can be triggered by open, read, close, and rename operations, <li> "writes_only" - Virus scans can be triggered only when a file that has been modified is closed. </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The name of the Vserver. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 cifs-share-access-control

=begin html

The permissions that users and groups have to a CIFS share. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<permission>  =>   B<cifs-access-perms, optional>

=begin html

<br>The access rights that the user or group has on the defined CIFS share. Attributes: required-for-create, modifiable Possible values: <ul> <li> "no_access" - No access, <li> "read" - Read, <li> "change" - Change, <li> "full_control" - Full Control, <li> "custom" - Custom </ul>

=end html

=back



=over 2

=item * I<share>  =>   B<string, optional>

=begin html

<br>The CIFS share for which the permissions are defined. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<user-group-type>  =>   B<string, optional>

=begin html

<br>The type of user for which ACL is configured. Default value is windows. Attributes: key, optional-for-create, non-modifiable Possible values: <ul> <li> "windows" - Windows User or Group., <li> "unix_user" - Unix User., <li> "unix_group" - Unix Group. </ul>

=end html

=back



=over 2

=item * I<user-or-group>  =>   B<string, optional>

=begin html

<br>The user or group name for which the permissions are listed. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver associated with this CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<winsid>  =>   B<windows-sid, optional>

=begin html

<br>The Windows SID for the user or group for which the permission is defined. Attributes: optional-for-create, modifiable

=end html

=back



=head2 cifs-share-properties

=begin html

The list of properties on a CIFS share. Possible values: <ul> <li> "oplocks" - This specifies that opportunistic locks (client-side caching) are enabled on this share., <li> "browsable" - This specifies that the share can be browsed by Windows clients., <li> "showsnapshot" - This specifies that Snapshots can be viewed and traversed by clients., <li> "changenotify" - This specifies that CIFS clients can request for change notifications for directories on this share. If the path of the share is within a FlexGroup, change notifications are not sent because FlexGroups do not support Change Notify., <li> "homedirectory" - This specifies that the share is added and enabled as part of the CIFS home directory feature. The configuration of this share should be done using CIFS home directory feature interface., <li> "attributecache" - This specifies that connections through this share are caching attributes for a short time to improve performance. <li> "branchcache" - This specifies that clients connecting to this share can make requests using BranchCache technology that allows them to cache the content in an attempt to reduce WAN utilization from a remote office. <li> "continuously_available" - This specifies that clients connecting to this share can open files in a persistent manner. Files opened this way are protected from disruptive events, such as failover and giveback. <li> "shadowcopy" - This specifies that the share is pointing to a shadow copy. This attribute cannot be added nor removed from a share. <li> "access_based_enumeration" - This specifies that Access Based Enumeration is enabled on this share. ABE-filtered shared folders are visible to a user based on that individual user's access rights, preventing the display of folders or other shared resources that the user does not have rights to access. <li> "namespace_caching" - This specifies that the SMB clients connecting to this share can cache the directory enumeration results returned by the CIFS servers. <li> "encrypt_data" - This specifies that SMB encryption must be used when accessing this share. Clients that do not support encryption will not be able to access this share. <li> "show_previous_versions" - This property specifies that the previous version can be viewed and restored from the client. This property is enabled by default. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-share-symlink-properties

=begin html

enable|hide|read_only|symlinks|symlinks_and_widelinks|disable Possible values: <ul> <li> "enable" (DEPRECATED)-Enable both local symlinks and wide links for read-write, <li> "hide" (DEPRECATED)-Hide both symlinks and wide links, <li> "read_only" (DEPRECATED)-Enable symlinks for read-only, <li> "symlinks" Enable symlinks only for read-write, DFS is not advertised, <li> "symlinks_and_widelinks" Enable both local symlinks and wide links, DFS is advertised, <li> "disable" Disable both local symlinks and wide links, DFS is not advertised <li> "no_strict_security" (OBSOLETE)- Allow clients to follow symlinks beyond share boundaries </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-symlink

=begin html

CIFS symbolic link path mapping configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cifs-path>  =>   B<string, optional>

=begin html

<br>This field specifies the CIFS path on the destination to which the symbolic link maps. The final path is generated by concatenating the CIFS server name, the share name, the cifs-path and the remaining path in the symbolic link left after the prefix match. This value is specified by using a UNIX-style path name. The trailing forward slash is required for the full path name to be properly interpreted. This is a UTF-8 string and supports localization. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<cifs-server>  =>   B<string, optional>

=begin html

<br>This field specifies the destination CIFS server name for the mapping to which the symbolic link is mapped. The default is the local CIFS server. The field needs to be specified if the locality of the symbolic link is 'widelink'. This can be either a DNS name, NetBIOS name or an IP address. If a DNS name or a NetBIOS name are specified, the CIFS client configuration should be such that it is capable of resolving the CIFS server name to the correct IP address. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<home-directory>  =>   B<boolean, optional>

=begin html

<br>This field specifies whether the destination share is a home directory. If the value of this field is true, wildcard path elements in the destination path are replaced with specific values for the user accessing the symbolic link. Wildcard %w is replaced by the user's Windows name. Wildcard %u is replaced by the user's mapped Unix name. Wildcard %d is replaced by the domain to which the user belongs. The default value is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<locality>  =>   B<cifs-symlink-locality, optional>

=begin html

<br>This field specifies whether the CIFS symbolic link is a local link, free link or wide link. A local symbolic link maps to the local CIFS share. A free symlink maps to the local vserver. A wide symbolic link maps to any CIFS share on the network. If the CIFS server matches the VServer's NetBIOS name then the default value is local otherwise wide link. The symlink option 'freelink' is obsolete. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "local" - Share on This VServer, <li> "widelink" - Share on Another CIFS Server, <li> "freelink" - Anywhere on This VServer (OBSOLETE) </ul>

=end html

=back



=over 2

=item * I<share-name>  =>   B<string, optional>

=begin html

<br>This field specifies the CIFS share name on the destination CIFS server to which the symbolic link is mapped. This is a UTF-8 string and supports localization. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<unix-path>  =>   B<string, optional>

=begin html

<br>This field specifies the UNIX path prefix to be matched for the mapping. If the prefix of the target path in the symbolic link matches against this field, this entry of symbolic link path mapping would be used. The path is a UTF-8 string and supports localization. The path must start and end with a forward slash ('/'). For example '/usr/local/'. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver associated with this CIFS server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-symlink-locality

=begin html

Locality of the destination where this symbolic link points. Possible values: <ul> <li> "local" - Share on This VServer, <li> "widelink" - Share on Another CIFS Server, <li> "freelink" - Anywhere on This VServer (OBSOLETE) </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cifs-user-home-directory-path

=begin html

This commands finds the home directory of a user specified in the command in all the home directory search path configured. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The path of home directory for the specified user name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<share-name>  =>   B<string, optional>

=begin html

<br>The expanded share name for the user. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>Output User Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid, optional>

=begin html

<br>The name of the Vserver in which home directory for a user has to be searched. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-users-and-group-local-group-members

=begin html

List of local groups, organized by Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<group-name>  =>   B<cifs-name, optional>

=begin html

<br>The name of the local group Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<member>  =>   B<cifs-name[], optional>

=begin html

<br>The member of a local group Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cifs-users-and-group-local-user-membership

=begin html

List of local users' membership information, organized by Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<membership>  =>   B<cifs-name[], optional>

=begin html

<br>The membership of the local user Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<user-name>  =>   B<cifs-name, optional>

=begin html

<br>The name of the local user Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 elapsed-time

=begin html

The difference between the two points in time.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ems-message-info

=begin html

EMS Message Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ems-severity>  =>   B<emsseverity, optional>

=begin html

<br>Message EMS severity. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "node_fault" - A data corruption has been detected or the node is unable to provide client service, <li> "svc_fault" - A temporary loss of service has been detected, typically a transient software fault, <li> "node_error" - A hardware error has been detected which is not immediately fatal, <li> "svc_error" - A software error has been detected which is not immediately fatal, <li> "warning" - A high-priority message, does not indicate a fault, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "info" - A low-priority message, does not indicate a fault, <li> "debug" - A debugging message, typically suppressed from customer, <li> "var" - Message has variable severity, selected at runtime </ul>

=end html

=back



=over 2

=item * I<event>  =>   B<string, optional>

=begin html

<br>The EMS event. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<event-xml-len>  =>   B<integer, optional>

=begin html

<br>EMS event XML length in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<filter-name>  =>   B<string, optional>

=begin html

<br>Name of the filter to apply on events. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<kernel-gen>  =>   B<integer, optional>

=begin html

<br>The emitted message's kernel generation number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<kernel-seq-num>  =>   B<integer, optional>

=begin html

<br>The emitted message's kernel sequence number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id, optional>

=begin html

<br>The emitted message's name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node emitting the EMS message. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-suppressed-since-last>  =>   B<integer, optional>

=begin html

<br>Number of times suppressed since last time the event was logged. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<parameters>  =>   B<L<"parameter">[], optional>

=begin html

<br>Event parameter's name and value.

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum, optional>

=begin html

<br>The message sequence number. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<severity>  =>   B<eventseverity, optional>

=begin html

<br>Message severity. As of Data ONTAP 9.0, 'critical' and 'warning' severities are no longer supported. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "emergency" - Disruption, <li> "alert" - Single point of failure, <li> "critical" - Critical condition, <li> "error" - Degradation, <li> "warning" - Warning condition, <li> "notice" - Information, <li> "informational" - Information, <li> "debug" - Debug information </ul>

=end html

=back



=over 2

=item * I<source>  =>   B<string, optional>

=begin html

<br>The emitted message's source. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time>  =>   B<datetime, optional>

=begin html

<br>The time of message emission. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<integer, optional>

=begin html

<br>Version number of the event. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 emsseverity

=begin html

NODE_FAULT|SVC_FAULT|NODE_ERROR|SVC_ERROR|WARNING|NOTICE|INFO|DEBUG|VAR Possible values: <ul> <li> "node_fault" - A data corruption has been detected or the node is unable to provide client service, <li> "svc_fault" - A temporary loss of service has been detected, typically a transient software fault, <li> "node_error" - A hardware error has been detected which is not immediately fatal, <li> "svc_error" - A software error has been detected which is not immediately fatal, <li> "warning" - A high-priority message, does not indicate a fault, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "info" - A low-priority message, does not indicate a fault, <li> "debug" - A debugging message, typically suppressed from customer, <li> "var" - Message has variable severity, selected at runtime </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 enable

=begin html

enabled|disabled Possible values: <ul> <li> "enabled" , <li> "disabled" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 eventseverity

=begin html

EMERGENCY|ALERT|ERROR|NOTICE|INFORMATIONAL|DEBUG Possible values: <ul> <li> "emergency" - Disruption, <li> "alert" - Single point of failure, <li> "critical" - Critical condition, <li> "error" - Degradation, <li> "warning" - Warning condition, <li> "notice" - Information, <li> "informational" - Information, <li> "debug" - Debug information </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 inet-address

=begin html

Internet Address

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ip-address

=begin html

One ip address, in dotted-decimal format

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ldap-security

=begin html

The list of possible values for LDAP Security. Possible values: <ul> <li> "none" - No Signing or Sealing. <li> "sign" - Sign LDAP traffic. <li> "seal" - Seal and Sign LDAP traffic. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 lm-compatibility-level

=begin html

LM compatibility level. Possible values: <ul> <li> "lm_ntlm_ntlmv2_krb" - Accepts LM, NTLM, NTLMv2 and Kerberos, <li> "ntlm_ntlmv2_krb" - Accepts NTLM, NTLMv2 and Kerberos, <li> "ntlmv2_krb" - Accepts NTLMv2 and Kerberos, <li> "krb" - Accepts Kerberos only </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 realm-name

=begin html

null

=end html



B<Fields>

=over 2

=item * None

=back



=head2 service-state

=begin html

down|up Possible values: <ul> <li> "down" , <li> "up" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 smb-encryption

=begin html

The list of possible values for SMB Encryption status. Possible values: <ul> <li> "unencrypted" - CIFS session is not encrypted. <li> "encrypted" - CIFS session is fully encrypted. Vserver level encryption is enabled and encryption happens for the entire session. <li> "partially_encrypted" - CIFS session is partially encrypted. Share level encryption is enabled and encryption is initiated when the tree-connect occurs. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 system-default-bool

=begin html

false|true|system-default Possible values: <ul> <li> "false" , <li> "true" , <li> "system_default" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 time-of-day

=begin html

Time of day in HH::MM::SS

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-fileop-profile

=begin html

Profile-set of file-ops to which Vscan On-Access scanning is applicable. Possible values: <ul> <li> "no_scan" - Virus scans are never triggered for accesses to this share, <li> "standard" - Virus scans can be triggered by open, close, and rename operations, <li> "strict" - Virus scans can be triggered by open, read, close, and rename operations, <li> "writes_only" - Virus scans can be triggered only when a file that has been modified is closed. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 windows-sid

=begin html

Unique Windows Security Identifier that identifies a User or Group or Machine account.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 wins-entry-info

=begin html

Windows Internet Name Server (WINS) information

=end html



B<Fields>

=over 2

=item * I<wins-address>  =>   B<ip-address, optional>

=begin html

<br>Windows Internet Name Service (WINS) Server address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wins-state>  =>   B<string, optional>

=begin html

<br>WINS Server State. Possible values: 'active', 'inactive'. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 block-range

=begin html

Structure containing source and destination block range for sub-file/sub-LUN cloning.

=end html



B<Fields>

=over 2

=item * I<block-count>  =>   B<integer>

=begin html

<br>Number of blocks to be cloned.

=end html

=back



=over 2

=item * I<destination-block-number>  =>   B<integer>

=begin html

<br>Starting file block number of destination block range.

=end html

=back



=over 2

=item * I<source-block-number>  =>   B<integer>

=begin html

<br>Starting file block number of source block range. Block size is 4096 bytes.

=end html

=back



=head2 clone-autodelete-info

=begin html

Information about file or LUN clone autodeletion. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-autodelete-enabled>  =>   B<boolean, optional>

=begin html

<br>If this field is true, autodelete will delete the clone in try/disrupt mode. If it is false, autodelete will delete the clone only in destroy mode. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 clone-deletion-info

=begin html

Structure containing the clone deletion information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<extension-info-list>  =>   B<L<"extension-info">[], optional>

=begin html

<br>List of file extensions that needs to be added/removed for clone-delete

=end html

=back



=over 2

=item * I<minimum-size>  =>   B<string, optional>

=begin html

<br>Minimum size of the file(s) to be deleted using the clone-delete. The format to use is: &lt number &gt k|m|g|t. Where 'k' means kilobytes, 'm' means mega bytes, 'g' means gigabytes and 't' mean terabytes. If the trailing unit character doesn't appear, then &lt number &gt is interpreted as the number of bytes Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 clone-split-info

=begin html

Information about unsplit file or LUN clones. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<unsplit-clone-count>  =>   B<integer, optional>

=begin html

<br>Number of file clones or LUN clones present in the the volume that are not split. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<unsplit-size>  =>   B<size, optional>

=begin html

<br>Total size (in bytes) of file or LUN clones in the volume that are not split. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 clone-split-load-info

=begin html

Information about load on the node due to file or LUN clone split operations. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<available-split-load>  =>   B<size, optional>

=begin html

<br>Remaining allowable load on the node. Load is specified in number of bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-split-load>  =>   B<size, optional>

=begin html

<br>Current clone split load on the node. Load is specified in number of bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-split-load>  =>   B<size, optional>

=begin html

<br>Maximum clone split load allowed on the node. Load is specified in number of bytes. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node name for which the clone split load is required. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<token-reserved-load>  =>   B<size, optional>

=begin html

<br>Load reserved by tokens on the node for clone creation. Load is specified in number of bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 clone-token-info

=begin html

Information about token reserved for file or LUN clone creates. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<expiry-limit>  =>   B<integer, optional>

=begin html

<br>The duration (in seconds) for which the reserved token is valid. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node name on which split load is reserved. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<reservation-duration-limit>  =>   B<integer, optional>

=begin html

<br>The duration (in seconds) for which the reserved token is valid. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<reservation-duration-remaining>  =>   B<integer, optional>

=begin html

<br>The remaining duration (in seconds) for which the reserved token is valid. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<reserve-size>  =>   B<size, optional>

=begin html

<br>Available reserve in split load reserved by token where split load is the number of bytes reserved for creation of clones. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<time-left>  =>   B<integer, optional>

=begin html

<br>The remaining duration (in seconds) for which the reserved token is valid. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<token-uuid>  =>   B<string, optional>

=begin html

<br>Token UUID for which the split load is reserved. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 extension-info

=begin html

File extensions for clone-delete

=end html



B<Fields>

=over 2

=item * I<extensions>  =>   B<string, optional>

=begin html

<br>Supported file extensions for clone-delete Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cluster-contact

=begin html

Administrator contact information for the cluster. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<string, optional>

=begin html

<br>Business Address Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<business-name>  =>   B<string, optional>

=begin html

<br>Business Name Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<city>  =>   B<string, optional>

=begin html

<br>City Where Business Resides Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<country>  =>   B<country-code, optional>

=begin html

<br>2-Character Country Code Attributes: non-creatable, modifiable Possible values: <ul> <li> "99" - Unknown, <li> "ad" - Andorra, <li> "ae" - United Arab Emirates, <li> "af" - Afghanistan, <li> "ag" - Antigua and Barbuda, <li> "ai" - Anguilla, <li> "al" - Albania, <li> "am" - Armenia, <li> "an" - Netherlands Antilles, <li> "ao" - Angola, <li> "aq" - Antarctia, <li> "ar" - Argentina, <li> "as" - American Samoa, <li> "at" - Austria, <li> "au" - Australia, <li> "aw" - Aruba, <li> "az" - Azerbaijan, <li> "ba" - Bosnia and Herzegovina, <li> "bb" - Barbados, <li> "bd" - Bangladesh, <li> "be" - Belgium, <li> "bf" - Burkina Faso, <li> "bg" - Bulgaria, <li> "bh" - Bahrain, <li> "bi" - Burundi, <li> "bj" - Benin, <li> "bm" - Bermuda, <li> "bn" - Brunei Darussalem, <li> "bo" - Bolivia, <li> "br" - Brazil, <li> "bs" - Bahamas, <li> "bt" - Bhutan, <li> "bv" - Bouvet Island, <li> "bw" - Botswana, <li> "by" - Belarus, <li> "bz" - Belize, <li> "ca" - Canada, <li> "cc" - Cocos (Keeling) Islands, <li> "cd" - Congo, The Democratic Republic of the, <li> "cf" - Central African Republic, <li> "cg" - Congo, <li> "ch" - Switzerland, <li> "ci" - Cote d'Ivoire, <li> "ck" - Cook Islands, <li> "cl" - Chile, <li> "cm" - Cameroon, <li> "cn" - China, <li> "co" - Colombia, <li> "cr" - Costa Rica, <li> "cu" - Cuba, <li> "cv" - Cape Verde, <li> "cx" - Christmas Island, <li> "cy" - Cyprus, <li> "cz" - Czech Republic, <li> "de" - Germany, <li> "dj" - Djibouti, <li> "dk" - Denmark, <li> "dm" - Dominica, <li> "do" - Dominican Republic, <li> "dz" - Algeria, <li> "ec" - Ecuador, <li> "ee" - Estonia, <li> "eg" - Egypt, <li> "eh" - Western Sahara, <li> "er" - Eritrea, <li> "es" - Spain, <li> "et" - Ethiopia, <li> "fi" - Finland, <li> "fj" - Fiji, <li> "fk" - Falkland Islands (Malvinas), <li> "fm" - Micronesia, Federated States of, <li> "fo" - Faroe Islands, <li> "fr" - France, <li> "fx" - France Metropolitan, <li> "ga" - Gabon, <li> "gb" - United Kingdom, <li> "gd" - Grenada, <li> "ge" - Georgia, <li> "gf" - French Guiana, <li> "gh" - Ghana, <li> "gi" - Gibraltar, <li> "gl" - Greenland, <li> "gm" - Gambia, <li> "gn" - Guinea, <li> "gp" - Guadaloupe, <li> "gq" - Equatorial Guinea, <li> "gr" - Greece, <li> "gs" - South Georgia and the South Sandwich Islands, <li> "gt" - Guatemla, <li> "gu" - Guam, <li> "gw" - Guinea-Bissau, <li> "gy" - Guyana, <li> "hk" - China (Hong Kong S.A.R.), <li> "hm" - Heard and McDonald Islands, <li> "hn" - Honduras, <li> "hr" - Croatia, <li> "ht" - Haiti, <li> "hu" - Hungary, <li> "id" - Indonesia, <li> "ie" - Ireland, <li> "il" - Israel, <li> "in" - India, <li> "io" - British Indian Ocean Territory, <li> "iq" - Iraq, <li> "ir" - Iran, <li> "is" - Iceland, <li> "it" - Italy, <li> "jm" - Jamaica, <li> "jo" - Jordan, <li> "jp" - Japan, <li> "ke" - Kenya, <li> "kg" - Kyrgyzstan, <li> "kh" - Khmer Rep Cambodia, <li> "ki" - Kiribati, <li> "km" - Comoros, <li> "kn" - Saint Kitts and Nevis, <li> "kp" - Korea, Democratic People's Republic of (North Korea), <li> "kr" - Korea, Republic of (South Korea), <li> "kw" - Kuwait, <li> "ky" - Cayman Islands, <li> "kz" - Kazakhstan, <li> "la" - Lao People's Democratic Republic (Laos), <li> "lb" - Lebanon, <li> "lc" - Saint Lucia, <li> "li" - Liechtenstein, <li> "lk" - Sri Lanka, <li> "lr" - Liberia, <li> "ls" - Lesotho, <li> "lt" - Lithuania, <li> "lu" - Luxembourg, <li> "lv" - Latvia, <li> "ly" - Libyan Arab Jamahiriya (Lybia), <li> "ma" - Morocco, <li> "mc" - Monaco, <li> "md" - Moldavia, <li> "mg" - Madagascar, <li> "mh" - Marshall Islands, <li> "mk" - Macedonia, <li> "ml" - Mali, <li> "mm" - Myanmar, <li> "mn" - Mongolia, <li> "mo" - China (Macau S.A.R.), <li> "mp" - Northern Mariana Islands, <li> "mq" - Martinique, <li> "mr" - Mauritania, <li> "ms" - Montserrat, <li> "mt" - Malta, <li> "mu" - Mauritius, <li> "mv" - Maldives, <li> "mw" - Malawi, <li> "mx" - Mexico, <li> "my" - Malaysia, <li> "mz" - Mozambique, <li> "na" - Namibia, <li> "nc" - New Caledonia, <li> "ne" - Niger, <li> "nf" - Norfolk Island, <li> "ng" - Nigeria, <li> "ni" - Nicaragua, <li> "nl" - Netherlands, <li> "no" - Norway, <li> "np" - Nepal, <li> "nr" - Nauru, <li> "nu" - Niue, <li> "nz" - New Zealand, <li> "om" - Oman, <li> "pa" - Panama, <li> "pe" - Peru, <li> "pf" - French Polynesia, <li> "pg" - Papua New Guinea, <li> "ph" - Philippines, <li> "pk" - Pakistan, <li> "pl" - Poland, <li> "pm" - St. Pierre and Miquelon, <li> "pn" - Pitcairn, <li> "pr" - Puerto Rico, <li> "pt" - Portugal, <li> "pw" - Palau, <li> "py" - Paraguay, <li> "qa" - Qatar, <li> "re" - Reunion, <li> "ro" - Romania, <li> "ru" - Russia, <li> "rw" - Rwanda, <li> "sa" - Saudi Arabia, <li> "sb" - Solomon Islands, <li> "sc" - Seychelles, <li> "sd" - Sudan, <li> "se" - Sweden, <li> "sg" - Singapore, <li> "sh" - St. Helena, <li> "si" - Slovenia, <li> "sj" - Svalbard and Jan Mayen Islands, <li> "sk" - Slovakia, <li> "sl" - Sierra Leone, <li> "sm" - San Marino, <li> "sn" - Senegal, <li> "so" - Somalia, <li> "sr" - Suriname, <li> "st" - Sao Tome and Principe, <li> "sv" - El Salvador, <li> "sy" - Syrian Arab Republic (Syria), <li> "sz" - Swaziland, <li> "t9" - Service Agent Test Systems T9 XX, <li> "tc" - Turks and Caicos Islands, <li> "td" - Chad, <li> "tf" - French Southern Territories, <li> "tg" - Togo, <li> "th" - Thailand, <li> "tj" - Tajikistan, <li> "tk" - Tokelau, <li> "tl" - East Timor, <li> "tm" - Turkmenistan, <li> "tn" - Tunisia, <li> "to" - Tonga, <li> "tr" - Turkey, <li> "tt" - Trinidad And Tobago, <li> "tv" - Tuvalu, <li> "tw" - Taiwan, <li> "tz" - Tanzania, <li> "ua" - Ukraine, <li> "ug" - Uganda, <li> "um" - United States Minor Outlying Islands, <li> "us" - United States, <li> "uy" - Uruguay, <li> "uz" - Uzbekistan, <li> "va" - Vatican City State (Holy See), <li> "vc" - Saint Vincent and the Grenadines, <li> "ve" - Venezuela, <li> "vg" - British Virgin Islands, <li> "vi" - Virgin Islands (U.S.), <li> "vn" - Vietnam, <li> "vu" - Vanuatu, <li> "wf" - Wallis and Futuna Islands, <li> "ws" - Samoa (Western), <li> "ye" - Yemen, <li> "yt" - Mayotte, <li> "yu" - Serbia, <li> "za" - South Africa, <li> "zm" - Zambia, <li> "zw" - Zimbabwe </ul>

=end html

=back



=over 2

=item * I<primary-alt-phone>  =>   B<string, optional>

=begin html

<br>Alternate Phone Number of Primary Contact Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<primary-email>  =>   B<string, optional>

=begin html

<br>Email Address or User ID of Primary Contact Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<primary-name>  =>   B<string, optional>

=begin html

<br>Name of Primary Contact Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<primary-phone>  =>   B<string, optional>

=begin html

<br>Phone Number of Primary Contact Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<secondary-alt-phone>  =>   B<string, optional>

=begin html

<br>Alternate Phone Number of Secondary Contact Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<secondary-email>  =>   B<string, optional>

=begin html

<br>Email Address or User ID of Secondary Contact Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<secondary-name>  =>   B<string, optional>

=begin html

<br>Name of Secondary Contact Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<secondary-phone>  =>   B<string, optional>

=begin html

<br>Phone Number of Secondary Contact Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>State Where Business Resides Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<zip-code>  =>   B<string, optional>

=begin html

<br>Postal Code Where Business Resides Attributes: non-creatable, modifiable

=end html

=back



=head2 cluster-create-join-progress-info

=begin html

Information that identifies the state or a create or join operation When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<current-status-message>  =>   B<string, optional>

=begin html

<br>The current status of the create or join operation being performed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-complete>  =>   B<boolean, optional>

=begin html

<br>If this is true, it means that the operation has been successfully completed. If it is false, the state of the operation is determined by the status field Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<cluster-op-enum-result, optional>

=begin html

<br>This field helps to determine the state of the operation when 'complete' is false. When complete is false and the status is success it indicates the operation hasn't started yet. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "failed" - Operation failed, <li> "success" - Operation was successful, <li> "ongoing" - Operation is active </ul>

=end html

=back



=head2 cluster-identity-info

=begin html

Information that identifies a given cluster. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster-contact>  =>   B<string, optional>

=begin html

<br>The contact information for the cluster Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cluster-location>  =>   B<string, optional>

=begin html

<br>The location of the cluster Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<cluster-name-simple, optional>

=begin html

<br>The textual name of the cluster Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cluster-serial-number>  =>   B<cluster-serial-number, optional>

=begin html

<br>Serial number of the cluster in the form x-xx-xxxxxx Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128-bit universally-unique identifier, that designates the cluster forever, assigned during cluster creation Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rdb-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128-bit universally-unique identifier for the RDB Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cluster-log-forward-info

=begin html

Log file forwarding configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<destination>  =>   B<remote-inet-address, optional>

=begin html

<br>Destination address that the log messages will be forwarded to. Can be a hostname or IP address. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<facility>  =>   B<syslog-facility, optional>

=begin html

<br>Facility code used to indicate the type of software that generated the message. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "kern" - kernel messages, <li> "user" - user-level messages, <li> "local0" - local use 0, <li> "local1" - local use 1, <li> "local2" - local use 2, <li> "local3" - local use 3, <li> "local4" - local use 4, <li> "local5" - local use 5, <li> "local6" - local use 6, <li> "local7" - local use 7 </ul>

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Skip the Connectivity Test Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>The destination port used to forward the message. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<log-fwd-proto, optional>

=begin html

<br>Log Forwarding Protocol Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "udp_unencrypted" - UDP unencrypted, <li> "tcp_unencrypted" - TCP unencrypted, <li> "tcp_encrypted" - TCP encrypted </ul>

=end html

=back



=over 2

=item * I<verify-server>  =>   B<boolean, optional>

=begin html

<br>Verify Destination Server Identity Attributes: optional-for-create, modifiable

=end html

=back



=head2 cluster-log-forward-statistics

=begin html

Log file forwarding statistics When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<destination>  =>   B<remote-inet-address, optional>

=begin html

<br>Destination Host Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dropped-count>  =>   B<integer, optional>

=begin html

<br>Count of Dropped Messages Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<facility>  =>   B<syslog-facility, optional>

=begin html

<br>Syslog Facility Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "kern" - kernel messages, <li> "user" - user-level messages, <li> "local0" - local use 0, <li> "local1" - local use 1, <li> "local2" - local use 2, <li> "local3" - local use 3, <li> "local4" - local use 4, <li> "local5" - local use 5, <li> "local6" - local use 6, <li> "local7" - local use 7 </ul>

=end html

=back



=over 2

=item * I<failure-count>  =>   B<integer, optional>

=begin html

<br>Count of Forwarding Failures Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>Destination Index Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-error>  =>   B<string, optional>

=begin html

<br>Last Failure Reason Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-success-time>  =>   B<datetimewithtz, optional>

=begin html

<br>Time of Last Message Forwarded Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<log>  =>   B<string, optional>

=begin html

<br>Log Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>Destination Port Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<queue-size>  =>   B<integer, optional>

=begin html

<br>Number of Messages in the Queue Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<success-count>  =>   B<integer, optional>

=begin html

<br>Count of Forwarding Successes Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-tx-failures>  =>   B<integer, optional>

=begin html

<br>Total Transmission Failures Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cluster-name-simple

=begin html

Name of the Cluster

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-node-info

=begin html

Information that identifies state of nodes in a cluster. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-node-eligible>  =>   B<boolean, optional>

=begin html

<br>This parameter states nodes that are eligible to participate in the cluster. A boolean value of true means the node is eligible. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-node-epsilon>  =>   B<boolean, optional>

=begin html

<br>You can designate a node as epsilon to add weight to its voting in a cluster with an even number of nodes. In a cluster, only one node can be designated as epsilon at any given time. A boolean value of true means the node is epsilon. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-node-healthy>  =>   B<boolean, optional>

=begin html

<br>This parameter is used to determine health of a node in a cluster. A boolean value of true means the node is healthy. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The textual name of a node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128-bit universally-unique identifier, that designates a node forever, assigned during node creation. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cluster-op-enum-result

=begin html

cluster_op_enum_result Possible values: <ul> <li> "failed" - Operation failed, <li> "success" - Operation was successful, <li> "ongoing" - Operation is active </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-serial-number

=begin html

Assigned Cluster serial-number during cluster create

=end html



B<Fields>

=over 2

=item * None

=back



=head2 country-code

=begin html

Country Code Possible values: <ul> <li> "99" - Unknown, <li> "ad" - Andorra, <li> "ae" - United Arab Emirates, <li> "af" - Afghanistan, <li> "ag" - Antigua and Barbuda, <li> "ai" - Anguilla, <li> "al" - Albania, <li> "am" - Armenia, <li> "an" - Netherlands Antilles, <li> "ao" - Angola, <li> "aq" - Antarctia, <li> "ar" - Argentina, <li> "as" - American Samoa, <li> "at" - Austria, <li> "au" - Australia, <li> "aw" - Aruba, <li> "az" - Azerbaijan, <li> "ba" - Bosnia and Herzegovina, <li> "bb" - Barbados, <li> "bd" - Bangladesh, <li> "be" - Belgium, <li> "bf" - Burkina Faso, <li> "bg" - Bulgaria, <li> "bh" - Bahrain, <li> "bi" - Burundi, <li> "bj" - Benin, <li> "bm" - Bermuda, <li> "bn" - Brunei Darussalem, <li> "bo" - Bolivia, <li> "br" - Brazil, <li> "bs" - Bahamas, <li> "bt" - Bhutan, <li> "bv" - Bouvet Island, <li> "bw" - Botswana, <li> "by" - Belarus, <li> "bz" - Belize, <li> "ca" - Canada, <li> "cc" - Cocos (Keeling) Islands, <li> "cd" - Congo, The Democratic Republic of the, <li> "cf" - Central African Republic, <li> "cg" - Congo, <li> "ch" - Switzerland, <li> "ci" - Cote d'Ivoire, <li> "ck" - Cook Islands, <li> "cl" - Chile, <li> "cm" - Cameroon, <li> "cn" - China, <li> "co" - Colombia, <li> "cr" - Costa Rica, <li> "cu" - Cuba, <li> "cv" - Cape Verde, <li> "cx" - Christmas Island, <li> "cy" - Cyprus, <li> "cz" - Czech Republic, <li> "de" - Germany, <li> "dj" - Djibouti, <li> "dk" - Denmark, <li> "dm" - Dominica, <li> "do" - Dominican Republic, <li> "dz" - Algeria, <li> "ec" - Ecuador, <li> "ee" - Estonia, <li> "eg" - Egypt, <li> "eh" - Western Sahara, <li> "er" - Eritrea, <li> "es" - Spain, <li> "et" - Ethiopia, <li> "fi" - Finland, <li> "fj" - Fiji, <li> "fk" - Falkland Islands (Malvinas), <li> "fm" - Micronesia, Federated States of, <li> "fo" - Faroe Islands, <li> "fr" - France, <li> "fx" - France Metropolitan, <li> "ga" - Gabon, <li> "gb" - United Kingdom, <li> "gd" - Grenada, <li> "ge" - Georgia, <li> "gf" - French Guiana, <li> "gh" - Ghana, <li> "gi" - Gibraltar, <li> "gl" - Greenland, <li> "gm" - Gambia, <li> "gn" - Guinea, <li> "gp" - Guadaloupe, <li> "gq" - Equatorial Guinea, <li> "gr" - Greece, <li> "gs" - South Georgia and the South Sandwich Islands, <li> "gt" - Guatemla, <li> "gu" - Guam, <li> "gw" - Guinea-Bissau, <li> "gy" - Guyana, <li> "hk" - China (Hong Kong S.A.R.), <li> "hm" - Heard and McDonald Islands, <li> "hn" - Honduras, <li> "hr" - Croatia, <li> "ht" - Haiti, <li> "hu" - Hungary, <li> "id" - Indonesia, <li> "ie" - Ireland, <li> "il" - Israel, <li> "in" - India, <li> "io" - British Indian Ocean Territory, <li> "iq" - Iraq, <li> "ir" - Iran, <li> "is" - Iceland, <li> "it" - Italy, <li> "jm" - Jamaica, <li> "jo" - Jordan, <li> "jp" - Japan, <li> "ke" - Kenya, <li> "kg" - Kyrgyzstan, <li> "kh" - Khmer Rep Cambodia, <li> "ki" - Kiribati, <li> "km" - Comoros, <li> "kn" - Saint Kitts and Nevis, <li> "kp" - Korea, Democratic People's Republic of (North Korea), <li> "kr" - Korea, Republic of (South Korea), <li> "kw" - Kuwait, <li> "ky" - Cayman Islands, <li> "kz" - Kazakhstan, <li> "la" - Lao People's Democratic Republic (Laos), <li> "lb" - Lebanon, <li> "lc" - Saint Lucia, <li> "li" - Liechtenstein, <li> "lk" - Sri Lanka, <li> "lr" - Liberia, <li> "ls" - Lesotho, <li> "lt" - Lithuania, <li> "lu" - Luxembourg, <li> "lv" - Latvia, <li> "ly" - Libyan Arab Jamahiriya (Lybia), <li> "ma" - Morocco, <li> "mc" - Monaco, <li> "md" - Moldavia, <li> "mg" - Madagascar, <li> "mh" - Marshall Islands, <li> "mk" - Macedonia, <li> "ml" - Mali, <li> "mm" - Myanmar, <li> "mn" - Mongolia, <li> "mo" - China (Macau S.A.R.), <li> "mp" - Northern Mariana Islands, <li> "mq" - Martinique, <li> "mr" - Mauritania, <li> "ms" - Montserrat, <li> "mt" - Malta, <li> "mu" - Mauritius, <li> "mv" - Maldives, <li> "mw" - Malawi, <li> "mx" - Mexico, <li> "my" - Malaysia, <li> "mz" - Mozambique, <li> "na" - Namibia, <li> "nc" - New Caledonia, <li> "ne" - Niger, <li> "nf" - Norfolk Island, <li> "ng" - Nigeria, <li> "ni" - Nicaragua, <li> "nl" - Netherlands, <li> "no" - Norway, <li> "np" - Nepal, <li> "nr" - Nauru, <li> "nu" - Niue, <li> "nz" - New Zealand, <li> "om" - Oman, <li> "pa" - Panama, <li> "pe" - Peru, <li> "pf" - French Polynesia, <li> "pg" - Papua New Guinea, <li> "ph" - Philippines, <li> "pk" - Pakistan, <li> "pl" - Poland, <li> "pm" - St. Pierre and Miquelon, <li> "pn" - Pitcairn, <li> "pr" - Puerto Rico, <li> "pt" - Portugal, <li> "pw" - Palau, <li> "py" - Paraguay, <li> "qa" - Qatar, <li> "re" - Reunion, <li> "ro" - Romania, <li> "ru" - Russia, <li> "rw" - Rwanda, <li> "sa" - Saudi Arabia, <li> "sb" - Solomon Islands, <li> "sc" - Seychelles, <li> "sd" - Sudan, <li> "se" - Sweden, <li> "sg" - Singapore, <li> "sh" - St. Helena, <li> "si" - Slovenia, <li> "sj" - Svalbard and Jan Mayen Islands, <li> "sk" - Slovakia, <li> "sl" - Sierra Leone, <li> "sm" - San Marino, <li> "sn" - Senegal, <li> "so" - Somalia, <li> "sr" - Suriname, <li> "st" - Sao Tome and Principe, <li> "sv" - El Salvador, <li> "sy" - Syrian Arab Republic (Syria), <li> "sz" - Swaziland, <li> "t9" - Service Agent Test Systems T9 XX, <li> "tc" - Turks and Caicos Islands, <li> "td" - Chad, <li> "tf" - French Southern Territories, <li> "tg" - Togo, <li> "th" - Thailand, <li> "tj" - Tajikistan, <li> "tk" - Tokelau, <li> "tl" - East Timor, <li> "tm" - Turkmenistan, <li> "tn" - Tunisia, <li> "to" - Tonga, <li> "tr" - Turkey, <li> "tt" - Trinidad And Tobago, <li> "tv" - Tuvalu, <li> "tw" - Taiwan, <li> "tz" - Tanzania, <li> "ua" - Ukraine, <li> "ug" - Uganda, <li> "um" - United States Minor Outlying Islands, <li> "us" - United States, <li> "uy" - Uruguay, <li> "uz" - Uzbekistan, <li> "va" - Vatican City State (Holy See), <li> "vc" - Saint Vincent and the Grenadines, <li> "ve" - Venezuela, <li> "vg" - British Virgin Islands, <li> "vi" - Virgin Islands (U.S.), <li> "vn" - Vietnam, <li> "vu" - Vanuatu, <li> "wf" - Wallis and Futuna Islands, <li> "ws" - Samoa (Western), <li> "ye" - Yemen, <li> "yt" - Mayotte, <li> "yu" - Serbia, <li> "za" - South Africa, <li> "zm" - Zambia, <li> "zw" - Zimbabwe </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 datetimewithtz

=begin html

The number of seconds since January 1, 1970. Range : [0..2^31-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 log-fwd-proto

=begin html

udp-unencrypted|tcp-unencrypted|tcp-encrypted Possible values: <ul> <li> "udp_unencrypted" - UDP unencrypted, <li> "tcp_unencrypted" - TCP unencrypted, <li> "tcp_encrypted" - TCP encrypted </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 remote-inet-address

=begin html

IPv4 Address, IPv6 Address or Host Name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 syslog-facility

=begin html

Syslog Facility Possible values: <ul> <li> "kern" - kernel messages, <li> "user" - user-level messages, <li> "local0" - local use 0, <li> "local1" - local use 1, <li> "local2" - local use 2, <li> "local3" - local use 3, <li> "local4" - local use 4, <li> "local5" - local use 5, <li> "local6" - local use 6, <li> "local7" - local use 7 </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserverid

=begin html

Vserver Id

=end html



B<Fields>

=over 2

=item * None

=back



=head2 zoneinfo-info

=begin html

Timezone Zoneinfo Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Version of the timezone database in the form YYYYv. \"YYYY\" is the year the database was released and \"v\" is the version within that year. \"YYYY\" will be four decimal digits and \"v\" will be an ASCII letter starting with \"a\" and increasing with each version. For example, the second 2017 version is \"2017b\". Attributes: non-creatable, modifiable

=end html

=back



=head2 cluster-image-download-status

=begin html

async_pkg_get_phase_failed|async_pkg_get_phase_running|async_pkg_get_phase_timedout|async_pkg_get_phase_notstarted|async_pkg_get_phase_complete|async_pkg_get_phase_aborted Possible values: <ul> <li> "async_pkg_get_phase_failed" - Download Failed, <li> "async_pkg_get_phase_running" - Download in Progress, <li> "async_pkg_get_phase_timedout" - Download Timedout, <li> "async_pkg_get_phase_notstarted" - Download not started or no download in progress, <li> "async_pkg_get_phase_complete" - Download Successful, <li> "async_pkg_get_phase_aborted" - Download Aborted </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-image-info

=begin html

Information to manage cluster images for Non disruptive-update. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<current-version>  =>   B<string, optional>

=begin html

<br>Current Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<date-installed>  =>   B<datetime, optional>

=begin html

<br>Date Installed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-id>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cluster-image-ndu-phase-list-info

=begin html

Status and required recovery action for each phase of update process When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<duration>  =>   B<string, optional>

=begin html

<br>The estimated duration for phases not completed and actual duration for those completed in seconds. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ndu-phase>  =>   B<non-disruptive-update-phase, optional>

=begin html

<br>Update phase Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "validation" - NDU validation phase, <li> "prereq_updates" - NDU prerequisite phase, <li> "ontap_updates" - Data ONTAP update phase, <li> "package_management" - Package management operations phase, <li> "default_phase" - Default Phase, <li> "post_update_checks" - Post update checks phase </ul>

=end html

=back



=over 2

=item * I<phase-comments>  =>   B<string, optional>

=begin html

<br>If an error has occurred the required recovery action. If the phase is completed the duration of the phase will be provided. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phase-status>  =>   B<non-disruptive-update-status, optional>

=begin html

<br>Phase status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "in_progress" - Upgrade phase is in progress, <li> "waiting" - Upgrade phase is waiting, <li> "paused_by_user" - Upgrade phase paused by user, <li> "paused_on_error" - Upgrade phase paused due to error, <li> "completed" - Upgrade phase completed, <li> "canceled" - Upgrade phase canceled, <li> "failed" - Upgrade phase failed, <li> "pause_pending" - Upgrade phase pause pending, <li> "cancel_pending" - Upgrade phase cancel pending </ul>

=end html

=back



=head2 cluster-image-package-local-info

=begin html

Detailed information on the local package When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<package-build-time>  =>   B<datetime, optional>

=begin html

<br>Package build time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package-details>  =>   B<L<"package-details-info">[], optional>

=begin html

<br>Lists detailed on the local packages located in the cluster image package repository

=end html

=back



=over 2

=item * I<package-version>  =>   B<string, optional>

=begin html

<br>Package version. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cluster-image-validation-report-list-info

=begin html

Lists the status and required actions for each NDU check involved in the update process. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ndu-check>  =>   B<string, optional>

=begin html

<br>Type of NDU check Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ndu-status>  =>   B<string, optional>

=begin html

<br>Phase status Possible values: ok failed warning Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<required-action>  =>   B<L<"required-action-info">, optional>

=begin html

<br>If the NDU check failed or warned. Provides detailed information on how to recover from the infraction, or in case of a warning list side effects of performing update

=end html

=back



=head2 cluster-update-history-info

=begin html

Detailed report for each update When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<completion-time>  =>   B<datetime, optional>

=begin html

<br>Date and time update completed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<component-id>  =>   B<string, optional>

=begin html

<br>Component ID Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<component-name>  =>   B<string, optional>

=begin html

<br>Component name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package-version>  =>   B<string, optional>

=begin html

<br>Installed package version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<previous-version>  =>   B<string, optional>

=begin html

<br>Previous version of firmware or software Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<datetime, optional>

=begin html

<br>Date and time update started. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<update-status>  =>   B<non-disruptive-update-history-status, optional>

=begin html

<br>Update status. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "successful" - Update completed successfully, <li> "canceled" - Update was canceled, <li> "back_out" - A back-out occurred do to a unrecoverable error </ul>

=end html

=back



=over 2

=item * I<updated-version>  =>   B<string, optional>

=begin html

<br>Updated version of firmware or software Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cluster-update-transaction-log-info

=begin html

Detailed report for each update transaction When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<component-id>  =>   B<node-name, optional>

=begin html

<br>Component ID. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<detailed-transaction-status>  =>   B<string, optional>

=begin html

<br>Includes sub-transaction name and detailed status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-date-time>  =>   B<datetime, optional>

=begin html

<br>Date and time update started Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transaction-id>  =>   B<integer, optional>

=begin html

<br>Unique transaction ID. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transaction-name>  =>   B<non-disruptive-update-task-name, optional>

=begin html

<br>Transaction name. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "initialize" - Initialization, <li> "mount_image" - Mount an image, <li> "restart_hm" - Restart Health Monitor, <li> "get_health" - Obtain System Health, <li> "run_scripts" - Run validation sctipts, <li> "unmount_image" - Unmount image, <li> "clear_alert" - Clear Alerts, <li> "post_restart_hm" - Post validation restart Health Monitor, <li> "cleanup_rdb" - Removes all rows for a given phase, <li> "synch_image" - Synchronize Secondary Store with Primary, <li> "process_package" - Process the package retrieved from external source, <li> "cleanup_package" - Removes the packages not currently in the image table, <li> "do_download_job" - Downloads the image to the boot device, <li> "do_failover_job" - Do the takeover, <li> "do_giveback_job" - Do the giveback, <li> "check_progress" - Check the progress of any running tasks, <li> "complete_validation" - Generate the final validation report, <li> "invalid_task" - Used by state machine when a valid task cannot be found, <li> "default_task" - Default Task, <li> "do_postupdate_checks_task" - Do the post update checks, <li> "do_disruptive_update_task" - Do disruptive update of node </ul>

=end html

=back



=over 2

=item * I<transaction-phase>  =>   B<non-disruptive-update-phase, optional>

=begin html

<br>Transaction phase Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "validation" - NDU validation phase, <li> "prereq_updates" - NDU prerequisite phase, <li> "ontap_updates" - Data ONTAP update phase, <li> "package_management" - Package management operations phase, <li> "default_phase" - Default Phase, <li> "post_update_checks" - Post update checks phase </ul>

=end html

=back



=over 2

=item * I<transaction-status>  =>   B<non-disruptive-update-log-status, optional>

=begin html

<br>Update status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "waiting" - Transaction is waiting, <li> "started" - Transaction was started, <li> "completed" - Transaction has completed, <li> "paused_on_error" - Transaction has been paused due to an error, <li> "paused_by_user" - Transaction has been paused by user, <li> "pause_pending" - Transaction has a pending pause request, <li> "cancel_pending" - Transaction has a pending cancel request, <li> "canceled" - Transaction has been canceled by user, <li> "failed" - Transaction has failed </ul>

=end html

=back



=head2 ndu-node-update-info

=begin html

Nondisruptive Update Progress Info of a Node

=end html



B<Fields>

=over 2

=item * I<node-elapsed-duration>  =>   B<integer, optional>

=begin html

<br>Elapsed amount of time, in seconds, used for the update of a node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Node name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-status>  =>   B<non-disruptive-update-status, optional>

=begin html

<br>Status of a node's update operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "in_progress" - Upgrade phase is in progress, <li> "waiting" - Upgrade phase is waiting, <li> "paused_by_user" - Upgrade phase paused by user, <li> "paused_on_error" - Upgrade phase paused due to error, <li> "completed" - Upgrade phase completed, <li> "canceled" - Upgrade phase canceled, <li> "failed" - Upgrade phase failed, <li> "pause_pending" - Upgrade phase pause pending, <li> "cancel_pending" - Upgrade phase cancel pending </ul>

=end html

=back



=head2 ndu-progress-info

=begin html

Nondisruptive Update Progress Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<completed-node-count>  =>   B<integer, optional>

=begin html

<br>Number of nodes that have completed update. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<intermediate-version>  =>   B<string, optional>

=begin html

<br>The intermediate-version for two-stage upgrade. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-two-stage-upgrade>  =>   B<boolean, optional>

=begin html

<br>If upgrade is two-stage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-validation-done-by-update>  =>   B<boolean, optional>

=begin html

<br>Is the validation done as part of update operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ndu-node-update-list>  =>   B<L<"ndu-node-update-info">[], optional>

=begin html

<br>Nondisruptive Update Progress Info of a Node

=end html

=back



=over 2

=item * I<node-estimated-duration>  =>   B<integer, optional>

=begin html

<br>Estimated amount of time, in seconds, required for the update of a node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<overall-elapsed-duration>  =>   B<integer, optional>

=begin html

<br>Overall elapsed amount of time, in seconds, used for the update. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<overall-estimated-duration>  =>   B<integer, optional>

=begin html

<br>Overall estimated amount of time, in seconds, required for the update. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<overall-status>  =>   B<non-disruptive-update-status, optional>

=begin html

<br>Status of overall update. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "in_progress" - Upgrade phase is in progress, <li> "waiting" - Upgrade phase is waiting, <li> "paused_by_user" - Upgrade phase paused by user, <li> "paused_on_error" - Upgrade phase paused due to error, <li> "completed" - Upgrade phase completed, <li> "canceled" - Upgrade phase canceled, <li> "failed" - Upgrade phase failed, <li> "pause_pending" - Upgrade phase pause pending, <li> "cancel_pending" - Upgrade phase cancel pending </ul>

=end html

=back



=over 2

=item * I<package-version>  =>   B<string, optional>

=begin html

<br>The package version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<paused-node-count>  =>   B<integer, optional>

=begin html

<br>Number of nodes that have paused during update. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phase-comments>  =>   B<L<"phase-comment-info">, optional>

=begin html

<br>Overall comment info

=end html

=back



=over 2

=item * I<source-version>  =>   B<string, optional>

=begin html

<br>The source version for two-stage upgrade. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-version>  =>   B<string, optional>

=begin html

<br>The target version for two-stage upgrade. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-node-count>  =>   B<integer, optional>

=begin html

<br>Number of nodes participating in update operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<upgrade-stage>  =>   B<integer, optional>

=begin html

<br>Stage of upgrade (1: First stage - source-version to intermediate-version, 2: Second stage - intermediate-version to target-version). Attributes: non-creatable, non-modifiable

=end html

=back



=head2 node-update-progress-info

=begin html

Node Update progress details When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-update-task-info-list>  =>   B<L<"node-update-task-info">[], optional>

=begin html

<br>Node task info

=end html

=back



=head2 node-update-task-info

=begin html

Node task info

=end html



B<Fields>

=over 2

=item * I<task-comments>  =>   B<string, optional>

=begin html

<br>Summary of task operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<task-end-time>  =>   B<datetime, optional>

=begin html

<br>Time at which the task completed. This is expressed in seconds since the Epoch. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<task-name>  =>   B<non-disruptive-update-task-name, optional>

=begin html

<br>Name of the task. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initialize" - Initialization, <li> "mount_image" - Mount an image, <li> "restart_hm" - Restart Health Monitor, <li> "get_health" - Obtain System Health, <li> "run_scripts" - Run validation sctipts, <li> "unmount_image" - Unmount image, <li> "clear_alert" - Clear Alerts, <li> "post_restart_hm" - Post validation restart Health Monitor, <li> "cleanup_rdb" - Removes all rows for a given phase, <li> "synch_image" - Synchronize Secondary Store with Primary, <li> "process_package" - Process the package retrieved from external source, <li> "cleanup_package" - Removes the packages not currently in the image table, <li> "do_download_job" - Downloads the image to the boot device, <li> "do_failover_job" - Do the takeover, <li> "do_giveback_job" - Do the giveback, <li> "check_progress" - Check the progress of any running tasks, <li> "complete_validation" - Generate the final validation report, <li> "invalid_task" - Used by state machine when a valid task cannot be found, <li> "default_task" - Default Task, <li> "do_postupdate_checks_task" - Do the post update checks, <li> "do_disruptive_update_task" - Do disruptive update of node </ul>

=end html

=back



=over 2

=item * I<task-start-time>  =>   B<datetime, optional>

=begin html

<br>Time at which the task started. This is expressed in seconds since the Epoch. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<task-status>  =>   B<non-disruptive-update-task-status, optional>

=begin html

<br>Status of the associated task-name. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "created" - Task has been created, <li> "ready_to_run" - Task ready to run, <li> "running" - Task has started and is running, <li> "completed" - Task is completed, <li> "failed" - Task failed to complete, <li> "pause_req" - Request for task to be paused, <li> "paused" - Task is paused, <li> "paused_error" - Task is paused because of an error, <li> "cancel_req" - Request for task to be cancelled, <li> "canceled" - Task is canceled, <li> "resume_req" - Request for paused task to be resumed, <li> "default_status" - Defaiult Status, <li> "abort_req" - Request for task to be aborted </ul>

=end html

=back



=head2 non-disruptive-update-history-status

=begin html

successful|canceled|back-out Possible values: <ul> <li> "successful" - Update completed successfully, <li> "canceled" - Update was canceled, <li> "back_out" - A back-out occurred do to a unrecoverable error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 non-disruptive-update-log-status

=begin html

waiting|started|completed|paused-on-error|paused-by-user|pause-pending|cancel-pending|canceled|failed Possible values: <ul> <li> "waiting" - Transaction is waiting, <li> "started" - Transaction was started, <li> "completed" - Transaction has completed, <li> "paused_on_error" - Transaction has been paused due to an error, <li> "paused_by_user" - Transaction has been paused by user, <li> "pause_pending" - Transaction has a pending pause request, <li> "cancel_pending" - Transaction has a pending cancel request, <li> "canceled" - Transaction has been canceled by user, <li> "failed" - Transaction has failed </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 non-disruptive-update-pause-after

=begin html

none|all Possible values: <ul> <li> "none" - Default: No pause, <li> "all" - Pause after all phases </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 non-disruptive-update-phase

=begin html

validation|prereq-updates|ontap-updates|package-management|default-phase|post-update-checks Possible values: <ul> <li> "validation" - NDU validation phase, <li> "prereq_updates" - NDU prerequisite phase, <li> "ontap_updates" - Data ONTAP update phase, <li> "package_management" - Package management operations phase, <li> "default_phase" - Default Phase, <li> "post_update_checks" - Post update checks phase </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 non-disruptive-update-status

=begin html

in-progress|waiting|paused-by-user|paused-on-error|completed|canceled|failed|pause-pending|cancel-pending Possible values: <ul> <li> "in_progress" - Upgrade phase is in progress, <li> "waiting" - Upgrade phase is waiting, <li> "paused_by_user" - Upgrade phase paused by user, <li> "paused_on_error" - Upgrade phase paused due to error, <li> "completed" - Upgrade phase completed, <li> "canceled" - Upgrade phase canceled, <li> "failed" - Upgrade phase failed, <li> "pause_pending" - Upgrade phase pause pending, <li> "cancel_pending" - Upgrade phase cancel pending </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 non-disruptive-update-task-name

=begin html

initialize|mount-image|restart-hm|get-health|run-scripts|unmount-image|clear-alert|post-restart-hm|cleanup-rd|synch-image|do-download-job|do-failover-job|do-giveback-job|check-progress|complete-validation|invalid-task|default-task|do-postupdate-checks-task Possible values: <ul> <li> "initialize" - Initialization, <li> "mount_image" - Mount an image, <li> "restart_hm" - Restart Health Monitor, <li> "get_health" - Obtain System Health, <li> "run_scripts" - Run validation sctipts, <li> "unmount_image" - Unmount image, <li> "clear_alert" - Clear Alerts, <li> "post_restart_hm" - Post validation restart Health Monitor, <li> "cleanup_rdb" - Removes all rows for a given phase, <li> "synch_image" - Synchronize Secondary Store with Primary, <li> "process_package" - Process the package retrieved from external source, <li> "cleanup_package" - Removes the packages not currently in the image table, <li> "do_download_job" - Downloads the image to the boot device, <li> "do_failover_job" - Do the takeover, <li> "do_giveback_job" - Do the giveback, <li> "check_progress" - Check the progress of any running tasks, <li> "complete_validation" - Generate the final validation report, <li> "invalid_task" - Used by state machine when a valid task cannot be found, <li> "default_task" - Default Task, <li> "do_postupdate_checks_task" - Do the post update checks, <li> "do_disruptive_update_task" - Do disruptive update of node </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 non-disruptive-update-task-status

=begin html

created|ready-to-run|running|completed|failed|pause_req|paused|paused-error|cancel_req|canceled|resume_req|default_status Possible values: <ul> <li> "created" - Task has been created, <li> "ready_to_run" - Task ready to run, <li> "running" - Task has started and is running, <li> "completed" - Task is completed, <li> "failed" - Task failed to complete, <li> "pause_req" - Request for task to be paused, <li> "paused" - Task is paused, <li> "paused_error" - Task is paused because of an error, <li> "cancel_req" - Request for task to be cancelled, <li> "canceled" - Task is canceled, <li> "resume_req" - Request for paused task to be resumed, <li> "default_status" - Defaiult Status, <li> "abort_req" - Request for task to be aborted </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 package-details-info

=begin html

Lists detailed on the local packages located in the cluster image package repository

=end html



B<Fields>

=over 2

=item * I<component-name>  =>   B<string, optional>

=begin html

<br>Name of the given component. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<component-version>  =>   B<string, optional>

=begin html

<br>The software version number of the given component. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 phase-comment-info

=begin html

Overall comment

=end html



B<Fields>

=over 2

=item * I<post-update-checks-phase-comments>  =>   B<string, optional>

=begin html

<br>Post Update Check Phase Comments Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<update-phase-comments>  =>   B<string, optional>

=begin html

<br>Summary of update operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<validation-phase-comments>  =>   B<string, optional>

=begin html

<br>Summary of validation operation. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 phase-info

=begin html

Upgrade or revert procedure can have planning, preparing, update and post-update phases. Each phase will have the phase details and list of steps.

=end html



B<Fields>

=over 2

=item * I<phase-detail>  =>   B<string, optional>

=begin html

<br>Phase details.

=end html

=back



=over 2

=item * I<phase-head>  =>   B<string, optional>

=begin html

<br>Phase heading.

=end html

=back



=over 2

=item * I<phase-notes>  =>   B<string, optional>

=begin html

<br>Phase notes.

=end html

=back



=over 2

=item * I<step-info-list>  =>   B<L<"step-info">[], optional>

=begin html

<br>List of steps in the respective phase.

=end html

=back



=head2 required-action-info

=begin html

If the NDU check failed or warned. Provides detailed information on how to recover from the infraction, or in case of a warning list side effects of performing update

=end html



B<Fields>

=over 2

=item * I<action>  =>   B<string, optional>

=begin html

<br>Recovery action for error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<advice>  =>   B<string, optional>

=begin html

<br>Advice for handling the error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error>  =>   B<string, optional>

=begin html

<br>Error description. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 step-info

=begin html

A prepare step, upgrade/revert step or post upgrade step based on the phase.

=end html



B<Fields>

=over 2

=item * I<step-command>  =>   B<string, optional>

=begin html

<br>A CLI command associated with the step.

=end html

=back



=over 2

=item * I<step-detail>  =>   B<string, optional>

=begin html

<br>Step details.

=end html

=back



=over 2

=item * I<step-example>  =>   B<string, optional>

=begin html

<br>An example associated with the step.

=end html

=back



=over 2

=item * I<step-name>  =>   B<string, optional>

=begin html

<br>Step heading or name.

=end html

=back



=over 2

=item * I<step-notes>  =>   B<string, optional>

=begin html

<br>Any notes associated with the step.

=end html

=back



=head2 cluster-peer-address-family

=begin html

The address family (IPv4/IPv6) of the cluster peer relationship. Possible values: <ul> <li> "ipv4" , <li> "ipv6" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-peer-auth-status-admin

=begin html

Cluster Peering Desired Authentication State

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-peer-auth-status-operational

=begin html

Cluster Peering Operational Authenticated State <p> The following are the possible values for the operational authentication state and their meanings. <ul> <li> 'ok' - The clusters have reached agreement on a shared secret and are using it in ongoing communication (both sides use-authentication, among other attributes), <li> 'absent' - The clusters agree that neither side requires authentication of the other (both sides no-authentication), <li> 'pending' - This cluster has an outstanding offer to authenticate with the other cluster, but agreement has not yet been reached, <li> 'expired' - This cluster's offer to authenticate with the other cluster expired before agreement was reached, <li> 'revoked' - This cluster has revoked any authentication agreement (this side revoked), <li> 'declined' - The other cluster has revoked our communication attempts and is declining to peer with this cluster, <li> 'refused' - The other cluster actively refuses our communication attempts; perhaps its part of the peering relationship has been deleted, <li> 'ok_and_offer' - The clusters agree on a shared secret and are using it. In addition, this cluster has an outstanding offer to re-authenticate with the other cluster, <li> 'absent_but_offer' - The clusters currently agree that neither side requires authentication of the other, but this cluster has an outstanding offer to authenticate, <li> 'revoked_but_offer' - The cluster has revoked any authentication agreement, but it has an outstanding offer to authenticate, <li> 'intent_mismatch' - The two sides disagree on whether authentication is required, <li> 'key_mismatch' - The two clusters both believe that they are authenticated, but one of the shared secrets has become corrupted, <li> 'incapable' - The other cluster is no longer running a version of Data ONTAP that supports authenticated cluster peering. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-peer-authn-offer

=begin html

Authentication Offers to Cluster Peers. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<auth-status-admin>  =>   B<cluster-peer-auth-status-admin, optional>

=begin html

<br>Authentication Status Administrative Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<auth-status-operational>  =>   B<cluster-peer-auth-status-operational, optional>

=begin html

<br>Authentication Status Operational Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<initial-allowed-vserver-peers>  =>   B<vserver-name[], optional>

=begin html

<br>Vservers Initially Allowed for Peering Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<offer-creation>  =>   B<datetime, optional>

=begin html

<br>Authentication Offer Creation Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<offer-expiration>  =>   B<expiration, optional>

=begin html

<br>Authentication Offer Expiration Time Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<peer-cluster-name>  =>   B<string, optional>

=begin html

<br>Peer Cluster Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-cluster-uuid>  =>   B<uuid, optional>

=begin html

<br>Cluster UUID Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cluster-peer-avail

=begin html

The availability of the peer cluster. Possible values: <ul> <li> "unavailable" , <li> "available" , <li> "partial" , <li> "pending" , <li> "unidentified" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-peer-connection-type

=begin html

Type of Connection for Cluster Peering

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-peer-connections

=begin html

Connections Established to Cluster Peers. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>The remote network address for this connection. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<auth-status-admin>  =>   B<cluster-peer-auth-status-admin, optional>

=begin html

<br>The desired status for the authentication of the peer relationship, according to this cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<auth-status-operational>  =>   B<cluster-peer-auth-status-operational, optional>

=begin html

<br>The actual status of the authentication interaction with the peer cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<authenticated>  =>   B<boolean, optional>

=begin html

<br>Whether the client has authenticated itself to the peer cluster on this connection. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<connection-type>  =>   B<cluster-peer-connection-type, optional>

=begin html

<br>The type of connection for cluster peering. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<encrypted>  =>   B<boolean, optional>

=begin html

<br>Whether the traffic on this connection is encrypted. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-descriptor>  =>   B<integer, optional>

=begin html

<br>The index value for the connection. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<idle-time>  =>   B<time-interval, optional>

=begin html

<br>The time since the most recent call, in seconds. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The name of the node that has the connections involved. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-cluster-name>  =>   B<string, optional>

=begin html

<br>The name of the peer cluster. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-cluster-uuid>  =>   B<uuid, optional>

=begin html

<br>The UUID of the peer cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>The Internet port to which this file descriptor provides service. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rpc-procedure>  =>   B<integer, optional>

=begin html

<br>The number of the RPC procedure called most recently on this file descriptor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rpc-program>  =>   B<integer, optional>

=begin html

<br>The RPC program number to which this file descriptor provides service. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rpc-version>  =>   B<integer, optional>

=begin html

<br>The version of the RPC program number to which this file descriptor provides service. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<uniquifier>  =>   B<integer, optional>

=begin html

<br>The uniquifier of the associated session. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cluster-peer-health-info

=begin html

Cluster Peer Health Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<bypass-cache>  =>   B<boolean, optional>

=begin html

<br>When false, do not use cached results. Cached results may not be current, but they may be retrieved quickly. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-ping>  =>   B<peer-ping-status, optional>

=begin html

<br>The status of the data ping operation. Possible values are (interface-reachable, unreachable). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown_node" - Unknown Node, <li> "internal_error" - Internal Error, <li> "unreachable" - Unreachable, <li> "session_reachable" - Session Reachable, <li> "interface_reachable" - Interface Reachable, <li> "address_family_mismatch" - Address Family Mismatch </ul>

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The name of the peer cluster. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-cluster-uuid>  =>   B<string, optional>

=begin html

<br>The UUID of the peer cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-node>  =>   B<peer-node-name, optional>

=begin html

<br>The name of the node in the peer cluster. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<icmp-ping>  =>   B<peer-ping-status, optional>

=begin html

<br>The status of ICMP ping operation. Possible values are (interface-reachable, unreachable). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown_node" - Unknown Node, <li> "internal_error" - Internal Error, <li> "unreachable" - Unreachable, <li> "session_reachable" - Session Reachable, <li> "interface_reachable" - Interface Reachable, <li> "address_family_mismatch" - Address Family Mismatch </ul>

=end html

=back



=over 2

=item * I<is-cluster-healthy>  =>   B<boolean, optional>

=begin html

<br>The status of peer cluster health. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-destination-node-available>  =>   B<boolean, optional>

=begin html

<br>True implies that the destination node is available for intercluster communication. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-node-healthy>  =>   B<boolean, optional>

=begin html

<br>The RDB health of the node. True means the node is in quorum. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-updated>  =>   B<datetime, optional>

=begin html

<br>The date and time when the health information for this node was last updated. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<originating-node>  =>   B<node-name, optional>

=begin html

<br>The name of the local node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 cluster-peer-info

=begin html

Contains information about the cluster peer. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<active-addresses>  =>   B<remote-inet-address[], optional>

=begin html

<br>The active IP addresses of the peer cluster. Available in the local cluster from a cache. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<address-family>  =>   B<cluster-peer-address-family, optional>

=begin html

<br>The address family of the peer cluster connection. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ipv4" , <li> "ipv6" </ul>

=end html

=back



=over 2

=item * I<auth-status-admin>  =>   B<cluster-peer-auth-status-admin, optional>

=begin html

<br>The desired status for the authentication of the peer relationship, according to this cluster. Available in the local cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<auth-status-operational>  =>   B<cluster-peer-auth-status-operational, optional>

=begin html

<br>The actual status of the authentication interaction with the peer cluster. Available in the local cluster from a cache. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<availability>  =>   B<cluster-peer-avail, optional>

=begin html

<br>The status of the peer cluster connection. Available in the local cluster from a cache. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unavailable" , <li> "available" , <li> "partial" , <li> "pending" , <li> "unidentified" </ul>

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>The name of the peer cluster. Available in the local cluster. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-uuid>  =>   B<string, optional>

=begin html

<br>The UUID of the peer cluster. Available in the local cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<encrypt>  =>   B<csm-encr-flags, optional>

=begin html

<br>Guidance for use of encryption. Default: Never: never encrypt Available in the local cluster. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "never" - Never Encrypt, <li> "as_possible" - Encrypt Where Possible, <li> "always" - Require Encryption </ul>

=end html

=back



=over 2

=item * I<ipspace-name>  =>   B<string, optional>

=begin html

<br>IPspace in which the LIFs for this relationship are to be found. Default: The Default IPspace Available in the local cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-cluster-healthy>  =>   B<boolean, optional>

=begin html

<br>The status of peer cluster health. Available in the local cluster from a cache. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-updated>  =>   B<datetime, optional>

=begin html

<br>The last time that an attempt was made to contact this cluster and its status information was updated. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-addresses>  =>   B<remote-inet-address[], optional>

=begin html

<br>The remote IP address or host name of the peer cluster. Available in the local cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-cluster-name>  =>   B<string, optional>

=begin html

<br>The current name of the peer cluster. Fetched remotely. Generally, use the 'cluster' name instead. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-cluster-nodes>  =>   B<peer-node-name[], optional>

=begin html

<br>The list of all the nodes in the peer cluster. Available in the local cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rpc-connect-timeout>  =>   B<integer, optional>

=begin html

<br>The timeout for RPC Connect calls to the peer cluster in seconds. Default: 10 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<cluster-serial-number, optional>

=begin html

<br>This is an assigned serial number of peer cluster. It is assigned at the time of cluster create. Available in the local cluster from a cache. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<timeout>  =>   B<integer, optional>

=begin html

<br>The timeout for operations in the peer cluster in seconds. Default: 15 Available in the local cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<unreachable-local-nodes>  =>   B<peer-node-name[], optional>

=begin html

<br>List of local nodes not contactable from the node on which the command is executed. Available in the local cluster from a cache. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<update-ping-timeout>  =>   B<integer, optional>

=begin html

<br>The timeout for pings to the peer cluster in seconds. Default: 5 Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cluster-peer-passphrase-info

=begin html

Cluster Peer Create Passphrase Information

=end html



B<Fields>

=over 2

=item * I<cluster>  =>   B<string, optional>

=begin html

<br>The name of the peer cluster. Available in the local cluster. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<ip-address>  =>   B<remote-inet-address, optional>

=begin html

<br>Intercluster LIF IP Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace in which the LIFs for this relationship are to be found. Default: The Default IPspace Available in the local cluster. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<offer-expiration>  =>   B<expiration, optional>

=begin html

<br>When the offer to match passphrases will expire. Default: one hour into the future Available in the local cluster. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<passphrase>  =>   B<string, optional>

=begin html

<br>Authentication Passphrase Attributes: optional-for-create, non-modifiable

=end html

=back



=head2 cluster-peer-ping-info

=begin html

Cluster Peer Ping Configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<count>  =>   B<integer, optional>

=begin html

<br>The total number of times to ping. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-count>  =>   B<integer, optional>

=begin html

<br>The current ping count. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-address>  =>   B<ip-address, optional>

=begin html

<br>The active IP address of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The name of the destination cluster. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-cluster-uuid>  =>   B<string, optional>

=begin html

<br>The UUID of the destination cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-node>  =>   B<string, optional>

=begin html

<br>The name of the destination node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<originating-node>  =>   B<node-name, optional>

=begin html

<br>The name of the originating node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ping-status>  =>   B<peer-ping-status, optional>

=begin html

<br>The status of the ping operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown_node" - Unknown Node, <li> "internal_error" - Internal Error, <li> "unreachable" - Unreachable, <li> "session_reachable" - Session Reachable, <li> "interface_reachable" - Interface Reachable, <li> "address_family_mismatch" - Address Family Mismatch </ul>

=end html

=back



=over 2

=item * I<round-trip>  =>   B<integer, optional>

=begin html

<br>The roundtrip response time of ping operation in microseconds. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time-to-live>  =>   B<integer, optional>

=begin html

<br>The time to live (remaining hops). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<timeout>  =>   B<integer, optional>

=begin html

<br>The timeout to use when pinging the peer cluster in seconds. Default: 15 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<peer-ping-protocol, optional>

=begin html

<br>The network protocol to use when performing the ping operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "data" - Data Ping, <li> "icmp" - ICMP Ping </ul>

=end html

=back



=head2 cluster-peer-policy

=begin html

Policy Configuration of the Cluster Peer Facility. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-unauthenticated-access-permitted>  =>   B<boolean, optional>

=begin html

<br>Whether unauthenticated communication between cluster peers is permitted. If true, unauthenticated communication between cluster peers is permitted. Default: false Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<passphrase-minimum-length>  =>   B<integer, optional>

=begin html

<br>Minimum required length for a passphrase. Default: 8 Attributes: non-creatable, modifiable

=end html

=back



=head2 csm-encr-flags

=begin html

never|as-possible|always Possible values: <ul> <li> "never" - Never Encrypt, <li> "as_possible" - Encrypt Where Possible, <li> "always" - Require Encryption </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 expiration

=begin html

Expiration in MM/DD/YYYY HH:MM:SS | {1..7}days | {1..168}hours

=end html



B<Fields>

=over 2

=item * None

=back



=head2 peer-node-name

=begin html

The name of a node in a peer cluster

=end html



B<Fields>

=over 2

=item * None

=back



=head2 peer-ping-protocol

=begin html

The network protocol to use when performing the ping operation. Possible values: <ul> <li> "data" - Data Ping, <li> "icmp" - ICMP Ping </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 peer-ping-status

=begin html

The status of the ping operation. Possible values: <ul> <li> "unknown_node" - Unknown Node, <li> "internal_error" - Internal Error, <li> "unreachable" - Unreachable, <li> "session_reachable" - Session Reachable, <li> "interface_reachable" - Interface Reachable, <li> "address_family_mismatch" - Address Family Mismatch </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 backup-type

=begin html

The type of a configuration backup. Possible values: <ul> <li> "node" - Node Backup, <li> "cluster" - Cluster Backup </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 config-backup-info-type

=begin html

Configuration Backup Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<backup-creation-time>  =>   B<integer, optional>

=begin html

<br>The time of the configuration backup creation. The time value is in seconds since January 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<backup-name>  =>   B<string, optional>

=begin html

<br>The name of the configuration backup. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<backup-size>  =>   B<integer, optional>

=begin html

<br>The size of configuration backup file in number of bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<backup-type>  =>   B<backup-type, optional>

=begin html

<br>Indicates if the backup is a node or a cluster backup. A node backup contains only node-specific configuration of a particular node in the cluster. A cluster backup contains cluster-wide replicas in addition to node backup of each node in the cluster. If backup-type is not provided, cluster backup is assumed by default. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "node" - Node Backup, <li> "cluster" - Cluster Backup </ul>

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>The name of the cluster which the configuration backup was created for. This field is set only for cluster backups. For node backups, the nodes-in-backup field indicates the name of the node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-uuid>  =>   B<string, optional>

=begin html

<br>The UUID of the cluster which the configuration backup was created for. This field is set only for cluster backups. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-auto>  =>   B<boolean, optional>

=begin html

<br>True indicates that configuration backup is a scheduled backup that was created automatically by a schedule. False indicates that configuration backup was created on demand. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node that owns the configuration backup. This is the node that has the backup file on its root volume. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nodes-in-backup>  =>   B<string[], optional>

=begin html

<br>The names of the nodes included in the configuration backup. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>The name of the job schedule for scheduled backups. Possible values are: '8hour', 'daily', and 'weekly'. This field is not set for on demand backups created via management CLI or ZAPI. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>The software version which the configuration backup was created with. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 config-backup-settings-type

=begin html

Configuration Backup Settings When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<backup-count1>  =>   B<integer, optional>

=begin html

<br>The number of configuration backups to keep in the cluster for schedule 1. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<backup-count2>  =>   B<integer, optional>

=begin html

<br>The number of configuration backups to keep in the cluster for schedule 2. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<backup-count3>  =>   B<integer, optional>

=begin html

<br>The number of configuration backups to keep in the cluster for schedule 3. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<destination-url>  =>   B<string, optional>

=begin html

<br>The destination URL for uploading the configuration backups. URL is specified following the syntax described in RFC 3986. Only 'ftp', 'http' and 'https' protocols are supported. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<job-schedule1>  =>   B<string, optional>

=begin html

<br>The name of the first job schedule for generating configuration backups. It is pre-programmed to be '8hour'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule2>  =>   B<string, optional>

=begin html

<br>The name of the second job schedule for generating configuration backups. It is pre-programmed to be 'daily'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule3>  =>   B<string, optional>

=begin html

<br>The name of the third job schedule for generating configuration backups. It is pre-programmed to be 'weekly'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<username-for-destination-url>  =>   B<string, optional>

=begin html

<br>The username for the destination URL. Attributes: non-creatable, modifiable

=end html

=back



=head2 alarm-state

=begin html

Alarm Monitoring State Possible values: <ul> <li> "ok" , <li> "warning" , <li> "critical" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 dashboard-alarm-info

=begin html

Alarm monitoring data When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<dashboard-metric-type>  =>   B<dashboard-metric-type, optional>

=begin html

<br>The type of metric being monitored. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "cpu_busy" - CPU Utilization, <li> "port_util" - Port Utilization, <li> "op_latency" - Average Client Latency of NFS and CIFS operations, <li> "aggregate_used" - Storage Aggregate Utilization, <li> "port_problems" - Packet Error Ratio </ul>

=end html

=back



=over 2

=item * I<high-value>  =>   B<string, optional>

=begin html

<br>The highest value recorded so far for this metric. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-value>  =>   B<string, optional>

=begin html

<br>The last value recorded for this metric. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of the node associated with the alarm metrics. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object-name>  =>   B<string, optional>

=begin html

<br>Name associated with the object being monitored. For example, the object-name is the name of the node if the dashboard-metric-type is cpu-busy. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<alarm-state, optional>

=begin html

<br>The current alarm state of the object being monitored. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" , <li> "warning" , <li> "critical" </ul>

=end html

=back



=head2 dashboard-alarm-threshold-info

=begin html

Alarm threshold configuration settings When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<critical-threshold>  =>   B<string, optional>

=begin html

<br>The threshold value that must be reached to generate a critical alarm for this type of metric. Get request is returned with % sign for percent values and ms for milliseconds value. Example : 95%, 500ms Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<dashboard-metric-type>  =>   B<dashboard-metric-type, optional>

=begin html

<br>The type of metric being monitored. Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "cpu_busy" - CPU Utilization, <li> "port_util" - Port Utilization, <li> "op_latency" - Average Client Latency of NFS and CIFS operations, <li> "aggregate_used" - Storage Aggregate Utilization, <li> "port_problems" - Packet Error Ratio </ul>

=end html

=back



=over 2

=item * I<is-user-notification-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether user notifications are enabled. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<polling-interval>  =>   B<integer, optional>

=begin html

<br>The refresh interval for the alarm dashboard metrics (in seconds). Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<threshold-units>  =>   B<threshold-unit, optional>

=begin html

<br>Threshold Units Attributes: optional-for-create, modifiable Possible values: <ul> <li> "none" - none, <li> "ms" - milliseconds, <li> "percent" - percent </ul>

=end html

=back



=over 2

=item * I<warning-threshold>  =>   B<string, optional>

=begin html

<br>The threshold value that must be reached to generate a warning alarm for this type of metric. Get request is returned with % sign for percent values and ms for milliseconds value. Example : 85%, 200ms Attributes: required-for-create, modifiable

=end html

=back



=head2 dashboard-metric-type

=begin html

Metric Type Possible values: <ul> <li> "cpu_busy" - CPU Utilization, <li> "port_util" - Port Utilization, <li> "op_latency" - Average Client Latency of NFS and CIFS operations, <li> "aggregate_used" - Storage Aggregate Utilization, <li> "port_problems" - Packet Error Ratio </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 threshold-unit

=begin html

Dashboard Threshold Units Possible values: <ul> <li> "none" - none, <li> "ms" - milliseconds, <li> "percent" - percent </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 date

=begin html

Date (in seconds since Jan. 1, 1970 12:00:00) Range : [0..2^31-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 diagnosis-alert-definition-info

=begin html

System Health Alert Definition When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<additional-information>  =>   B<string, optional>

=begin html

<br>Additional information about the alert. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<alert-id>  =>   B<string, optional>

=begin html

<br>Alert identification. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<alert-type>  =>   B<hm-alert-type, optional>

=begin html

<br>Type of alert (other,communications,quality-of-service,processing-error,device,environmental,model-change,security). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<corrective-actions>  =>   B<string, optional>

=begin html

<br>Recommended actions to correct the problem reported by alert. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type, optional>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system). Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node hosting this health monitor. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<perceived-severity>  =>   B<hm-perceived-sev, optional>

=begin html

<br>Severity of alert (Unknown,Other,Information,Degraded,Minor,Major,Critical,Fatal). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<possible-effect>  =>   B<string, optional>

=begin html

<br>Detailed description of the possible effect of the condition. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<probable-cause>  =>   B<hm-probable-cause, optional>

=begin html

<br>Probable cause for alert generation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<probable-cause-description>  =>   B<string, optional>

=begin html

<br>Detailed description of probable cause for alert generation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<subsystem>  =>   B<hm-subsystem, optional>

=begin html

<br>Type of subsystem being monitored (e.g. sas_connect). Attributes: non-creatable, non-modifiable

=end html

=back



=head2 diagnosis-alert-info

=begin html

System Health Alert When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<acknowledge>  =>   B<boolean, optional>

=begin html

<br>Acknowledge the alert condition. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<acknowledger>  =>   B<string, optional>

=begin html

<br>Person who acknowledged this alert Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<additional-info>  =>   B<string[], optional>

=begin html

<br>Additional information from the resource that generated this alert Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<alert-id>  =>   B<string, optional>

=begin html

<br>Alert identification. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<alerting-resource>  =>   B<string, optional>

=begin html

<br>Unique name of resource that generated the alert. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<alerting-resource-name>  =>   B<string, optional>

=begin html

<br>Display name of resource that generated the alert. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<corrective-actions>  =>   B<string, optional>

=begin html

<br>Recommended actions to correct the problem reported by alert. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<indication-time>  =>   B<date, optional>

=begin html

<br>Time of alert generation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type, optional>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system). Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node hosting this health monitor. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<perceived-severity>  =>   B<hm-perceived-sev, optional>

=begin html

<br>Severity of alert. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Policy rule responsible for creating this alert. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<possible-effect>  =>   B<string, optional>

=begin html

<br>Possible effect seen due to this problem. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<probable-cause>  =>   B<hm-probable-cause, optional>

=begin html

<br>Probable cause for alert generation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<probable-cause-description>  =>   B<string, optional>

=begin html

<br>Detailed description of probable cause for alert generation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<subsystem>  =>   B<hm-subsystem, optional>

=begin html

<br>Type of subsystem being monitored (e.g. sas_connect). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<suppress>  =>   B<boolean, optional>

=begin html

<br>Suppress this alert. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<suppressor>  =>   B<string, optional>

=begin html

<br>Person who suppressed this alert Attributes: non-creatable, modifiable

=end html

=back



=head2 diagnosis-config-info

=begin html

System Health Config When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregator>  =>   B<hm-type, optional>

=begin html

<br>Aggregating health monitor that aggregates status from this health monitor. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "node_connect" ... node scope health monitor , <li> "system_connect" ... cluster scope health monitor , <li> "system" ... aggregator of health monitor status , </ul>

=end html

=back



=over 2

=item * I<context>  =>   B<hm-scope, optional>

=begin html

<br>Scope of health monitor (node-context, cluster-context). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "node_context" , <li> "cluster_context" </ul>

=end html

=back



=over 2

=item * I<health>  =>   B<hm-status, optional>

=begin html

<br>Status of health monitor (ok, ok-with-suppressed, degraded). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" , <li> "ok_with_suppressed" , <li> "degraded" , <li> "unreachable" , <li> "unknown" </ul>

=end html

=back



=over 2

=item * I<init-state>  =>   B<hm-subsystem-discovery-state, optional>

=begin html

<br>Subsystem initialization state of health monitor Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "invalid" , <li> "initializing" , <li> "initialized" , <li> "start_discovery" , <li> "start_rediscovery" , <li> "discovered_partially" , <li> "discovery_done" , <li> "discovery_max" </ul>

=end html

=back



=over 2

=item * I<mon-version>  =>   B<string, optional>

=begin html

<br>Health Monitor version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type, optional>

=begin html

<br>Type of health monitor. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "node_connect" , <li> "system_connect" , <li> "system" </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node hosting this health monitor. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<pol-version>  =>   B<string, optional>

=begin html

<br>Policy file version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<resources>  =>   B<string[], optional>

=begin html

<br>Resources monitored by this health monitor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sub-pol-versions>  =>   B<string, optional>

=begin html

<br>Subordinate policy file versions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<subsystem>  =>   B<hm-subsystem[], optional>

=begin html

<br>Type of subsystem being monitored (e.g. sas_connect). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "sas_connect" , <li> "ha_health" , </ul>

=end html

=back



=head2 diagnosis-policy-definition-info

=begin html

System Health Policy Definition When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<alert-count>  =>   B<integer, optional>

=begin html

<br>Count of alerts created as a result of this policy. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<alert-id>  =>   B<string, optional>

=begin html

<br>Alert identifier for alert to be generated on policy rule match. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<creation-time>  =>   B<datetime, optional>

=begin html

<br>Time when the previous alert was created due to this policy. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<enable>  =>   B<boolean, optional>

=begin html

<br>Enable/disable this policy. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-autosupport-enabled>  =>   B<boolean, optional>

=begin html

<br>Enable AutoSupport for this alert. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type, optional>

=begin html

<br>Type of health monitor (e.g. node_connect, system_connect, system). Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node hosting this health monitor. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-id>  =>   B<string, optional>

=begin html

<br>Policy identifier. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<responsible-resource-info>  =>   B<string, optional>

=begin html

<br>The resource responsible for creating this alert Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rule-expression>  =>   B<string, optional>

=begin html

<br>Arithmetic expression which defines alerts to be created as a result of this policy. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<where>  =>   B<string, optional>

=begin html

<br>Where clause of Arithmetic expression. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 diagnosis-status

=begin html

System Health Status When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<status>  =>   B<hm-status, optional>

=begin html

<br>Overall system health (ok,ok-with-suppressed,degraded,unreachable) as determined by the diagnosis framework. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 diagnosis-subscriptions-info

=begin html

System Health Subscriptions When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<class-name>  =>   B<string, optional>

=begin html

<br>Class name of changed resource. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<creation-time>  =>   B<datetime, optional>

=begin html

<br>Time at which this subscription was created. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<event-type>  =>   B<hm-event-type, optional>

=begin html

<br>Type of event (rm-add, rm-del, rm-mod) for which notification is to be generated. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<fail-thresh>  =>   B<integer, optional>

=begin html

<br>Failure threshold for notification. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<instance-name>  =>   B<string, optional>

=begin html

<br>Instance name of changed resource. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-notify-period>  =>   B<integer, optional>

=begin html

<br>Maximum expected time for Notification to complete. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<monitor>  =>   B<hm-type, optional>

=begin html

<br>Type of source health monitor (e.g. node_connect, system_connect, system). Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node hosting this health monitor and sends out notifications Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<notify-dest-hm>  =>   B<hm-type, optional>

=begin html

<br>Health monitor subsribing for notification. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<notify-dest-node>  =>   B<node-name, optional>

=begin html

<br>Node hosting the health monitor that is subscribing for notification. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<notify-fptr>  =>   B<integer, optional>

=begin html

<br>Function pointer to be invoked. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<notify-table>  =>   B<string, optional>

=begin html

<br>Table name for DSMF notification. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<notify-type>  =>   B<hm-notify-type, optional>

=begin html

<br>Type of notification (dsmf-type, fptr-type). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<psc-option>  =>   B<boolean, optional>

=begin html

<br>Enable/Disable periodic status confirmation. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<subscription-id>  =>   B<string, optional>

=begin html

<br>Subscription identifier. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<time-gap-notify>  =>   B<integer, optional>

=begin html

<br>Time Period between two notifications. Attributes: optional-for-create, modifiable

=end html

=back



=head2 diagnosis-subsystem-config-info

=begin html

System Health Subsystem Status When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<health>  =>   B<hm-status, optional>

=begin html

<br>Health of Subsystem. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" , <li> "ok_with_suppressed" , <li> "degraded" , <li> "unreachable" , <li> "unknown" </ul>

=end html

=back



=over 2

=item * I<init-state>  =>   B<hm-subsystem-discovery-state, optional>

=begin html

<br>Initialization State of Subsystem. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "invalid" , <li> "initializing" , <li> "initialized" , <li> "start_discovery" , <li> "start_rediscovery" , <li> "discovered_partially" , <li> "discovery_done" , <li> "discovery_max" </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<string[], optional>

=begin html

<br>Node hosting this health monitor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<outstanding-alert-count>  =>   B<integer, optional>

=begin html

<br>Number of outstanding alerts. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<refresh-interval>  =>   B<integer[], optional>

=begin html

<br>Subsystem Refresh Interval in Minutes. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<subsystem>  =>   B<hm-subsystem, optional>

=begin html

<br>Type of subsystem being monitored <p> Possible values: <ul> <li> 'sas_connect', <li> 'ha_health', </ul> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<suppressed-alert-count>  =>   B<integer, optional>

=begin html

<br>Number of suppressed alerts. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 hm-alert-type

=begin html

Type of alert Possible values: <ul> <li> "other" , <li> "communications" , <li> "quality_of_service" , <li> "processing_error" , <li> "device" , <li> "environmental" , <li> "model_change" , <li> "security" , <li> "nondisruptive_upgrade" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-event-type

=begin html

Event type Possible values: <ul> <li> "rm_add" , <li> "rm_del" , <li> "rm_mod" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-notify-type

=begin html

Notify type Possible values: <ul> <li> "dsmf_type" , <li> "fptr_type" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-perceived-sev

=begin html

Alert severity Possible values: <ul> <li> "Unknown" , <li> "Other" , <li> "Information", <li> "Degraded" , <li> "Minor" , <li> "Major" , <li> "Critical" , <li> "Fatal" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-probable-cause

=begin html

Probable cause for alert generation Possible values: <ul> <li> "Unknown", <li> "Other", <li> "Adapter_error", <li> "Application_subsystem_failure", <li> "Bandwidth_reduced", <li> "Connection_establishment_error", <li> "Communications_protocol_error", <li> "Communications_subsystem_failure", <li> "Configuration_error", <li> "Congestion", <li> "Corrupt_data", <li> "CPU_cycles_limit_exceeded", <li> "Dataset_error", <li> "Degraded_signal", <li> "DTE_DCE_interface_error", <li> "Enclosure_door_open", <li> "Equipment_malfunction", <li> "Excessive_vibration", <li> "File_format_error", <li> "Fire_detected", <li> "Flood_detected", <li> "Framing_error", <li> "HVAC_problem", <li> "Humidity_unacceptable", <li> "IO_device_error", <li> "Input_device_error", <li> "LAN_error", <li> "Non_toxic_leak_detected", <li> "Local_node_transmission_error", <li> "Loss_of_frame", <li> "Loss_of_signal", <li> "Material_supply_exhausted", <li> "Multiplexer_problem", <li> "Out_of_memory", <li> "Output_device_error", <li> "Performance_degraded", <li> "Power_problem", <li> "Pressure_unacceptable", <li> "Processor_problem", <li> "Pump_failure", <li> "Queue_size_exceeded", <li> "Receive_failure", <li> "Receiver_failure", <li> "Remote_node_transmission_error", <li> "Resource_at_or_nearing_capacity", <li> "Response_time_excessive", <li> "Retransmission_rate_excessive", <li> "Software_error", <li> "Software_program_abnormally_terminated", <li> "Software_program_error", <li> "Storage_capacity_problem", <li> "Temperature_unacceptable", <li> "Threshold_crossed", <li> "Timing_problem", <li> "Toxic_leak_detected", <li> "Transmit_failure", <li> "Transmitter_failure", <li> "Underlying_resource_unavailable", <li> "Version_misMatch", <li> "Previous_alert_cleared", <li> "Login_attempts_failed", <li> "Software_virus_detected", <li> "Hardware_security_breached", <li> "Denial_of_service_detected", <li> "Security_credential_misMatch", <li> "Unauthorized_access", <li> "Alarm_received", <li> "Loss_of_pointer", <li> "Payload_mismatch", <li> "Transmission_error", <li> "Excessive_error_rate", <li> "Trace_problem", <li> "Element_unavailable", <li> "Element_missing", <li> "Loss_of_multi_frame", <li> "Broadcast_channel_failure", <li> "Invalid_message_received", <li> "Routing_failure", <li> "Backplane_failure", <li> "Identifier_duplication", <li> "Protection_path_failure", <li> "Sync_loss_or_mismatch", <li> "Terminal_problem", <li> "Real_time_clock_failure", <li> "Antenna_failure", <li> "Battery_charging_failure", <li> "Disk_failure", <li> "Frequency_hopping_failure", <li> "Loss_of_redundancy", <li> "Power_supply_failure", <li> "Signal_quality_problem", <li> "Battery_discharging", <li> "Battery_failure", <li> "Commercial_power_problem", <li> "Fan_failure", <li> "Engine_failure", <li> "Sensor_failure", <li> "Fuse_failure", <li> "Generator_failure", <li> "Low_battery", <li> "Low_fuel", <li> "Low_water", <li> "Explosive_gas", <li> "High_winds", <li> "Ice_buildup", <li> "Smoke", <li> "Memory_mismatch", <li> "Out_of_CPU_cycles", <li> "Software_environment_problem", <li> "Software_download_failure", <li> "Element_reinitialized", <li> "Timeout", <li> "Logging_problems", <li> "Leak_detected", <li> "Protection_mechanism_failure", <li> "Protecting_resource_failure", <li> "Database_inconsistency", <li> "Authentication_failure", <li> "Breach_of_confidentiality", <li> "Cable_tamper", <li> "Delayed_information", <li> "Duplicate_information", <li> "Information_missing", <li> "Information_modification", <li> "Information_out_of_sequence", <li> "Key_expired", <li> "Non_repudiation_failure", <li> "Out_of_hours_activity", <li> "Out_of_service", <li> "Procedural_error", <li> "DIMM_End_Of_Life", <li> "hardware_degrading", <li> "hardware_degradation" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-scope

=begin html

Node or Cluster context of Health Monitor Possible values: <ul> <li> "node_context" , <li> "cluster_context" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-status

=begin html

Health Monitor Status Possible values: <ul> <li> "ok" , <li> "ok_with_suppressed" , <li> "degraded" , <li> "unreachable" , <li> "unknown" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-subsystem

=begin html

Health Monitor Subsystem Possible values: <ul> <li> "SAS-connect", <li> "Environment", <li> "Memory", <li> "Service-Processor", <li> "Switch-Health", <li> "CIFS-NDO", <li> "Motherboard", <li> "IO", <li> "example-subsystem", <li> "metrocluster", <li> "example-external-subsystem", <li> "Metrocluster_Node", <li> "Unknown", <li> "FHM-Switch", <li> "FHM-Bridge" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-subsystem-discovery-state

=begin html

Health Monitor Subsystem State Possible values: <ul> <li> "invalid" , <li> "initializing" , <li> "initialized" , <li> "start_discovery" , <li> "start_rediscovery" , <li> "discovered_partially" , <li> "discovery_done" , <li> "discovery_max" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hm-type

=begin html

Type of Health Monitor Possible values: <ul> <li> "node_connect" , <li> "system_connect" , <li> "system" , <li> "controller" , <li> "chassis" , <li> "cluster_switch" , <li> "example" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 disk-name

=begin html

name of a disk.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 disk-sanown-detail-info

=begin html

Disk sanown information.

=end html



B<Fields>

=over 2

=item * I<checksum>  =>   B<string, optional>

=begin html

<br>Only returned on RAID array LUNs. The possible values: <ul> <li> "advanced_zoned" - advanced_zoned checksum (azcs), <li> "block" - block, <li> "zoned" - zoned (this value is no longer supported). </ul>

=end html

=back



=over 2

=item * I<dr-home-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of home owner of a disk in switchover state when there is a disaster. Before disaster switchover, the value of this field is zero. At the time of switchover, it would be changed so as to keep track of whom to give the disks to, at the time of switchback. If the disk has no dr home id, this will not be returned.

=end html

=back



=over 2

=item * I<dr-home-owner>  =>   B<string, optional>

=begin html

<br>This is the name of home owner of a disk in switchover state when there is a disaster. Before disaster switchover, the value of this field is a NULL string. At the time of switchover, it would be changed so as to keep track of whom to give the disks to, at the time of switchback. If the disk has no dr home owner, this will not be returned.

=end html

=back



=over 2

=item * I<home>  =>   B<string, optional>

=begin html

<br>The home of the disk. On NG will be different than owner if the home node has been taken over. On Classic this will be the same as owner. If the disk has no owner, this will not be returned.

=end html

=back



=over 2

=item * I<home-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of disk home. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<is-failed>  =>   B<boolean>

=begin html

<br>'true' if the disk is failed, 'false' otherwise.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the disk, e.g. v1.1 Wildcarding for disk string is suuported, e.g. v1.*

=end html

=back



=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Current owner of the disk. If disk has no owner, this will not be returned.

=end html

=back



=over 2

=item * I<owner-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of owner if there is one. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<pool>  =>   B<integer, optional>

=begin html

<br>Pool the disk belongs to, if it has a owner.

=end html

=back



=over 2

=item * I<reserved-by>  =>   B<integer>

=begin html

<br>ID (NVRAM ID) of node with the reservation on this disk, 0 if there is none. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<serial-no>  =>   B<string>

=begin html

<br>Serial number of the disk.

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>Indicates the type of disk or device being being reported. Values are one of following: "FCAL", "D_ATA", "LUN", "MSATA", "SSD", "UNKNOWN"

=end html

=back



=head2 disk-sanown-filer-detail-info

=begin html

Disk sanown filer information.

=end html



B<Fields>

=over 2

=item * I<filer-id>  =>   B<integer>

=begin html

<br>ID (NVRAM ID) of owner. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<filer-name>  =>   B<string, optional>

=begin html

<br>Name of the filer. If the filer name hasn't been written to the disks, this will not be returned.

=end html

=back



=head2 nvramid

=begin html

NVRAM Id

=end html



B<Fields>

=over 2

=item * None

=back



=head2 disk-encrypt-info

=begin html

Self-Encrypting Disk (SED) parameters. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<data-key-id>  =>   B<string, optional>

=begin html

<br>Key ID of the data authentication key. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk>  =>   B<string, optional>

=begin html

<br>The name of the Self-Encrypting Disks (SEDs). Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-name>  =>   B<string, optional>

=begin html

<br>Name of the self-encrypting disk (SED). Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fips-key-id>  =>   B<string, optional>

=begin html

<br>Key ID of the FIPS-compliance authentication key (AK). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-power-on-lock-enabled>  =>   B<boolean, optional>

=begin html

<br>Whether the lock-at-power-on control is enabled. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-id>  =>   B<string, optional>

=begin html

<br>Key ID of the Authentication Key. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<protection-mode>  =>   B<string, optional>

=begin html

<br>Protection mode of the device. <p> Possible values are: <ul> <li> 'open' ... disk is unprotected, </li> <li> 'data' ... data protection only without FIPS compliance, </li> <li> 'part' ... partial protection with FIPS compliance only, </li> <li> 'full' ... full data and FIPS compliance protection, and </li> <li> 'n/a' ... protection information is not available </li> </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 disk-encrypt-modify-iter-info

=begin html

Information about the operation that was attempted/performed against disk-encrypt object.

=end html



B<Fields>

=over 2

=item * I<disk-encrypt-key>  =>   B<L<"disk-encrypt-info">>

=begin html

<br>The keys for the disk-encrypt object to which the operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=head2 disk-encrypt-sanitize-iter-info

=begin html

Information about the operation that was attempted/performed against disk-encrypt object.

=end html



B<Fields>

=over 2

=item * I<disk-encrypt-key>  =>   B<L<"disk-encrypt-info">>

=begin html

<br>The keys for the disk-encrypt object to which the operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=head2 disk-encrypt-show-status-info

=begin html

Information about storage encryption disk operations When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<disk-done-count>  =>   B<integer, optional>

=begin html

<br>Number of SEDs that have finished the operation, whether successful or not. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-start-count>  =>   B<integer, optional>

=begin html

<br>Number of self-encrypting disks (SEDs) that started the operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-success-count>  =>   B<integer, optional>

=begin html

<br>Number of SEDs that successfully completed the operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sed-support>  =>   B<boolean, optional>

=begin html

<br>Value is 'true' if the node supports Storage Encryption, otherwise 'false'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<latest-op>  =>   B<string, optional>

=begin html

<br>Latest operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Operation unknown/unspecified, <li> "destroy" - Cryptograpically destroy encrypting drive, <li> "modify" - Change encrypting drive parameters, <li> "revert_original" - Revert drive to as-manufactured state, <li> "sanitize" - Cryptographically sanitize encrypting drive, <li> "show" - Show encrypting drive parameters, <li> "status" - Display the status of encryption operations </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The node reporting this status. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<op-execute-time>  =>   B<integer, optional>

=begin html

<br>Execution time of the operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<op-start-time>  =>   B<integer, optional>

=begin html

<br>Date and time the operation started. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 non-repos-vserver-name

=begin html

The name of the Vserver.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ems-config-info

=begin html

EMS Configuration Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<auto-suppress-exempt-filter>  =>   B<string, optional>

=begin html

<br>Name of event filter exempt from auto-suppression Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<console>  =>   B<boolean, optional>

=begin html

<br>Whether console logging should be used. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<console-log-level>  =>   B<emsseverity, optional>

=begin html

<br>Console logging level. Attributes: non-creatable, modifiable Possible values: <ul> <li> "node_fault" - A data corruption has been detected or the node is unable to provide client service, <li> "svc_fault" - A temporary loss of service has been detected, typically a transient software fault, <li> "node_error" - A hardware error has been detected which is not immediately fatal, <li> "svc_error" - A software error has been detected which is not immediately fatal, <li> "warning" - A high-priority message, does not indicate a fault, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "info" - A low-priority message, does not indicate a fault, <li> "debug" - A debugging message, typically suppressed from customer, <li> "var" - Message has variable severity, selected at runtime </ul>

=end html

=back



=over 2

=item * I<duplicate-suppression-duration>  =>   B<integer, optional>

=begin html

<br>Duration in seconds for suppression of identical messages Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<log-rotation-size>  =>   B<size, optional>

=begin html

<br>Log file size (in bytes) needed to trigger rotation Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<mail-from>  =>   B<mail-address, optional>

=begin html

<br>The from address of ems mail. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<mail-server>  =>   B<string, optional>

=begin html

<br>The mail server to use when sending mail. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-destination-count>  =>   B<integer, optional>

=begin html

<br>Maximum number of event notification destinations in system. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-filter-count>  =>   B<integer, optional>

=begin html

<br>Maximum number of event filters in system. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-filter-rule-count>  =>   B<integer, optional>

=begin html

<br>Maximum number of event filter rules in system. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-log-show-size>  =>   B<integer, optional>

=begin html

<br>Maximum number of events to show. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-notification-count>  =>   B<integer, optional>

=begin html

<br>Maximum number of event notifications in system. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-target-event-bytes>  =>   B<integer, optional>

=begin html

<br>Maximum bytes per event per week. Used by autosuppression to control growth of log file size. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-target-log-size>  =>   B<integer, optional>

=begin html

<br>The target upper limit of the event log file size in bytes. Used by autosuppression to control growth of log file size. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<proxy-url>  =>   B<string, optional>

=begin html

<br>HTTP/HTTPS proxy URL to use when sending to REST API destinations. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<proxy-user>  =>   B<string, optional>

=begin html

<br>User name to use for the HTTP/HTTPS proxy when sending to REST API destinations. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<rest-delivery-timeout>  =>   B<integer, optional>

=begin html

<br>REST API URL delivery timeout in seconds. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<suppression>  =>   B<boolean, optional>

=begin html

<br>Whether suppression should be used. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<trace-log-size>  =>   B<integer, optional>

=begin html

<br>Maximum number of traces kept. Attributes: non-creatable, modifiable

=end html

=back



=head2 ems-destination

=begin html

EMS destination

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ems-destination-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against ems-destination object.

=end html



B<Fields>

=over 2

=item * I<ems-destination-key>  =>   B<L<"ems-destination-info">>

=begin html

<br>The keys for the ems-destination object to which the deletion applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=head2 ems-destination-info

=begin html

EMS Destination Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<hide-parameters>  =>   B<boolean, optional>

=begin html

<br>Hide parameter values? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<mail>  =>   B<mail-address[], optional>

=begin html

<br>The e-mail address to which events are sent. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>The name of the EMS destination. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<snmp>  =>   B<remote-ip[], optional>

=begin html

<br>The SNMP addresses to which traps are sent. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<snmp-community>  =>   B<string, optional>

=begin html

<br>The SNMP community name. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<syslog>  =>   B<remote-ip[], optional>

=begin html

<br>The remote syslog servers to which messages are sent. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<syslog-facility>  =>   B<syslog-facility, optional>

=begin html

<br>The syslog logging facility. Attributes: optional-for-create, modifiable

=end html

=back



=head2 ems-destination-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against ems-destination object.

=end html



B<Fields>

=over 2

=item * I<ems-destination-key>  =>   B<L<"ems-destination-info">>

=begin html

<br>The keys for the ems-destination object to which the modify operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=head2 ems-event-filter-destroy-iter-info

=begin html

Information about the operation that was attempted/performed against ems-event-filter object.

=end html



B<Fields>

=over 2

=item * I<ems-event-filter-key>  =>   B<L<"event-filter">>

=begin html

<br>The keys for the ems-event-filter object to which the operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=head2 ems-event-notification-destination-destroy-iter-info

=begin html

Information about the operation that was attempted/performed against ems-event-notification-destination object.

=end html



B<Fields>

=over 2

=item * I<ems-event-notification-destination-key>  =>   B<L<"event-notification-destination">>

=begin html

<br>The keys for the ems-event-notification-destination object to which the operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=head2 ems-event-notification-destination-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against ems-event-notification-destination object.

=end html



B<Fields>

=over 2

=item * I<ems-event-notification-destination-key>  =>   B<L<"event-notification-destination">>

=begin html

<br>The keys for the ems-event-notification-destination object to which the modify operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=head2 ems-event-notification-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against ems-event-notification object.

=end html



B<Fields>

=over 2

=item * I<ems-event-notification-key>  =>   B<L<"event-notification">>

=begin html

<br>The keys for the ems-event-notification object to which the deletion applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=head2 ems-event-notification-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against ems-event-notification object.

=end html



B<Fields>

=over 2

=item * I<ems-event-notification-key>  =>   B<L<"event-notification">>

=begin html

<br>The keys for the ems-event-notification object to which the modify operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=head2 ems-id

=begin html

EMS Id

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ems-mail-history-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against ems-mail-history object.

=end html



B<Fields>

=over 2

=item * I<ems-mail-history-key>  =>   B<L<"ems-mail-history-info">>

=begin html

<br>The keys for the ems-mail-history object to which the deletion applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=head2 ems-mail-history-info

=begin html

EMS Mail History Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<drops-since-previous-time>  =>   B<integer, optional>

=begin html

<br>Number of drops since previous transmission. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mail-address>  =>   B<mail-address[], optional>

=begin html

<br>The mail address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>The alert message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id, optional>

=begin html

<br>The emitted message's name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node emitting the EMS message. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<previous-time>  =>   B<datetime, optional>

=begin html

<br>Previous transmission time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum, optional>

=begin html

<br>The message sequence number. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<time>  =>   B<datetime, optional>

=begin html

<br>The mail transmission time. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ems-routing-info

=begin html

EMS Routing Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<action>  =>   B<string, optional>

=begin html

<br>The corrective action. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>The event description. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destinations>  =>   B<ems-destination[], optional>

=begin html

<br>The event destinations. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<frequency-threshold>  =>   B<integer, optional>

=begin html

<br>Number of times an event occurs before a repeat notification of the event is sent. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id, optional>

=begin html

<br>The name of the EMS message. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<severity>  =>   B<eventseverity, optional>

=begin html

<br>The event severity. As of Data ONTAP 9.0, 'critical' and 'warning' severities are no longer supported. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "emergency" - Disruption, <li> "alert" - Single point of failure, <li> "critical" - Critical condition, <li> "error" - Degradation, <li> "warning" - Warning condition, <li> "notice" - Information, <li> "informational" - Information, <li> "debug" - Debug information </ul>

=end html

=back



=over 2

=item * I<snmp-support>  =>   B<boolean, optional>

=begin html

<br>Indicates whether or not the event supports SNMP traps. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time-threshold>  =>   B<integer, optional>

=begin html

<br>Minimum number of seconds between repeat notifications of an event. Attributes: non-creatable, modifiable

=end html

=back



=head2 ems-routing-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against ems-routing object.

=end html



B<Fields>

=over 2

=item * I<ems-routing-key>  =>   B<L<"ems-routing-info">>

=begin html

<br>The keys for the ems-routing object to which the modify operation applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=head2 ems-snmp-history-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against ems-snmp-history object.

=end html



B<Fields>

=over 2

=item * I<ems-snmp-history-key>  =>   B<L<"ems-snmp-history-info">>

=begin html

<br>The keys for the ems-snmp-history object to which the deletion applies.

=end html

=back



=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=head2 ems-snmp-history-info

=begin html

EMS SNMP History Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<drops-since-previous-time>  =>   B<integer, optional>

=begin html

<br>Number of drops since previous transmission. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>The alert message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id, optional>

=begin html

<br>The emitted message's name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node emitting the EMS message. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<previous-time>  =>   B<datetime, optional>

=begin html

<br>Previous transmission time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum, optional>

=begin html

<br>The message sequence number. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<snmp-address>  =>   B<string[], optional>

=begin html

<br>The SNMP client address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time>  =>   B<datetime, optional>

=begin html

<br>The SNMP transmission time. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ems-status-info

=begin html

EMS Message Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<accumulated-bytes>  =>   B<integer, optional>

=begin html

<br>The total number of bytes the event has accumulated in the log file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<change-since>  =>   B<boolean, optional>

=begin html

<br>The algorithm to determine which events are considered chatter is run periodically. The change-since parameter indicates whether the event has been posted since the last time the chatter determination algorithm has run. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<drops>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been dropped. An event is dropped if it is suppressed or has exceeded incoming rate limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<indications>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been posted. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-chatter>  =>   B<boolean, optional>

=begin html

<br>Whether the event is considered chatter, and therefore subject to autosuppression. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-day-histogram>  =>   B<integer[], optional>

=begin html

<br>24-hour histogram. Number of times the event was posted in the last day. The histogram is divided into 24 buckets, each bucket collecting one hour. The buckets are displayed in reverse chronological order (most recent first). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-hour-histogram>  =>   B<integer[], optional>

=begin html

<br>60-minute histogram. Number of times the event was posted in the last hour. The histogram is divided into sixty buckets, each bucket collecting one minute. The buckets are displayed in reverse chronological order (most recent first). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time-dropped>  =>   B<datetime, optional>

=begin html

<br>Time the event was most recently posted and suppressed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time-occurred>  =>   B<datetime, optional>

=begin html

<br>Time the event was most recently posted. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time-processed>  =>   B<datetime, optional>

=begin html

<br>Time the event was most recently posted and not suppressed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-week-histogram>  =>   B<integer[], optional>

=begin html

<br>7-day histogram. Number of times the event was posted in the last week. The histogram is divided into 7 buckets, each bucket collecting one day. The buckets are displayed in reverse chronological order (most recent first). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id, optional>

=begin html

<br>The message name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node emitting the EMS message. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-asup-dropped>  =>   B<integer, optional>

=begin html

<br>Number of times the event destined for AutoSupport has been dropped. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-autosuppressed>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been autosuppressed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-console-dropped>  =>   B<integer, optional>

=begin html

<br>Number of times the event destined for console output has been dropped. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-dup-suppressed>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been duplicate suppressed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-dup-suppressed-after-120s>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been duplicate suppressed because an identical event was generated after 120 seconds of its previous occurrence. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-dup-suppressed-in-120s>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been duplicate suppressed because an identical event was generated within 120 seconds of its previous occurrence. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-dup-suppressed-in-30s>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been duplicate suppressed because an identical event was generated within 30 seconds of its previous occurrence. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-dup-suppressed-in-60s>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been duplicate suppressed because an identical event was generated within 60 seconds of its previous occurrence. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-dup-suppressed-in-90s>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been duplicate suppressed because an identical event was generated within 90 seconds of its previous occurrence. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-email-dropped>  =>   B<integer, optional>

=begin html

<br>Number of times the event destined for an email destination has been dropped. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-logger-dropped>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been dropped by the logger. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-mgwd-dropped>  =>   B<integer, optional>

=begin html

<br>Number of times the event destined for Management Gateway has been dropped. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-rate-limited>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been rate limited. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-router-dropped>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been dropped by the EMS router. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-suppressed-since-last>  =>   B<integer, optional>

=begin html

<br>Number of times suppressed since last time logged. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-timer-suppressed>  =>   B<integer, optional>

=begin html

<br>Number of times the event has been timer suppressed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<probability>  =>   B<integer, optional>

=begin html

<br>Probability of an event being suppressed via autosuppress. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<severity>  =>   B<emsseverity, optional>

=begin html

<br>The severity of the event. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "node_fault" - A data corruption has been detected or the node is unable to provide client service, <li> "svc_fault" - A temporary loss of service has been detected, typically a transient software fault, <li> "node_error" - A hardware error has been detected which is not immediately fatal, <li> "svc_error" - A software error has been detected which is not immediately fatal, <li> "warning" - A high-priority message, does not indicate a fault, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "info" - A low-priority message, does not indicate a fault, <li> "debug" - A debugging message, typically suppressed from customer, <li> "var" - Message has variable severity, selected at runtime </ul>

=end html

=back



=over 2

=item * I<stat-starting-time>  =>   B<datetime, optional>

=begin html

<br>Time the event was first posted. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 event-catalog-info

=begin html

Event catalog information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<action>  =>   B<string, optional>

=begin html

<br>The corrective action. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<deprecated>  =>   B<boolean, optional>

=begin html

<br>The flag that indicates whether or not the event is deprecated. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>The event description. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<filter-name>  =>   B<string, optional>

=begin html

<br>Filter Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id, optional>

=begin html

<br>The name of the EMS message. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<severity>  =>   B<string, optional>

=begin html

<br>Severity <p> Possible values: <ul> <li> 'emergency' - Disruption, <li> 'alert' - Single point of failure, <li> 'error' - Degradation, <li> 'notice' - Information, <li> 'informational' - Information, <li> 'debug' - Debug information </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snmp-trap-type>  =>   B<snmptraptypes, optional>

=begin html

<br>The type of SNMP trap. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "standard" - Standard SNMP traps, <li> "built_in" - Built-in SNMP traps, <li> "severity_based" - Severity based SNMP traps </ul>

=end html

=back



=head2 event-filter

=begin html

Event filter creation. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<event-filter-rule>  =>   B<L<"event-filter-rule-info">[], optional>

=begin html

<br>List of rules added to each filter.

=end html

=back



=over 2

=item * I<filter-name>  =>   B<string, optional>

=begin html

<br>Filter Name. The name must start and end with an alphanumeric and must be in the length of 2 to 64 characters. The allowed special characters are _(underscore) and -(hyphen). Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 event-filter-rule-info

=begin html

List of rules added to each filter.

=end html



B<Fields>

=over 2

=item * I<message-name>  =>   B<string, optional>

=begin html

<br>Message Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<position>  =>   B<integer, optional>

=begin html

<br>Rule Position Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<severity>  =>   B<string[], optional>

=begin html

<br>Severity <p> Possible values: <ul> <li> 'emergency' - Disruption, <li> 'alert' - Single point of failure, <li> 'error' - Degradation, <li> 'notice' - Information, <li> 'informational' - Information, <li> 'debug' - Debug information, <li> '*' - All of the above </ul> <p> Default:* Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snmp-trap-type>  =>   B<string[], optional>

=begin html

<br>SNMP Trap Type <p> Possible values: <ul> <li> 'standard' - Standard SNMP traps, <li> 'built-in' - Built-in SNMP traps, <li> 'severity-based' - Severity based SNMP traps <li> '*' - All of the above </ul> <p> Default: * Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<event-rule-type, optional>

=begin html

<br>Rule Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "include" - Event(s) matching this rule is included in the specified filter, <li> "exclude" - Event(s) matching this rule is excluded in the specified filter </ul>

=end html

=back



=head2 event-notification

=begin html

Event notifications. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<destinations>  =>   B<string[], optional>

=begin html

<br>List of Event Notification Destinations Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<filter-name>  =>   B<string, optional>

=begin html

<br>Event Filter Name Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<id>  =>   B<integer, optional>

=begin html

<br>Event Notification ID Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 event-notification-destination

=begin html

Event notification destinations. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<certificate-authority>  =>   B<string, optional>

=begin html

<br>Use this field and certificate-serial to specify the client certificate to use when being authenticated by the REST API server. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<certificate-serial>  =>   B<string, optional>

=begin html

<br>Use this field and certificate-authority to specify the client certificate to use when being authenticated by the REST API server. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<email>  =>   B<string, optional>

=begin html

<br>Use this field to specify an email destination. Note: Each destination name can only be associated with either an email destination or a syslog destination. SNMP destinations can be created/updated only through the 'system snmp traphost' command and they are associated with the default destination name 'snmp-traphost'. The format of the email destination is as per RFC standard. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Destination Name.The name must start and end with an alphanumeric and must be in the length of 2 to 64 characters. The allowed special characters are _(underscore) and -(hyphen). Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<rest-api-url>  =>   B<string, optional>

=begin html

<br>Use this field to specify REST API server URL to which event notifications will be sent. Enter the full URL, which must start either with an http:// or https:// prefix. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<syslog>  =>   B<string, optional>

=begin html

<br>Use this field to specify a syslog destination. Note: Each destination name can only be associated with either an email destination or a syslog destination. SNMP destinations can be created/updated only through the 'system snmp traphost' command and they are associated with the default destination name 'snmp-traphost'. Attributes: optional-for-create, modifiable

=end html

=back



=head2 event-notification-destination-info

=begin html

Event notification destinations. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<certificate-authority>  =>   B<string, optional>

=begin html

<br>Issuing Certificate Authority (CA) of client certificate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<certificate-serial>  =>   B<string, optional>

=begin html

<br>Serial number of certificate in hexadecimal format. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination>  =>   B<string[], optional>

=begin html

<br>An output field to view the destination. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-certificate-valid>  =>   B<boolean, optional>

=begin html

<br>This field indicates whether the client certificate specified by the certificate-authority and certificate-serial fields is valid. If not, and if the REST API server requires client authentication, event messages will not be sent to the server. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-server-ca-present>  =>   B<boolean, optional>

=begin html

<br>This field indicates whether certificates of the server-ca type exist in the system. If not, event messages will not be sent to a rest-api type destination having an HTTPS URL. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Destination Name.The name must start and end with an alphanumeric and must be in the length of 2 to 64 characters. The allowed special characters are _(underscore) and -(hyphen). Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>An output field to view the type of the destination. The type could be one of email, syslog, REST API server URL or SNMP. SNMP destinations are displayed under the default destination name 'snmp-traphost'. The SNMP destinations associated with 'snmp-traphost' can be created/updated only through the 'system snmp traphost' command. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "snmp" - SNMP destination, <li> "email" - Email destination, <li> "syslog" - Syslog Destination, <li> "rest_api" - REST API URL Destination </ul>

=end html

=back



=head2 event-notification-history-info

=begin html

Event notification history info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<event>  =>   B<string, optional>

=begin html

<br>The EMS event. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<message-name>  =>   B<ems-id, optional>

=begin html

<br>The emitted message's name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node emitting the EMS message. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<seq-num>  =>   B<seqnum, optional>

=begin html

<br>The message sequence number. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<severity>  =>   B<string, optional>

=begin html

<br>Severity <p> Possible values: <ul> <li> 'emergency' - Disruption, <li> 'alert' - Single point of failure, <li> 'error' - Degradation, <li> 'notice' - Information, <li> 'informational' - Information, <li> 'debug' - Debug information </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time>  =>   B<datetime, optional>

=begin html

<br>The time of message emission. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 event-rule-type

=begin html

include|exclude Possible values: <ul> <li> "include" - Event(s) matching this rule is included in the specified filter, <li> "exclude" - Event(s) matching this rule is excluded in the specified filter </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 parameter

=begin html

Event parameter's name and value.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>List of event parameter names. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<value>  =>   B<string, optional>

=begin html

<br>List of event parameter values. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 remote-ip

=begin html

Remote IP Address

=end html



B<Fields>

=over 2

=item * None

=back



=head2 seqnum

=begin html

Reverse-ordered Integer Range : [0..2^64-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snmptraptypes

=begin html

Standard|Built-in|Severity-based Possible values: <ul> <li> "standard" - Standard SNMP traps, <li> "built_in" - Built-in SNMP traps, <li> "severity_based" - Severity based SNMP traps </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 environment-sensors-info

=begin html

Environment Sensor Info. The environmental subsystem monitors a set of hardware sensors in the system. Each sensor represents a pair of state and value that can be measured to reflect the physical state of device(s). Based on the values the sensors represent, the sensors can be grouped to discrete-valued sensors and threshold-based sensors. The discrete-valued sensors have a set of discrete values that represent states of sensors. The threshold-based sensors have a numeral value that represnts a value on an axis, and may have a set of thresholds (points on that axis) are used to define the state of the sensor (ranging from critically low to critically high). This typedef defines the information for both groups of sensors. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<critical-high-threshold>  =>   B<integer, optional>

=begin html

<br>Critical high threshold Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<critical-low-threshold>  =>   B<integer, optional>

=begin html

<br>Critical low threshold Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<discrete-sensor-state>  =>   B<sensor-state-enum, optional>

=begin html

<br>Discrete-valued sensor state Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "normal" - The device is normal, <li> "warn-low" - The device state is lower than the warning low threshold and higher than the critical low threshold, <li> "warn-high" - The device state is higher than the warning high threshold and lower than the critical high threshold, <li> "crit-low" - The device state is lower than the critical low threshold, <li> "crit-high" - The device state is higher than the critical higher threshold, <li> "disabled" - The sensor is disabled, only available for SP-based filers, <li> "uninitialized" - The sensor is not yet initialized, only available for SP-based filers, <li> "init-failed" - The sensor failed to initialize, only available for SP-based filers, <li> "not-available" - The sensor is temporarily not able to report status, only available for SP-based filers, <li> "invalid" - The status returned from the sensor is not valid, only available for SP-based filers, <li> "retry" - The sensor is in the rety state, only available for non SP-based filers, <li> "bad" - The device is bad, only available for non SP-based filers, <li> "not-present" - The device is not present, only available for non SP-based filers, <li> "failed" - The sensor failed to report status, <li> "ignored" - The sensor state is ignored, only available for SP-based filers, <li> "unknown" - The sensor state is uknown </ul>

=end html

=back



=over 2

=item * I<discrete-sensor-value>  =>   B<string, optional>

=begin html

<br>Discrete-valued sensor value Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Node name the sensor is associated with Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sensor-name>  =>   B<string, optional>

=begin html

<br>Name of the sensor in the environmental subsystem. The maximum length of the sensor name is 32 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sensor-type>  =>   B<sensor-type-enum, optional>

=begin html

<br>Type of the sensor Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "fan" - FAN RPM sensors, <li> "thermal" - Temerature sensors, <li> "voltage" - Voltage measurement sensors, <li> "current" - Current measurement sensors, <li> "battery-life" - Sensors report battery life, <li> "discrete" - Discrete sensors, <li> "fru" - FRU sensors, <li> "nvmem" - Sensors on the NVMEM module, <li> "counter" - Sensors report in counters, <li> "minutes" - Sensors report by minutes, <li> "percent" - Sensors report in percentage, <li> "agent" - Sensors on or throught the Agent device, <li> "unknown" - Unknown sensors </ul>

=end html

=back



=over 2

=item * I<threshold-sensor-state>  =>   B<sensor-state-enum, optional>

=begin html

<br>Threshold-based sensor state Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "normal" - The device is normal, <li> "warn-low" - The device state is lower than the warning low threshold and higher than the critical low threshold, <li> "warn-high" - The device state is higher than the warning high threshold and lower than the critical high threshold, <li> "crit-low" - The device state is lower than the critical low threshold, <li> "crit-high" - The device state is higher than the critical higher threshold, <li> "disabled" - The sensor is disabled, only available for SP-based filers, <li> "uninitialized" - The sensor is not yet initialized, only available for SP-based filers, <li> "init-failed" - The sensor failed to initialize, only available for SP-based filers, <li> "not-available" - The sensor is temporarily not able to report status, only available for SP-based filers, <li> "invalid" - The status returned from the sensor is not valid, only available for SP-based filers, <li> "retry" - The sensor is in the rety state, only available for non SP-based filers, <li> "bad" - The device is bad, only available for non SP-based filers, <li> "not-present" - The device is not present, only available for non SP-based filers, <li> "failed" - The sensor failed to report status, <li> "ignored" - The sensor state is ignored, only available for SP-based filers, <li> "unknown" - The sensor state is uknown </ul>

=end html

=back



=over 2

=item * I<threshold-sensor-value>  =>   B<integer, optional>

=begin html

<br>Threshold-based sensor value Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<value-units>  =>   B<string, optional>

=begin html

<br>The units of the threshold-based sensor value. More than 90 possible unit types. Refer to the "Sensor Unit Type Codes" in the IPMI spec for possible types. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<warning-high-threshold>  =>   B<integer, optional>

=begin html

<br>Warning high threshold Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<warning-low-threshold>  =>   B<integer, optional>

=begin html

<br>Warning low threshold Attributes: non-creatable, non-modifiable

=end html

=back



=head2 sensor-state-enum

=begin html

The operating states of the sensors. Depends on the hardware architecture, the environmental subsystem is implemented in two different approaches: one for service processor (SP) based platforms and one for non SP based (RLM, BMC) platforms. Some of the following states are available for one type of filers but not the other. Possible values: <ul> <li> "normal" - The device is normal, <li> "warn-low" - The device state is lower than the warning low threshold and higher than the critical low threshold, <li> "warn-high" - The device state is higher than the warning high threshold and lower than the critical high threshold, <li> "crit-low" - The device state is lower than the critical low threshold, <li> "crit-high" - The device state is higher than the critical higher threshold, <li> "disabled" - The sensor is disabled, only available for SP-based filers, <li> "uninitialized" - The sensor is not yet initialized, only available for SP-based filers, <li> "init-failed" - The sensor failed to initialize, only available for SP-based filers, <li> "not-available" - The sensor is temporarily not able to report status, only available for SP-based filers, <li> "invalid" - The status returned from the sensor is not valid, only available for SP-based filers, <li> "retry" - The sensor is in the rety state, only available for non SP-based filers, <li> "bad" - The device is bad, only available for non SP-based filers, <li> "not-present" - The device is not present, only available for non SP-based filers, <li> "failed" - The sensor failed to report status, <li> "ignored" - The sensor state is ignored, only available for SP-based filers, <li> "unknown" - The sensor state is uknown </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sensor-type-enum

=begin html

Type of the sensors the system can manage Possible values: <ul> <li> "fan" - FAN RPM sensors, <li> "thermal" - Temerature sensors, <li> "voltage" - Voltage measurement sensors, <li> "current" - Current measurement sensors, <li> "battery-life" - Sensors report battery life, <li> "discrete" - Discrete sensors, <li> "fru" - FRU sensors, <li> "nvmem" - Sensors on the NVMEM module, <li> "counter" - Sensors report in counters, <li> "minutes" - Sensors report by minutes, <li> "percent" - Sensors report in percentage, <li> "agent" - Sensors on or throught the Agent device, <li> "unknown" - Unknown sensors </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 access-cache-attributes-info

=begin html

NFS Exports Access Cache Attributes When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<harvest-timeout>  =>   B<integer, optional>

=begin html

<br>Harvest Timeout (Secs) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<refresh-period-negative>  =>   B<integer, optional>

=begin html

<br>TTL For Negative Entries (Secs) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<refresh-period-positive>  =>   B<integer, optional>

=begin html

<br>TTL For Positive Entries (Secs) Attributes: non-creatable, non-modifiable

=end html

=back



=head2 access-protocol

=begin html

Client Access Protocol Possible values: <ul> <li> "any" - Any, <li> "nfs2" - NFS Version 2, <li> "nfs3" - NFS Version 3, <li> "nfs" - Any Version of NFS, <li> "cifs" - CIFS, <li> "nfs4" - NFS Version 4, <li> "flexcache" - Flexcache </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 export-access-rights

=begin html

read|read-write Possible values: <ul> <li> "read" - Read, <li> "read_write" - Read-Write, <li> "denied" - Denied </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 export-check-info

=begin html

Information about the client access. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<access>  =>   B<export-access-rights, optional>

=begin html

<br>Access Rights Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "read" - Read, <li> "read_write" - Read-Write, <li> "denied" - Denied </ul>

=end html

=back



=over 2

=item * I<access-type>  =>   B<export-access-rights, optional>

=begin html

<br>Access Rights to Check for Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "read" - Read, <li> "read_write" - Read-Write, <li> "denied" - Denied </ul>

=end html

=back



=over 2

=item * I<authentication-method>  =>   B<security-flavor, optional>

=begin html

<br>Authentication Method Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "any" - Any, <li> "none" - Anonymous Access Allowed If Security Type Not Already Listed, <li> "never" - Never, <li> "krb5" - Kerberos 5 Authentication, <li> "krb5i" - Kerberos 5 Authentication With Data Integrity Protection, <li> "krb5p" - Kerberos 5 Authentication With Data Privacy Protection, <li> "ntlm" - CIFS NTLM, <li> "sys" - NFS AUTH_SYS </ul>

=end html

=back



=over 2

=item * I<client-ip>  =>   B<ip-address, optional>

=begin html

<br>Client IP Address Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Export Policy Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-owner>  =>   B<string, optional>

=begin html

<br>Export Policy Owner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-owner-type>  =>   B<policy-owner-type, optional>

=begin html

<br>Type of Export Policy Owner Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "volume" - Volume, <li> "qtree" - Qtree </ul>

=end html

=back



=over 2

=item * I<protocol>  =>   B<access-protocol, optional>

=begin html

<br>Protocol Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "any" - Any, <li> "nfs2" - NFS Version 2, <li> "nfs3" - NFS Version 3, <li> "nfs" - Any Version of NFS, <li> "cifs" - CIFS, <li> "nfs4" - NFS Version 4, <li> "flexcache" - Flexcache </ul>

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer, optional>

=begin html

<br>Export Policy Rule Index Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 export-policy-info

=begin html

Information about the Export policy configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<policy-id>  =>   B<integer, optional>

=begin html

<br>Export policy id. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name, optional>

=begin html

<br>Export policy name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 export-rule-info

=begin html

Information about the Export rule configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<anonymous-user-id>  =>   B<string, optional>

=begin html

<br>User name or ID to which anonymous users are mapped. Default value is '65534'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<client-match>  =>   B<string, optional>

=begin html

<br>List of client match specifications for Export rule. The clients specified are enforced with this Export rule. The rule with the higher rule index value takes precedence. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<export-chown-mode>  =>   B<exportchownmode, optional>

=begin html

<br>Change ownership mode. Possible values are 'restricted', 'unrestricted'. Default value is 'restricted'. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "restricted" , <li> "unrestricted" </ul>

=end html

=back



=over 2

=item * I<export-ntfs-unix-security-ops>  =>   B<exportntfsunixsecops, optional>

=begin html

<br>Ignore/Fail unix security operations on NTFS volumes. Possible values are 'ignore', 'fail'. Default value is 'fail'. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "ignore" , <li> "fail" </ul>

=end html

=back



=over 2

=item * I<is-allow-dev-is-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the NFS server will allow creation of devices. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-allow-set-uid-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFS server will honor SetUID bits in SETATTR operation. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<export-policy-name, optional>

=begin html

<br>Export policy name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<access-protocol[], optional>

=begin html

<br>Client access protocol. Default value is 'any'. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "any" - Any, <li> "nfs2" - NFS Version 2, <li> "nfs3" - NFS Version 3, <li> "nfs" - Any Version of NFS, <li> "cifs" - CIFS, <li> "nfs4" - NFS Version 4, <li> "flexcache" - Flexcache </ul>

=end html

=back



=over 2

=item * I<ro-rule>  =>   B<security-flavor[], optional>

=begin html

<br>Rule for read-only access. Attributes: required-for-create, modifiable Possible values: <ul> <li> "any" - Any, <li> "none" - Anonymous Access Allowed If Security Type Not Already Listed, <li> "never" - Never, <li> "krb5" - Kerberos 5 Authentication, <li> "krb5i" - Kerberos 5 Authentication With Data Integrity Protection, <li> "krb5p" - Kerberos 5 Authentication With Data Privacy Protection, <li> "ntlm" - CIFS NTLM, <li> "sys" - NFS AUTH_SYS </ul>

=end html

=back



=over 2

=item * I<rule-index>  =>   B<integer, optional>

=begin html

<br>Export rule index. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<rw-rule>  =>   B<security-flavor[], optional>

=begin html

<br>Rule for read-write access. Attributes: required-for-create, modifiable Possible values: <ul> <li> "any" - Any, <li> "none" - Anonymous Access Allowed If Security Type Not Already Listed, <li> "never" - Never, <li> "krb5" - Kerberos 5 Authentication, <li> "krb5i" - Kerberos 5 Authentication With Data Integrity Protection, <li> "krb5p" - Kerberos 5 Authentication With Data Privacy Protection, <li> "ntlm" - CIFS NTLM, <li> "sys" - NFS AUTH_SYS </ul>

=end html

=back



=over 2

=item * I<super-user-security>  =>   B<security-flavor[], optional>

=begin html

<br>Security flavors for the superuser. Default value is 'none'. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "any" - Any, <li> "none" - Anonymous Access Allowed If Security Type Not Already Listed, <li> "never" - Never, <li> "krb5" - Kerberos 5 Authentication, <li> "krb5i" - Kerberos 5 Authentication With Data Integrity Protection, <li> "krb5p" - Kerberos 5 Authentication With Data Privacy Protection, <li> "ntlm" - CIFS NTLM, <li> "sys" - NFS AUTH_SYS </ul>

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string, optional>

=begin html

<br>Vserver name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 exportchownmode

=begin html

restricted|unrestricted Possible values: <ul> <li> "restricted" , <li> "unrestricted" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 exportntfsunixsecops

=begin html

ignore|fail Possible values: <ul> <li> "ignore" , <li> "fail" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 exports-access-cache-config-info

=begin html

Information about Exports Access Cache Configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<harvest-timeout>  =>   B<integer, optional>

=begin html

<br>The timeout in seconds after which unused access cache entries will be deleted. Default value is 36000 seconds Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ttl-failure>  =>   B<integer, optional>

=begin html

<br>TTL in seconds for access cache entries that failed to fetch export rules from management gateway. Default value is 5 seconds Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ttl-negative>  =>   B<integer, optional>

=begin html

<br>TTL in seconds for access cache entries that deny access. Default value is 3600 seconds Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ttl-positive>  =>   B<integer, optional>

=begin html

<br>TTL in seconds for access cache entries that allow access. Default value is 3600 seconds Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 policy-owner-type

=begin html

volume|qtree Possible values: <ul> <li> "volume" - Volume, <li> "qtree" - Qtree </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 security-flavor

=begin html

authentication method Possible values: <ul> <li> "any" - Any, <li> "none" - Anonymous Access Allowed If Security Type Not Already Listed, <li> "never" - Never, <li> "krb5" - Kerberos 5 Authentication, <li> "krb5i" - Kerberos 5 Authentication With Data Integrity Protection, <li> "krb5p" - Kerberos 5 Authentication With Data Privacy Protection, <li> "ntlm" - CIFS NTLM, <li> "sys" - NFS AUTH_SYS </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fc-config

=begin html

fc config When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<adapter-name>  =>   B<string, optional>

=begin html

<br>Adapter name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<adapter-state>  =>   B<string, optional>

=begin html

<br>Adapter current state Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<adapter-status>  =>   B<string, optional>

=begin html

<br>Adapter online status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<adapter-type>  =>   B<string, optional>

=begin html

<br>Adaptaer type Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<pending-fc-type>  =>   B<string, optional>

=begin html

<br>Pending reason Attributes: non-creatable, non-modifiable

=end html

=back



=head2 aliases-info

=begin html

A list of WWPNs and their aliases generated according to the input - alias, WWPN or nothing.

=end html



B<Fields>

=over 2

=item * I<aliases-alias>  =>   B<string>

=begin html

<br>The 32-character alias for a given FCP WWPN

=end html

=back



=over 2

=item * I<aliases-wwpn>  =>   B<string>

=begin html

<br>The FCP WWPN for which the alias is given

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing the alias

=end html

=back



=head2 fcp-adapter-data-protocol

=begin html

fcp|fc-nvme Possible values: <ul> <li> "fcp" , <li> "fc_nvme" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fcp-adapter-initiators-info

=begin html

A list of initiators currently connected to the FC adapter or FCP data LIF.

=end html



B<Fields>

=over 2

=item * I<adapter>  =>   B<string>

=begin html

<br>In Data ONTAP 7-Mode, the name of the physical FC adapter. In Data ONTAP Cluster-Mode, the name of the FCP data LIF.

=end html

=back



=over 2

=item * I<fcp-connected-initiators>  =>   B<L<"fcp-connected-initiator-info">[]>

=begin html

<br>Information about the connected initiators

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver of the FCP LIF.

=end html

=back



=head2 fcp-adapter-stats-info

=begin html

Statistics for one FC adapter. Starting Data ONTAP 8.3, the SFP related attributes have been superseded by the same attributes in type fcp-config-adapter-info, and are retained in here for compatibility only.

=end html



B<Fields>

=over 2

=item * I<adapter>  =>   B<string>

=begin html

<br>Which FC adapter.

=end html

=back



=over 2

=item * I<adapter-resets>  =>   B<integer>

=begin html

<br>Number of adapter resets occurred.

=end html

=back



=over 2

=item * I<crc-errors>  =>   B<integer>

=begin html

<br>Total CRC errors occurred.

=end html

=back



=over 2

=item * I<discarded-frames>  =>   B<integer>

=begin html

<br>Number of frames discarded by the target HBA. Range [0..2^31-1]

=end html

=back



=over 2

=item * I<frame-overruns>  =>   B<integer>

=begin html

<br>Number of frame overruns detected by the adapter during write requests.

=end html

=back



=over 2

=item * I<frame-underruns>  =>   B<integer>

=begin html

<br>Number of frame underruns detected by the adapter during read requests.

=end html

=back



=over 2

=item * I<initiators-connected>  =>   B<integer>

=begin html

<br>Total number of initiators connected to this target adapter.

=end html

=back



=over 2

=item * I<invalid-xmit-words>  =>   B<integer>

=begin html

<br>Number of invalid words transmitted. Range [0..2^31-1]

=end html

=back



=over 2

=item * I<is-sfp-diagnostics-internally-calibrated>  =>   B<boolean, optional>

=begin html

<br>Indicates if the SFP diagnostics are internally calibrated or not. The optional SFP rx/tx fields are invalid (and therefore not provided) if the SFP diagnostics are not internally calibrated.

=end html

=back



=over 2

=item * I<is-sfp-optical-transceiver-valid>  =>   B<boolean>

=begin html

<br>Validity of the optical transceiver. Until Data ONTAP 8.0.0, this field was incorrectly named "is-spf-optical-transceiver-valid". While that field is also returned for backward compatibility, all new applications must use the current version.

=end html

=back



=over 2

=item * I<is-sfp-rx-power-in-range>  =>   B<boolean, optional>

=begin html

<br>Flag to indicate received optical power is in range.

=end html

=back



=over 2

=item * I<is-sfp-tx-power-in-range>  =>   B<boolean, optional>

=begin html

<br>Flag to indicate transmitted optical power is in range.

=end html

=back



=over 2

=item * I<link-breaks>  =>   B<integer>

=begin html

<br>Number of times that the link breaks.

=end html

=back



=over 2

=item * I<lip-resets>  =>   B<integer>

=begin html

<br>Number of times that a selective Reset LIP (Loop Initialization Primitive) occurred. LIP reset is used to preform a vendor-specific reset at the loop port specified by the AL-PA value.

=end html

=back



=over 2

=item * I<lr-received>  =>   B<integer>

=begin html

<br>Number of LRs (Link Reset) received by the target HBA. Range [0..2^31-1]

=end html

=back



=over 2

=item * I<lr-sent>  =>   B<integer>

=begin html

<br>Number of LRs (Link Reset) sent from the target HBA. Range [0..2^31-1]

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The name of the node where the adapter is installed.

=end html

=back



=over 2

=item * I<nos-received>  =>   B<integer>

=begin html

<br>Number of NOSs (Not_Operational Primitive Sequence)received by the target HBA. Range [0..2^31-1]

=end html

=back



=over 2

=item * I<ols-received>  =>   B<integer>

=begin html

<br>Number of OLSs (Offline Primitive Sequence) received by the target HBA. Range [0..2^31-1]

=end html

=back



=over 2

=item * I<protocol-errors>  =>   B<integer>

=begin html

<br>Number of protocol errors occurred. Range [0..2^31-1]

=end html

=back



=over 2

=item * I<queue-depth>  =>   B<integer>

=begin html

<br>Counts the queue depth on the target HBA.

=end html

=back



=over 2

=item * I<scsi-requests-dropped>  =>   B<integer>

=begin html

<br>Number of SCSI requests being dropped.

=end html

=back



=over 2

=item * I<sfp-connector>  =>   B<string, optional>

=begin html

<br>Connector used with the optical transceiver.

=end html

=back



=over 2

=item * I<sfp-date-code>  =>   B<string, optional>

=begin html

<br>Date code for the optical transceiver.

=end html

=back



=over 2

=item * I<sfp-encoding>  =>   B<string, optional>

=begin html

<br>Encoding used with the optical transceiver. Possible values ["8B10B", "?????"]

=end html

=back



=over 2

=item * I<sfp-fc-speed-capabilties>  =>   B<string>

=begin html

<br>FC speed capabilities for the optical transceiver. Possible values [1, 2, 4, 8 in Gbps]

=end html

=back



=over 2

=item * I<sfp-fc-speedcapabilities>  =>   B<string, optional>

=begin html

<br>FC speed capabilities for the optical transceiver. Possible values [1, 2, 4, 8 in Gbps]

=end html

=back



=over 2

=item * I<sfp-formfactor>  =>   B<string, optional>

=begin html

<br>Form factor of the optical transceiver. Possible values: "SFP" (for Small FormFactor).

=end html

=back



=over 2

=item * I<sfp-part-number>  =>   B<string, optional>

=begin html

<br>Part number for the optical transceiver.

=end html

=back



=over 2

=item * I<sfp-rev>  =>   B<string, optional>

=begin html

<br>Revision for the optical transceiver.

=end html

=back



=over 2

=item * I<sfp-rx-power>  =>   B<string, optional>

=begin html

<br>SFP received optical power, reported to tenth decimal in uWatts.

=end html

=back



=over 2

=item * I<sfp-serial-number>  =>   B<string, optional>

=begin html

<br>Serial number for the optical transceiver.

=end html

=back



=over 2

=item * I<sfp-tx-power>  =>   B<string, optional>

=begin html

<br>SFP transmitted optical power, reported to tenth decimal in uWatts.

=end html

=back



=over 2

=item * I<sfp-vendor-name>  =>   B<string, optional>

=begin html

<br>Vendor name for the optical transceiver.

=end html

=back



=over 2

=item * I<sfp-vendor-oui>  =>   B<string, optional>

=begin html

<br>Vendor OUI (The IEEE Organizationally Unique Identifier) for the optical transceiver.

=end html

=back



=over 2

=item * I<sfp-wavelength>  =>   B<integer, optional>

=begin html

<br>Wavelength for the optical transceiver. Measured in nanometers. Range [830..860]

=end html

=back



=over 2

=item * I<spurious-interrupts>  =>   B<integer>

=begin html

<br>Count of spurious interrupts.

=end html

=back



=over 2

=item * I<total-logins>  =>   B<integer>

=begin html

<br>Counts the times of initiators added. Each time a new initiator is added, the total logins is incremented by 1. Each time an initiator is removed, the total logouts is incremented by 1.

=end html

=back



=over 2

=item * I<total-logouts>  =>   B<integer>

=begin html

<br>Counts the times of initiators removed. Each time a new initiator is added, the total logins is incremented by 1. Each time an initiator is removed, the total logouts is incremented by 1.

=end html

=back



=head2 fcp-config-adapter-info

=begin html

Configuration information for one physical FC adapter.

=end html



B<Fields>

=over 2

=item * I<adapter>  =>   B<string>

=begin html

<br>The slot name of the FC adapter.

=end html

=back



=over 2

=item * I<cache-line-size>  =>   B<integer, optional>

=begin html

<br>Cache line size of adapter. verbose only. This field is obsolete and no longer returned beginning with Data ONTAP 8.1.1.

=end html

=back



=over 2

=item * I<connection-established>  =>   B<string, optional>

=begin html

<br>Type of connection established, "ptp" or "loop".

=end html

=back



=over 2

=item * I<data-link-rate>  =>   B<integer, optional>

=begin html

<br>Data Link Rate in Gbits. verbose only.

=end html

=back



=over 2

=item * I<data-protocols-supported>  =>   B<fcp-adapter-data-protocol[], optional>

=begin html

<br>Data Protocols Supported Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "fcp" , <li> "fc_nvme" </ul>

=end html

=back



=over 2

=item * I<external-gbic-enabled>  =>   B<boolean, optional>

=begin html

<br>"true" if enabled, "false" otherwise. verbose only. This field is obsolete and no longer returned beginning with Data ONTAP 8.1.1.

=end html

=back



=over 2

=item * I<fabric-established>  =>   B<boolean, optional>

=begin html

<br>"true" if fabric is established to this adapter, "false" otherwise. verbose only.

=end html

=back



=over 2

=item * I<fabric-name>  =>   B<string, optional>

=begin html

<br>The name of the FC fabric this adapter is connected to. Only returned if the adapter is logged into the fabric. This field is available in Data ONTAP 8.2 and later.

=end html

=back



=over 2

=item * I<firmware-rev>  =>   B<string, optional>

=begin html

<br>Firmware revision of adapter. verbose only.

=end html

=back



=over 2

=item * I<hardware-rev>  =>   B<string, optional>

=begin html

<br>Hardware revision of adapter. verbose only.

=end html

=back



=over 2

=item * I<info-name>  =>   B<string, optional>

=begin html

<br>Info name given to this adapter. verbose only.

=end html

=back



=over 2

=item * I<is-sfp-diagnostics-internally-calibrated>  =>   B<boolean, optional>

=begin html

<br>Indicates if the SFP diagnostics are internally calibrated or not. The optional SFP rx/tx fields are invalid (and therefore not provided) if the SFP diagnostics are not internally calibrated. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<is-sfp-optical-transceiver-valid>  =>   B<boolean>

=begin html

<br>Validity of the optical transceiver. Until Data ONTAP 8.0.0, this field was incorrectly named "is-spf-optical-transceiver-valid". While that field is also returned for backward compatibility, all new applications must use the current version. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<is-sfp-rx-power-in-range>  =>   B<boolean, optional>

=begin html

<br>Flag to indicate received optical power is in range. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<is-sfp-tx-power-in-range>  =>   B<boolean, optional>

=begin html

<br>Flag to indicate transmitted optical power is in range. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<max-speed>  =>   B<integer, optional>

=begin html

<br>The maximum speed of this adapter in Gbit/sec.

=end html

=back



=over 2

=item * I<media-type>  =>   B<string, optional>

=begin html

<br>Media configured for this adapter, "ptp", "loop", or "auto". If an error occurred while retrieving info for this adapter, this will not be returned.

=end html

=back



=over 2

=item * I<mpi-firmware-rev>  =>   B<string, optional>

=begin html

<br>MPI Firmware revision of adapter. verbose only. This is only available for converged network adapters (CNA).

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The name of the node where the adapter is installed.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>FCP World Wide Node Name (WWNN) of the adapter. If an error occurred while retrieving info for this adapter, this will not be returned.

=end html

=back



=over 2

=item * I<packet-size>  =>   B<integer, optional>

=begin html

<br>FC packet size of adapter. verbose only. This field is obsolete and no longer returned beginning with Data ONTAP 8.2.

=end html

=back



=over 2

=item * I<pci-bus-width>  =>   B<integer, optional>

=begin html

<br>PCI bus width in bits. verbose only. This field is obsolete and no longer returned beginning with Data ONTAP 8.1.1.

=end html

=back



=over 2

=item * I<pci-clock-speed>  =>   B<integer, optional>

=begin html

<br>PCI clock speed in MHz. verbose only. This field is obsolete and no longer returned beginning with Data ONTAP 8.1.1.

=end html

=back



=over 2

=item * I<phy-firmware-rev>  =>   B<string, optional>

=begin html

<br>PHY Firmware revision of adapter. verbose only. This is only available for converged network adapters (CNA).

=end html

=back



=over 2

=item * I<physical-data-link-rate>  =>   B<integer, optional>

=begin html

<br>Physical Data Link Rate in Gbits. verbose only. This is only available for converged network adapters (CNA).

=end html

=back



=over 2

=item * I<physical-link-state>  =>   B<string, optional>

=begin html

<br>Physical Status of the adapter. verbose only. Possible values are "link up", "link down". This is only available for converged network adapters (CNA).

=end html

=back



=over 2

=item * I<physical-protocol>  =>   B<string, optional>

=begin html

<br>The physical protocol of the adapter. Possible values: <ul> <li> "fibre_channel" - The adapter is a Fibre Channel adapter, <li> "ethernet" - The adapter is a Fibre Channel over Ethernet adapter. </ul>

=end html

=back



=over 2

=item * I<port-address>  =>   B<integer, optional>

=begin html

<br>Host port address of adapter. If an error occurred while retrieving info for this adapter, this will not be returned.

=end html

=back



=over 2

=item * I<port-name>  =>   B<string, optional>

=begin html

<br>FCP World Wide Port Name (WWPN) of adapter. If an error occurred while retrieving info for this adapter, this will not be returned.

=end html

=back



=over 2

=item * I<preload-table-rev>  =>   B<string, optional>

=begin html

<br>Flash preload revision for FC adapter. verbose only.

=end html

=back



=over 2

=item * I<sfp-connector>  =>   B<string, optional>

=begin html

<br>Connector used with the optical transceiver. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-date-code>  =>   B<string, optional>

=begin html

<br>Date code for the optical transceiver. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-encoding>  =>   B<string, optional>

=begin html

<br>Encoding used with the optical transceiver. Possible values ["8B10B", "?????"] This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-fc-speedcapabilities>  =>   B<string, optional>

=begin html

<br>FC speed capabilities for the optical transceiver. Possible values [1, 2, 4, 8 in Gbps] This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-formfactor>  =>   B<string, optional>

=begin html

<br>Form factor of the optical transceiver. Possible values: "SFP" (for Small FormFactor). This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-part-number>  =>   B<string, optional>

=begin html

<br>Part number for the optical transceiver. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-rev>  =>   B<string, optional>

=begin html

<br>Revision for the optical transceiver. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-rx-power>  =>   B<string, optional>

=begin html

<br>SFP received optical power, reported to tenth decimal in uWatts. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-serial-number>  =>   B<string, optional>

=begin html

<br>Serial number for the optical transceiver. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-tx-power>  =>   B<string, optional>

=begin html

<br>SFP transmitted optical power, reported to tenth decimal in uWatts. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-vendor-name>  =>   B<string, optional>

=begin html

<br>Vendor name for the optical transceiver. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-vendor-oui>  =>   B<string, optional>

=begin html

<br>Vendor OUI (The IEEE Organizationally Unique Identifier) for the optical transceiver. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<sfp-wavelength>  =>   B<integer, optional>

=begin html

<br>Wavelength for the optical transceiver. Measured in nanometers. Range [830..860] This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<speed>  =>   B<string, optional>

=begin html

<br>Speed configured for this adapter. Possible values: "auto", "1Gb", "2Gb", "4Gb", "8Gb", "10Gb", "16Gb". If an error occurred while retrieving info for this adapter, this will not be returned.

=end html

=back



=over 2

=item * I<sram-parity-enabled>  =>   B<boolean, optional>

=begin html

<br>"true" if enabled, "false" otherwise. verbose only. This field is obsolete and no longer returned beginning with Data ONTAP 8.1.1.

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>Status of the adapter. Possible values are "startup", "link not connected", "online", "link disconnected", "offline", "offlined by user/system". If an error occurred while retrieving info for this adapter, this will not be returned.

=end html

=back



=over 2

=item * I<status-admin>  =>   B<string, optional>

=begin html

<br>Administrative status of the adapter. Possible values are "up" and "down". If an error occurred while retrieving info for this adapter, this will not be returned. This field is available in Data ONTAP 8.4 and later.

=end html

=back



=over 2

=item * I<status-extended>  =>   B<string, optional>

=begin html

<br>Extended status of the adapter. If an error occurred while retrieving info for this adapter, this will not be returned. This field is available in Data ONTAP 8.4 and later.

=end html

=back



=over 2

=item * I<switch-port>  =>   B<string, optional>

=begin html

<br>Switch and port this adapter is connected to. The string will be of the form X:Y where X is the name of the switch and Y is the port value. verbose only.

=end html

=back



=over 2

=item * I<vlan-id>  =>   B<integer, optional>

=begin html

<br>Assigned FC VLAN ID. verbose only. This is only available for converged network adapters (CNA).

=end html

=back



=head2 fcp-connected-initiator-info

=begin html

Information about an initiator connected to an FC adapter.

=end html



B<Fields>

=over 2

=item * I<initiator-group-list>  =>   B<L<"initiator-group-list-info">[], optional>

=begin html

<br>List of initiator groups this initiator belongs to.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>World Wide Node Name (WWNN) of initiator.

=end html

=back



=over 2

=item * I<port-address>  =>   B<integer>

=begin html

<br>Fibre Channel host address it is connected to.

=end html

=back



=over 2

=item * I<port-name>  =>   B<string>

=begin html

<br>World Wide Port Name (WWPN) of the initiator.

=end html

=back



=over 2

=item * I<portname-alias-list>  =>   B<L<"portname-alias-name">[], optional>

=begin html

<br>List of aliases for the WWPN.

=end html

=back



=head2 fcp-interface-info

=begin html

Information about a single FCP Logical Interface (LIF). When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<current-node>  =>   B<string, optional>

=begin html

<br>Node currently hosting the LIF. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-port>  =>   B<string, optional>

=begin html

<br>FC Adapter currently hosting the LIF. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string, optional>

=begin html

<br>Name of the LIF. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>World Wide Node Name (WWNN) of the LIF. All LIFs in a Vserver have the same WWNN as the Vserver's FCP service. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-address>  =>   B<string, optional>

=begin html

<br>Host port address of LIF. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-name>  =>   B<string, optional>

=begin html

<br>World Wide Port Name (WWPN) of the LIF. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relative-port-id>  =>   B<integer, optional>

=begin html

<br>The SCSI Relative Target Port Identifier of the LIF. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver hosting the LIF. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fcp-nameserver-info

=begin html

FCP name server entry for the adapter When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<fabric-port-wwn>  =>   B<string, optional>

=begin html

<br>Fabric world wide port name (WWPN) of the lif Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fc4-type>  =>   B<string, optional>

=begin html

<br>Registered FC4 Type Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif>  =>   B<string, optional>

=begin html

<br>LIF Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Node Name (WWNN) of the lif Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-id>  =>   B<integer, optional>

=begin html

<br>Assigned port identifier of the lif Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-type>  =>   B<string, optional>

=begin html

<br>Port type of the lif Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Port Name (WWPN) of the lif Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<service-class>  =>   B<string, optional>

=begin html

<br>Registered class of services as defined in the FC-FS standard Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-port>  =>   B<string, optional>

=begin html

<br>Name of switch port connected to target array Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<non-repos-vserver-name, optional>

=begin html

<br>Vserver hosting the FCP LIF Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fcp-ping-igroup-status-info

=begin html

FCP Ping result When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ext-status>  =>   B<string, optional>

=begin html

<br>Extended Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<igroup>  =>   B<string, optional>

=begin html

<br>Igroup Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif>  =>   B<string, optional>

=begin html

<br>LIF Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<portset>  =>   B<string, optional>

=begin html

<br>Portset Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Ping Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>FCP initiator WWPN Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fcp-ping-status-info

=begin html

Connectivity check between FCP initiator and FCP LIF When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ext-status>  =>   B<string, optional>

=begin html

<br>Extended Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif>  =>   B<string, optional>

=begin html

<br>LIF Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Ping Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>Remote WWPN Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fcp-port-name-info

=begin html

Information for one valid local port name.

=end html



B<Fields>

=over 2

=item * I<fcp-adapter>  =>   B<string, optional>

=begin html

<br>Only if this WWPN is being used by a Fibre Channel interface, the name of the interface is returned. In Data ONTAP 7-Mode, the name of a local adapter. In Data ONTAP Cluster-Mode, the name of an FCP data LIF.

=end html

=back



=over 2

=item * I<is-used>  =>   B<boolean>

=begin html

<br>This indicates whether this WWPN is being used by a Fibre Channel target interface.

=end html

=back



=over 2

=item * I<port-name>  =>   B<string>

=begin html

<br>A Fibre Channel WWPN in the form XX:XX:XX:XX:XX:XX:XX:XX where X is a hexadecimal digit.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver containing this port name

=end html

=back



=head2 fcp-service-info

=begin html

FCP target service configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-available>  =>   B<boolean, optional>

=begin html

<br>true if the FCP Service is running, false otherwise. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The world-wide node name (WWNN) of the FCP target in the Vserver. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver hosting the FCP service. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fcp-topology-info

=begin html

FCP topology interconnect When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<domain-id>  =>   B<integer, optional>

=begin html

<br>Domain Identifier Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif>  =>   B<string, optional>

=begin html

<br>LIF Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<logical-name>  =>   B<string, optional>

=begin html

<br>Logical Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-count>  =>   B<integer, optional>

=begin html

<br>Port Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<release>  =>   B<string, optional>

=begin html

<br>Release Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Vendor Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<non-repos-vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name Attributes: non-creatable, non-modifiable

=end html

=back



=head2 fcp-topology-port-info

=begin html

FCP topology interconnect elements for the adapter When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<adapter>  =>   B<string, optional>

=begin html

<br>Adapter name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<domain-id>  =>   B<integer, optional>

=begin html

<br>Domain Id Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-attached-id>  =>   B<string, optional>

=begin html

<br>Attached Port Id Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-attached-visible>  =>   B<string, optional>

=begin html

<br>Visible Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-attached-wwpn>  =>   B<string, optional>

=begin html

<br>Attached Port WWPN Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-count>  =>   B<integer, optional>

=begin html

<br>Port Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-slot>  =>   B<string, optional>

=begin html

<br>Port Slot Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-state>  =>   B<fcpportstate, optional>

=begin html

<br>Port State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" , <li> "testing" , <li> "fault" </ul>

=end html

=back



=over 2

=item * I<port-type>  =>   B<fcpporttype, optional>

=begin html

<br>Port Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" , <li> "n_port" , <li> "nl_port" , <li> "fnl_port" , <li> "nx_port" , <li> "f_port" , <li> "fl_port" , <li> "e_port" , <li> "b_port" , <li> "tnp_port" , <li> "tf_port" , <li> "nv_port" , <li> "fv_port" , <li> "sd_port" , <li> "te_port" , <li> "tl_port" </ul>

=end html

=back



=over 2

=item * I<port-wwpn>  =>   B<string, optional>

=begin html

<br>Port WWPN Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-name>  =>   B<string, optional>

=begin html

<br>Switch Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-release>  =>   B<string, optional>

=begin html

<br>Switch Release Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-vendor>  =>   B<string, optional>

=begin html

<br>Switch Vendor Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-wwn>  =>   B<string, optional>

=begin html

<br>Switch WWN Attributes: non-creatable, non-modifiable

=end html

=back



=head2 fcp-zone-info

=begin html

FCP active zone set entry for the adapter When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<adapter>  =>   B<string, optional>

=begin html

<br>Adapter name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<domain-id>  =>   B<integer, optional>

=begin html

<br>Member Domain Id Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>Member Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-id>  =>   B<integer, optional>

=begin html

<br>Member Port Id Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<integer, optional>

=begin html

<br>Member Type Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type-name>  =>   B<string, optional>

=begin html

<br>Member Type Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<unique>  =>   B<integer, optional>

=begin html

<br>Unique Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwn>  =>   B<string, optional>

=begin html

<br>Member WWN Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<zone-count>  =>   B<integer, optional>

=begin html

<br>Zone Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<zone-member-count>  =>   B<integer, optional>

=begin html

<br>Zone Member Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<zone-name>  =>   B<string, optional>

=begin html

<br>Zone Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<zoneset-name>  =>   B<string, optional>

=begin html

<br>Zoneset Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fcpportstate

=begin html

Unknown|Online|Offline|Testing|Fault Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" , <li> "testing" , <li> "fault" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fcpporttype

=begin html

None|N-Port|NL-Port|FNL-Port|NX-Port|F-Port|FL-Port|E-Port|B-Port|TNP-Port|TF-Port|NV-Port|FV-Port|SD-Port|TE-Port|TL-Port Possible values: <ul> <li> "none" , <li> "n_port" , <li> "nl_port" , <li> "fnl_port" , <li> "nx_port" , <li> "f_port" , <li> "fl_port" , <li> "e_port" , <li> "b_port" , <li> "tnp_port" , <li> "tf_port" , <li> "nv_port" , <li> "fv_port" , <li> "sd_port" , <li> "te_port" , <li> "tl_port" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 portname-alias-name

=begin html

Aliases for this WWPN

=end html



B<Fields>

=over 2

=item * I<portname-alias>  =>   B<string>

=begin html

<br>Alias for the WWPN

=end html

=back



=head2 fc-ports

=begin html

Information about the ports belonging to the fiber channel adapter

=end html



B<Fields>

=over 2

=item * I<port-number>  =>   B<string, optional>

=begin html

<br>This represents the physical port number of the FC port. Field is not present when port-type is "l-port"

=end html

=back



=over 2

=item * I<port-type>  =>   B<string>

=begin html

<br>Type of port. Possible values: "l-port", loop port, node port used to connect a node to a Fibre Channel loop. "nl-port", network+loop port, node port which connects to both loops and switches. "n-port", network port, node port used to connect a node to a Fibre Channel switch.

=end html

=back



=over 2

=item * I<switch-name>  =>   B<string, optional>

=begin html

<br>This is the switch name, if any, connected to the FC port. Field is not present when port-type is "l-port"

=end html

=back



=over 2

=item * I<switch-wwn>  =>   B<string, optional>

=begin html

<br>This is the world wide name of the switch, if any, connected to the FC port. Field is not present when port-type is "l-port"

=end html

=back



=head2 link-state-info

=begin html

list link-state info of a specific adapter channel

=end html



B<Fields>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>The adapter name is either a slot number, or, if a port letter is also presented, a slot number and port letter concatenated into a single name.

=end html

=back



=over 2

=item * I<fc-port-info>  =>   B<L<"fc-ports">, optional>

=begin html

<br>fiber channel port information. Present only when link-state field value is "up".

=end html

=back



=over 2

=item * I<link-state>  =>   B<string>

=begin html

<br>Possible values: "initing", "down", "up", "offline-physical", "offline-logical", or "zombified", which the adapter has stopped sending I/O and is ignoring link events. This state may occur when shelf firmware is being updated.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF, in which case it is the storage system name.

=end html

=back



=head2 feature-usage-state

=begin html

not-used|configured|in-use|not-available Possible values: <ul> <li> "not_used" - Not Used, <li> "configured" - Configured, <li> "in_use" - In Use, <li> "not_available" - Not Available </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 managed-feature

=begin html

A managed feature in ONTAP. Possible values: <ul> <li> "cifs" <li> "nfs" <li> "iscsi" <li> "fcp" <li> "dedupe" <li> "flexclone" <li> "compression" <li> "snaprestore" <li> "snaplock" <li> "snaplock_enterprise" <li> "snapvault_primary" <li> "snapvault_secondary" <li> "snapmirror" <li> "syncmirror" <li> "flexcache" <li> "ndmp" <li> "multistore" <li> "snapdrive_windows" <li> "snapmanager_exchange" <li> "snapmanager_sql" <li> "snapmanager_sharepoint" <li> "snapmanager_hyperv" <li> "snapdrive_unix" <li> "snapmanager_oracle" <li> "snapmanager_sap" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 managed-feature-status

=begin html

Represents the status of a managed feature. Possible values: <ul> <li> "on" - feature is entitled and turned on, <li> "available" - feature is entitled and available to be turned on. Its current on/off status is unknown, <li> "on_not_configurable" - feature is no longer entitled but it was turned on before and remains to be on. Feature is not configurable at the moment, <li> "off" - feature is entitled but turned off, <li> "not_available" - feature is not entitled, licensing infrastructure is unavailable, or other configuration check prevents feature use. The field notes can provide additional information. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 managed-feature-status-info

=begin html

Status information about a managed feature. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<feature-name>  =>   B<managed-feature, optional>

=begin html

<br>Managed feature name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<notes>  =>   B<string, optional>

=begin html

<br>Additional information about the managed feature status. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<managed-feature-status, optional>

=begin html

<br>Status of a managed feature. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 usage-state-info

=begin html

Information about feature usage. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<date-collected>  =>   B<datetime, optional>

=begin html

<br>The time data was collected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<feature-message>  =>   B<string, optional>

=begin html

<br>Additional feature reported message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<feature-name>  =>   B<managed-feature, optional>

=begin html

<br>Name of the feature. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "cifs" , <li> "nfs" , <li> "iscsi" , <li> "fcp" , <li> "dedupe" , <li> "flexclone" , <li> "compression" , <li> "snaprestore" , <li> "snaplock" , <li> "snaplock_enterprise" , <li> "snapvault_primary" , <li> "snapvault_secondary" , <li> "snapmirror" , <li> "syncmirror" , <li> "flexcache" , <li> "ndmp" , <li> "multistore" , <li> "cdmi" , <li> "snapdrive_windows" , <li> "snapmanager_exchange" , <li> "snapmanager_sql" , <li> "snapmanager_sharepoint" , <li> "snapmanager_hyperv" , <li> "snapdrive_unix" , <li> "snapmanager_oracle" , <li> "snapmanager_sap" , <li> "v_storageattach" </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Name of the controller node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Name of the controller node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Serial number of the controller node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<usage-status>  =>   B<feature-usage-state, optional>

=begin html

<br>The usage status information. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "not_used" - Not Used, <li> "configured" - Configured, <li> "in_use" - In Use, <li> "not_available" - Not Available </ul>

=end html

=back



=over 2

=item * I<week-number>  =>   B<seqnum, optional>

=begin html

<br>The week of data collection. Week number one is the oldest week of collection. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 usage-summary-info

=begin html

Summary information about feature usage. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<feature-name>  =>   B<managed-feature, optional>

=begin html

<br>Name of the feature. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "cifs" , <li> "nfs" , <li> "iscsi" , <li> "fcp" , <li> "dedupe" , <li> "flexclone" , <li> "compression" , <li> "snaprestore" , <li> "snaplock" , <li> "snaplock_enterprise" , <li> "snapvault_primary" , <li> "snapvault_secondary" , <li> "snapmirror" , <li> "syncmirror" , <li> "flexcache" , <li> "ndmp" , <li> "multistore" , <li> "cdmi" , <li> "snapdrive_windows" , <li> "snapmanager_exchange" , <li> "snapmanager_sql" , <li> "snapmanager_sharepoint" , <li> "snapmanager_hyperv" , <li> "snapdrive_unix" , <li> "snapmanager_oracle" , <li> "snapmanager_sap" , <li> "v_storageattach" </ul>

=end html

=back



=over 2

=item * I<last-used-time>  =>   B<datetime, optional>

=begin html

<br>The time when the feature was last recorded to be in-use. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Name of the controller node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Serial number of the controller node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<weeks-configured>  =>   B<integer, optional>

=begin html

<br>Number of weeks the feature was recorded to be configured. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<weeks-in-use>  =>   B<integer, optional>

=begin html

<br>Number of weeks the feature was recorded to be in-use. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<weeks-not-available>  =>   B<integer, optional>

=begin html

<br>Number of weeks the feature was recorded to not have usage data available. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<weeks-not-used>  =>   B<integer, optional>

=begin html

<br>Number of weeks the feature was recorded to be not used. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 file-fingerprint-info

=begin html

File fingerprint info

=end html



B<Fields>

=over 2

=item * I<access-time>  =>   B<integer, optional>

=begin html

<br>Last access time of the file attributes in seconds in the standard UNIX format since January 1, 1970 00:00:00. The field is included for regular files and files on Non-SnapLock volumes. Time is taken out of system clock. Range : [0..2^64-1] Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<changed-time>  =>   B<integer, optional>

=begin html

<br>Last changed time of the file attributes in seconds in the standard UNIX format since January 1, 1970 00:00:00. For WORM files last change time for file attributes occurs when file is committed to WORM. Time is taken out of system clock for regular files and time is taken out of Compliance Clock when file is committed to WORM.The changed-time can be in wraparound format for indicates that changed time is in the wraparound format. The wraparound format indicates that dates after 01/19/2038 are mapped from 01/01/1970 - 12/31/2002 to 01/19/2038 - 01/19/2071. Range : [0..2^64-1] Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<creation-time>  =>   B<integer, optional>

=begin html

<br>Creation time of the file in seconds in the standard UNIX format since January 1, 1970 00:00:00. Time is taken out of system clock. Range : [0..2^64-1] Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-fingerprint>  =>   B<string, optional>

=begin html

<br>The digest value of data of the file. The fingerprint is base64 encoded. This field is not included if scope is 'metadata-only'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file>  =>   B<string, optional>

=begin html

<br>Full path of the file on which fingerprint is calculated. The value begins with /vol/<volumename>. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-size>  =>   B<integer, optional>

=begin html

<br>The size of the file in bytes. Range : [0..2^64-1]. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-type>  =>   B<string, optional>

=begin html

<br>Type of the file. Possible values: <ul> <li> 'worm', <li> 'worm_appendable', <li> 'worm_active_log', <li> 'worm_log' and <li> 'regular' </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fileid>  =>   B<integer, optional>

=begin html

<br>A unique number within filesystem identifying the file for fingerprint. Range : [0..2^31-1] Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-access-time>  =>   B<string, optional>

=begin html

<br>Last access time of the file formatted in a human-readable format <day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone. The field is included for regular files and files on Non-SnapLock volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-changed-time>  =>   B<string, optional>

=begin html

<br>Last changed time of the file formatted in a human-readable format. <day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-creation-time>  =>   B<string, optional>

=begin html

<br>Creation time of the file formatted in a human-readable format.<day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-modified-time>  =>   B<string, optional>

=begin html

<br>Last modification time of the file formatted in a human-readable format.<day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-retention-time>  =>   B<string, optional>

=begin html

<br>Expiry date of the file protected by SnapLock formatted in a human-readable format. This takes care of wraparound dates and prints the expiry date of the file in the format <day> <month> <day of month> <hour>:<min>:<sec><year> in GMT timezone. A value of 'infinite' indicates that this file has infinite retention time. A value of 'indefinite' indicates that this file has indefinite retention time. This field is not included for regular files that are not protected by SnapLock and files on Non-SnapLock volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fsid>  =>   B<integer, optional>

=begin html

<br>Filesystem ID. Range : [0..2^31-1] Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<group-id>  =>   B<integer, optional>

=begin html

<br>The integer id of the group owner of the file. Range : [0..2^31-1] Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-changed-time-wraparound>  =>   B<boolean, optional>

=begin html

<br>This field is included for WORM files when changed-time is in wraparound format. This field is true if the date represented in changed-time is in wraparound format and false if changed-time is not is not in wraparound format. The wraparound format indicates that dates after 01/19/2038 are mapped from 01/01/1970 - 12/31/2002 to 01/19/2038 - 01/19/2071. This field is not included for regular files. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-wraparound>  =>   B<boolean, optional>

=begin html

<br>True if the date represented in retention-time is in wraparound format.The wraparound format indicates that dates after 01/19/2038 are mapped from 01/01/1970 - 12/31/2002 to 01/19/2038 - 01/19/2071. This field is not included if retention-time is not included Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<litigation-count>  =>   B<integer, optional>

=begin html

<br>The number of litigations on the file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<metadata-fingerprint>  =>   B<string, optional>

=begin html

<br>The digest value of metadata of the file. The metadata fingerprint is calculated for file size, file ctime, file mtime, file crtime, file retention time, file uid, gid and file type. The fingerprint is base64 encoded. This field is not included if scope is 'data-only'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<modified-time>  =>   B<integer, optional>

=begin html

<br>Last modification time of the file in seconds in the standard UNIX format since January 1, 1970 00:00:00. Time is taken out of system clock. Range : [0..2^64-1] Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<owner-id>  =>   B<integer, optional>

=begin html

<br>The integer id of the owner of the file. Range : [0..2^31-1] Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<owner-sid>  =>   B<string, optional>

=begin html

<br>The owner SID of the file. This field is included in the case when file has NTFS security style. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Full path of the file that is fingerprinted. The value begins with /vol/<volumename>.

=end html

=back



=over 2

=item * I<retention-time>  =>   B<integer, optional>

=begin html

<br>Retention time of the file in seconds in the standard UNIX format since January 1, 1970 00:00:00. This field is not included for regular files, files on Non-SnapLock volumes, files with infinite retention and files with indefinite retention. The flag is-wraparound indicates that retention is in the wraparound format. The wraparound format indicates that dates after 01/19/2038 are mapped from 01/01/1970 - 12/31/2002 to 01/19/2038 - 01/19/2071. The time is taken out of Compliance Clock. Range : [0..2^64-1] Attributes: non-creatable, non-modifiable

=end html

=back



=head2 file-info

=begin html

Information about a single file.

=end html



B<Fields>

=over 2

=item * I<accessed-timestamp>  =>   B<integer>

=begin html

<br>Last asscess time of the file. The value is in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<acl-type>  =>   B<string>

=begin html

<br>The type of access control list (acl) on the file. Possible values are: "no_acl", "nt_acl", "nfs_acl", and goddess forbid, "unknown".

=end html

=back



=over 2

=item * I<bytes-used>  =>   B<integer, optional>

=begin html

<br>returns the number of bytes actually used on disk by this file

=end html

=back



=over 2

=item * I<changed-timestamp>  =>   B<integer>

=begin html

<br>Last changed time of the file. The value is in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<creation-timestamp>  =>   B<integer>

=begin html

<br>Creation time of the file. The value is in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<dsid>  =>   B<integer, optional>

=begin html

<br>Data Set ID

=end html

=back



=over 2

=item * I<file-size>  =>   B<integer>

=begin html

<br>The size of the file in bytes.

=end html

=back



=over 2

=item * I<file-type>  =>   B<string>

=begin html

<br>Type of the file. Possible values: file, directory, blockdev, chardev, symlink, socket, fifo, stream, lun.

=end html

=back



=over 2

=item * I<group-id>  =>   B<integer>

=begin html

<br>The integer id of the group owner of the file.

=end html

=back



=over 2

=item * I<hard-links-count>  =>   B<integer>

=begin html

<br>The number of hard links to the file.

=end html

=back



=over 2

=item * I<inode-gen-number>  =>   B<integer, optional>

=begin html

<br>Inode generation number

=end html

=back



=over 2

=item * I<inode-number>  =>   B<integer>

=begin html

<br>The file node number.

=end html

=back



=over 2

=item * I<is-empty>  =>   B<boolean, optional>

=begin html

<br>This element tells whether directory is empty or not. Directory is considered empty if it only contains entries for "." and "..". This element is present if file is directory. In some special error cases like volume goes offline in between or directory is moved in the middle of getting this info, this field might not get set.

=end html

=back



=over 2

=item * I<is-junction>  =>   B<boolean, optional>

=begin html

<br>Returns true if the directory is a junction.

=end html

=back



=over 2

=item * I<is-vm-aligned>  =>   B<boolean, optional>

=begin html

<br>Returns true if the file is vm-aligned. A vm-aligned file is a file which is padded with zero-filled data at the beginning so that it's actual data starts at a different offset instead of zero. This is done in VM environments so that reads/writes to this file are aligned to WAFL's 4k block boundary. The amount by which the start offset is adjusted depends on the vm-align setting of the hosting volume. Use the volume-list-info or the volume-get-iter API to get this information.

=end html

=back



=over 2

=item * I<modified-timestamp>  =>   B<integer>

=begin html

<br>Last modification time of the file. The value is in seconds since January 1, 1970.

=end html

=back



=over 2

=item * I<msid>  =>   B<integer, optional>

=begin html

<br>Mirror Set ID

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the file.

=end html

=back



=over 2

=item * I<owner-id>  =>   B<integer>

=begin html

<br>The integer id of the owner of the file.

=end html

=back



=over 2

=item * I<perm>  =>   B<string>

=begin html

<br>File permission bits. It's similar to Unix style permission bits: 0755 gives read/write/execute permissions to owner and read/execute to group and other users. It consists of 4 octal digits derived by adding up bits 4, 2 and 1. Omitted digits are assumed to be zeros. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. The second digit selects permission for the owner of the file: read (4), write (2) and execute (1); the third selects permissions for other users in the same group; the fourth for other users not in the group.

=end html

=back



=head2 fingerprint-info

=begin html

FingerPrint info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate-uuid>  =>   B<string, optional>

=begin html

<br>An Universal Unique IDentifier (UUID) for the aggregate containing the volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-metadata>  =>   B<L<"file-fingerprint-info">, optional>

=begin html

<br>File fingerprint info

=end html

=back



=over 2

=item * I<filer-id>  =>   B<uuid, optional>

=begin html

<br>ID (NVRAM ID) of owner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<filer-name>  =>   B<string, optional>

=begin html

<br>Specifies the name of the filer. If the filer name has not been written to the disks, this will not be returned. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fingerprint-algorithm>  =>   B<fingerprintalgo, optional>

=begin html

<br>The digest algorithm which was used for the fingerprint computation. Fingerprint is computed using md5 or sha-256 digest algorithm. The digest algorithm to be used for the fingerprint computation can be specified when the fingerprint operation is started using the file-fingerprint-start API. If no algorithm was specified during file fingerprint start, then by default, we compute fingerprint of the file using the sha-256 digest alogorithm. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "md5" , <li> "sha256" </ul>

=end html

=back



=over 2

=item * I<fingerprint-end-time>  =>   B<integer, optional>

=begin html

<br>End time of fingerprint computation in seconds since January 1, 1970. Time is taken out of system clock. Range : [0..2^64-1]. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fingerprint-input-path>  =>   B<string, optional>

=begin html

<br>Full path of the file on which fingerprint is calculated. The value begins with /vol/<volumename>. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fingerprint-scope>  =>   B<fingerprintscope, optional>

=begin html

<br>The file scope which was used for the fingerprint computation. Fingerprint is computed over the file data or metadata or both data and metadata depending on the scope selected when starting the fingerprint operation. If no scope was specified during file fingerprint start, then by default, we compute fingerprint of the file over both data and metadata. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "data_and_metadata" , <li> "data_only" , <li> "metadata_only" </ul>

=end html

=back



=over 2

=item * I<fingerprint-start-time>  =>   B<integer, optional>

=begin html

<br>Start time of fingerprint computation in seconds since January 1, 1970. This time is calculated using the system clock. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fingerprint-version>  =>   B<string, optional>

=begin html

<br>Version of the fingerprint output format. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-fingerprint-end-time>  =>   B<string, optional>

=begin html

<br>End time of fingerprint computation in a human readable format <day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone.Time is taken out of system clock. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-fingerprint-start-time>  =>   B<string, optional>

=begin html

<br>Start time of fingerprint computation in a human readable format: <day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone. This time is calculated using the system clock. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-snaplock-system-compliance-clock>  =>   B<string, optional>

=begin html

<br>If System Compliance Clock is initialized then human readable time <day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone. A value of 'not_initalized' indicates that System Compliance Clock has not been initialized. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-snaplock-volume-compliance-clock>  =>   B<string, optional>

=begin html

<br>Volume Compliance Clock time for SnapLock volumes in human readable format. <day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone. This field is not included for Non-SnapLock volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-volume-expiry-date>  =>   B<string, optional>

=begin html

<br>Expiry date of the SnapLock volume in a human-readable format <day> <month> <day of month> <hour>:<min>:<sec> <year> in GMT timezone. A value of 'infinite' indicates that the volume has an infinite expiry date. A value of 'indefinite' indicates that the volume has an indefinite expiry date. A value of 'scan_in_progress' indicates that expiry date is not displayed since WORM scan on the volume is in progress. A value of 'no_expiry_date' indicates that expiry date is not displayed since the SnapLock volume has no WORM files and WORM Snapshot copies. This field is not included if the volume is offline or the volume is regular volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-volume-expiry-date-wraparound>  =>   B<boolean, optional>

=begin html

<br>True if the date represented in the field volume-expiry-date is a wraparound format. The wraparound format indicates that dates after 01/19/2038 are mapped from 01/01/1970 - 12/31/2002 to 01/19/2038 - 01/19/2071. The field is not included if volume-expiry-date is not included. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<metadata-files>  =>   B<L<"file-fingerprint-info">[]>

=begin html

<br>List of files and their fingerprint related information.

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>An unique identifier for the fingerprint operation. This session-id is returned when the fingerprint operation is started on a file. The session-id of the fingerprint operation can be used to get the progress of an ongoing fingerprint operation as well as the complete fingerprint output for the file once the operation is completed. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snaplock-license>  =>   B<snaplocklicense, optional>

=begin html

<br>Status of SnapLock license. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "available" , <li> "not_available" </ul>

=end html

=back



=over 2

=item * I<snaplock-system-compliance-clock>  =>   B<integer, optional>

=begin html

<br>If System Compliance Clock is initialized then time in seconds in the standard UNIX format (since 01/01/1970 00:00:00) in GMT timezone. Range:[0..2^64-1]. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snaplock-volume-compliance-clock>  =>   B<integer, optional>

=begin html

<br>Volume Compliance Clock time in seconds for the SnapLock volumes.The time is in the standard UNIX format (since 01/01/1970 00:00:00) in GMT timezone. This field is not included for Non-SnapLock volumes. Range:[0..2^64-1]. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-containing-aggregate>  =>   B<string, optional>

=begin html

<br>Specifies the name of the aggregate in which the given volume resides Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-dsid>  =>   B<integer, optional>

=begin html

<br>The DSID (Data Set IDentifier) of the volume containing the given file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-expiry-date>  =>   B<integer, optional>

=begin html

<br>Expiry date of the SnapLock volume in seconds in the standard UNIX format(since 01/01/1970 00:00:00).Range:[0..2^64-1]. This field is not included if <ul> <li> Volume is non-SnapLock volume, or <li> SnapLock volume has an infinite expiry date, or <li> SnapLock volume has an indefinite expiry date, or <li> SnapLock volume has no WORM files or WORM Snapshot copies, or <li> SnapLock volume has WORM scanner in progress </ul> The volume expiry date can be in wraparound format.The wraparound format indicates that dates after 01/19/2038 are mapped from 01/01/1970 - 12/31/2002 to 01/19/2038 - 01/19/2071. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-msid>  =>   B<integer, optional>

=begin html

<br>Volume's Mirror Set ID. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-name>  =>   B<volume-name, optional>

=begin html

<br>Specifies the name of the volume on which the file resides. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-snaplock-type>  =>   B<snaplocktype, optional>

=begin html

<br>The type of the SnapLock volume. This value is only given for SnapLock volumes. The possible values are : <ul> <li> compliance <li> enterprise </ul> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "non_snaplock" - Non SnapLock, <li> "compliance" - SnapLock Compliance, <li> "enterprise" - SnapLock Enterprise </ul>

=end html

=back



=over 2

=item * I<volume-type>  =>   B<string>

=begin html

<br>The type of volume. Possible values: "flexible" for flexible volumes, and "traditional" for traditional volumes.

=end html

=back



=over 2

=item * I<volume-uuid>  =>   B<string>

=begin html

<br>Universal unique identifier (UUID) for the volume.

=end html

=back



=over 2

=item * I<vserver-id>  =>   B<uuid, optional>

=begin html

<br>An Universal Unique IDentifier (UUID) for the vserver owning the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Specifies the name of the vserver which owns the volume on which the file resides. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 fingerprint-status-info

=begin html

Fingerprint Status Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<file>  =>   B<string, optional>

=begin html

<br>Full path of the file on which fingerprint is calculated. The value begins with /vol/<volumename>. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation-status>  =>   B<wormopstatus, optional>

=begin html

<br>Specifies the operation status of the fingerprint operation. The operation-status of the fingerpirnt operation can be one of the following: <ul> <li> In-progress <li> Completed <li> Failed <li> Aborting <li> Unknown </ul> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "in_progress" , <li> "failed" , <li> "aborting" , <li> "completed" </ul>

=end html

=back



=over 2

=item * I<progress-percentage>  =>   B<integer, optional>

=begin html

<br>Specifies the amount of progress that has been made on an ongoing fingerprint operation. If the operation-status of the fingerprint operation is 'Completed' then the progress-percentage is always 100 and if the operation-status of the fingerprint operation is 'Failed' then the progress-percentage is always 0. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>An unique identifier for the fingerprint operation. This session-id is returned when the fingerprint operation is started on a file. The session-id of the fingerprint operation can be used to get the progress of an ongoing fingerprint operation as well as the complete fingerprint output for the file once the operation is completed. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Specifies the name of the volume on which the file resides. If using this parameter, the following parameters should also be specified: <ul> <li> vserver-name : Name of the vserver to which this volume belongs. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Specifies the name of the vserver which owns the volume on which the file resides. If using this parameter, the following parameters should also be specified: <ul> <li> volume-name : Name of the volume on which the file resides </ul> Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fingerprintalgo

=begin html

MD5|SHA256 Possible values: <ul> <li> "md5" , <li> "sha256" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fingerprintscope

=begin html

data-and-metadata|data-only|metadata-only Possible values: <ul> <li> "data_and_metadata" , <li> "data_only" , <li> "metadata_only" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hole-range-info

=begin html

The hole start need not be an integral multiple of the block size. It will be rounded up to the start of the next block. The hole-size does not need to be the size of a block. It will be rounded down to the beginning of the block. It is possible that after the adjustments there is nothing to punch. That is ok and will be treated as success. Note that presently in WAFL small files are entirely within the inode. It is possible to "hole punch" those however nothing happens. The data is left alone. Considering the use case fot this ZAPI and the amount of effort to code the "correct" solution this is deemed an acceptable condition. If the file is vm-aligned then the range chosen to hole-punch could be rounded down by a block to ensure that we don't punch block containing valid user data.

=end html



B<Fields>

=over 2

=item * I<hole-size>  =>   B<integer>

=begin html

<br>Size of the hole in terms of bytes. If punching a hole WAFL presently limits this value to 4MB. Range : [0..2^63-1]

=end html

=back



=over 2

=item * I<hole-start>  =>   B<integer>

=begin html

<br>Starting offset of the hole. Range : [0..2^63-1]

=end html

=back



=head2 inode-info

=begin html

Inode Information. <p> When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<dsid>  =>   B<integer, optional>

=begin html

<br>The DSID (Data Set IDentifier) of the volume containing the given inode. Exactly one of volume or dsid must be specified in query. <p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-name>  =>   B<string, optional>

=begin html

<br>Name of the file associated with inode. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-path>  =>   B<string, optional>

=begin html

<br>Full path name of the file associated with the inode number. <p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inode-number>  =>   B<integer>

=begin html

<br>The inode number for which information is desired. <p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<parent-dir-index>  =>   B<integer, optional>

=begin html

<br>The index of the directory entry of the file in its parent directory. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<parent-inode-number>  =>   B<integer, optional>

=begin html

<br>Inode number of the parent directory of the file. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-id>  =>   B<integer, optional>

=begin html

<br>The snapshot number within the given volume in which the given inode is to be referenced. At most, one of snaphot-id or snapshot-name can be provided in query. If neither is provided, we reference the given inode within the active file system of the given volume. A value of 0 will refer to the active file system of the given volume. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<snapshot-name>  =>   B<string, optional>

=begin html

<br>The snapshot name within the given volume in which the given inode is to be referenced. At most, one of snapshot-id or snapshot-name can be provided in query. If neither is provided, we reference the given inode within the active file system of the given volume. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>The name of the volume containing the given inode. Exactly one of volume or dsid must be specified in query. <p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 sfod-scanner-status

=begin html

Preparing|Allocation-Map|Data|Destroying|Paused-Admin|Paused-Error|Complete|Destroyed Possible values: <ul> <li> "preparing" - Preparing, <li> "allocation_map" - Allocating, <li> "data" - Moving Data, <li> "destroying" - Destroying, <li> "paused_admin" - Paused by Admin, <li> "paused_error" - Paused by Error, <li> "complete" - Complete, <li> "destroyed" - Destroyed </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snaplocklicense

=begin html

available|not_available Possible values: <ul> <li> "available" , <li> "not_available" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 wormopstatus

=begin html

Unknown|In-Progress|Failed|Aborting|Completed Possible values: <ul> <li> "unknown" , <li> "in_progress" , <li> "failed" , <li> "aborting" , <li> "completed" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 access-control

=begin html

file-directory|slag Possible values: <ul> <li> "file_directory" , <li> "slag" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 access-rights

=begin html

no-access|full-control|modify|read-and-execute|read|write Possible values: <ul> <li> "no_access" , <li> "full_control" , <li> "modify" , <li> "read_and_execute" , <li> "read" , <li> "write" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 access-type

=begin html

deny|allow Possible values: <ul> <li> "deny" , <li> "allow" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 advanced-access-rights

=begin html

Advanced access right Possible values: <ul> <li> "read_data" , <li> "write_data" , <li> "append_data" , <li> "read_ea" , <li> "write_ea" , <li> "execute_file" , <li> "delete_child" , <li> "read_attr" , <li> "write_attr" , <li> "delete" , <li> "read_perm" , <li> "write_perm" , <li> "write_owner" , <li> "full_control" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 audit-access-type

=begin html

failure|success Possible values: <ul> <li> "failure" , <li> "success" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 file-directory-security-ntfs

=begin html

NTFS security descriptor management When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<control-flags-raw>  =>   B<integer, optional>

=begin html

<br>Specifies the security descriptor control flags in hexa decimal. The following are the bit fields of control flags. <br>1... .... .... .... = Self Relative <br>.0.. .... .... .... = RM Control Valid <br>..0. .... .... .... = SACL Protected <br>...0 .... .... .... = DACL Protected <br>.... 0... .... .... = SACL Inherited <br>.... .0.. .... .... = DACL Inherited <br>.... ..0. .... .... = SACL Inherit Required <br>.... ...0 .... .... = DACL Inherit Required <br>.... .... ..0. .... = SACL Defaulted <br>.... .... ...0 .... = SACL Present <br>.... .... .... 0... = DACL Defaulted <br>.... .... .... .1.. = DACL Present <br>.... .... .... ..0. = Group Defaulted <br>.... .... .... ...0 = Owner Defaulted <br> <br>At present only the following flags are honored. Others are ignored. <br>..0. .... .... .... = SACL Protected <br>...0 .... .... .... = DACL Protected <br>.... .... ..0. .... = SACL Defaulted <br>.... .... .... 0... = DACL Defaulted <br>.... .... .... ..0. = Group Defaulted <br>.... .... .... ...0 = Owner Defaulted Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<group>  =>   B<name-or-sid, optional>

=begin html

<br>Specifies group's SID or domain account name of NTFS security descriptor. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd, optional>

=begin html

<br>Specifies NTFS security descriptor identifier. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<owner>  =>   B<name-or-sid, optional>

=begin html

<br>Specifies owner's SID or domain account name of NTFS security descriptor. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 file-directory-security-ntfs-dacl

=begin html

fsecurity SACL configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<access-type>  =>   B<access-type, optional>

=begin html

<br>Specifies DACL ACE's access type. Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "deny" , <li> "allow" </ul>

=end html

=back



=over 2

=item * I<account>  =>   B<name-or-sid, optional>

=begin html

<br>Specifies DACL ACE's SID or domain account name of NTFS security descriptor. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<advanced-rights>  =>   B<advanced-access-rights[], optional>

=begin html

<br>Specifies DACL ACE's Advanced access rights. Mutually exclusive with rights and rights-raw fields. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "read_data" , <li> "write_data" , <li> "append_data" , <li> "read_ea" , <li> "write_ea" , <li> "execute_file" , <li> "delete_child" , <li> "read_attr" , <li> "write_attr" , <li> "delete" , <li> "read_perm" , <li> "write_perm" , <li> "write_owner" , <li> "full_control" </ul>

=end html

=back



=over 2

=item * I<apply-to>  =>   B<inheritance-level[], optional>

=begin html

<br>Specifies this ACE has to be applied on. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "this_folder" , <li> "sub_folders" , <li> "files" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd, optional>

=begin html

<br>Specifies NTFS security descriptor identifier. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<readable-access-rights>  =>   B<string, optional>

=begin html

<br>Specifies the current access rights. The access rights must be set to one among rights,advanced-rights,rights-raw. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rights>  =>   B<access-rights, optional>

=begin html

<br>Specifies DACL ACE's access rights. Mutually exclusive with advanced-rights and rights-raw fields. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "no_access" , <li> "full_control" , <li> "modify" , <li> "read_and_execute" , <li> "read" , <li> "write" </ul>

=end html

=back



=over 2

=item * I<rights-raw>  =>   B<integer, optional>

=begin html

<br>Specifies DACL ACE's access rights in raw. This field is similar to advanced-rights fields. 'advanced-rights' specifies the value in enum but rights-raw specifies the access rights in integer format. Mutually exclusive with rights and advanced-rights fields. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 file-directory-security-ntfs-sacl

=begin html

fsecurity SACL configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<account>  =>   B<name-or-sid, optional>

=begin html

<br>Specifies SACL ACE's SID or domain account name of NTFS security descriptor. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<advanced-rights>  =>   B<advanced-access-rights[], optional>

=begin html

<br>Specifies SACL ACE's access rights. Mutually exclusive with rights-raw field. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "read_data" , <li> "write_data" , <li> "append_data" , <li> "read_ea" , <li> "write_ea" , <li> "execute_file" , <li> "delete_child" , <li> "read_attr" , <li> "write_attr" , <li> "delete" , <li> "read_perm" , <li> "write_perm" , <li> "write_owner" , <li> "full_control" </ul>

=end html

=back



=over 2

=item * I<apply-to>  =>   B<inheritance-level[], optional>

=begin html

<br>Specifies how this ACE has to be applied on this folder and it's subfolders and files. This field is ignored if the security is mapped with a path which is not a folder. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "this_folder" , <li> "sub_folders" , <li> "files" </ul>

=end html

=back



=over 2

=item * I<audit-access-type>  =>   B<audit-access-type, optional>

=begin html

<br>Specifies SACL ACE's access type. Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "failure" , <li> "success" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd, optional>

=begin html

<br>Specifies NTFS security descriptor identifier. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<readable-access-rights>  =>   B<string, optional>

=begin html

<br>Specifies the current access rights. Access rights can be specified by one of the following fields, rights, advanced-rights and rights-raw. These fields are mutually exclusive fields. If rights field is set and other two fields (advanced-rights, rights-raw) cant be set and so readable-access-rights field has the value of rights field. If rights-raw field is set and other two fields (advanced-rights, rights) are not set then readable-access-rights field has the value of rights-raw field. If advanced-rights field is set and other two fields (rights, rights-raw) are not set then readable-access-rights field has the value of advanced-rights field. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rights>  =>   B<access-rights, optional>

=begin html

<br>Specifies SACL ACE's access rights. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "no_access" , <li> "full_control" , <li> "modify" , <li> "read_and_execute" , <li> "read" , <li> "write" </ul>

=end html

=back



=over 2

=item * I<rights-raw>  =>   B<integer, optional>

=begin html

<br>Specifies SACL ACE's access rights in raw. This field is similar to advanced-rights fields. 'advanced-rights' specifies the value in enum but rights-raw specifies the access rights in integer format. Mutually exclusive with rights and advanced-rights fields. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 file-directory-security-policy

=begin html

File/folder security policy management When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<policy-name>  =>   B<file-security-policy-name, optional>

=begin html

<br>Specifies the name of the policy. To preserve the security configuration of a file(or, folder) or set of files(or, folders) security policy has been defined. Policy is a container for tasks and a task associates a file/folder path name and the security descriptor that needs to be set on the file/folder. Every task in a policy is uniquely identified by the file/folder path. Policy can't have duplicate task entries and there is only one task per path. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 file-directory-security-policy-task

=begin html

File security policy task management When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<access-control>  =>   B<access-control, optional>

=begin html

<br>Access Control Level Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "file_directory" , <li> "slag" </ul>

=end html

=back



=over 2

=item * I<ntfs-mode>  =>   B<ntfs-propagation-mode, optional>

=begin html

<br>NTFS Propagation Mode Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "propagate" , <li> "ignore" , <li> "replace" </ul>

=end html

=back



=over 2

=item * I<ntfs-sd>  =>   B<file-security-ntfs-sd[], optional>

=begin html

<br>NTFS Security Descriptor Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<file-security-policy-name, optional>

=begin html

<br>Policy Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-type>  =>   B<security-type, optional>

=begin html

<br>Security Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ntfs" , <li> "nfsv4" </ul>

=end html

=back



=over 2

=item * I<task-index-number>  =>   B<integer, optional>

=begin html

<br>Position Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 file-security-ntfs-sd

=begin html

NTFS file security descriptor identifier. This can be any valid text input.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 file-security-policy-name

=begin html

The file/folder security policy identifier. This can be any valid text.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fsecurity-acl

=begin html

Security access control list.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 inheritance-level

=begin html

this-folder|sub-folders|files Possible values: <ul> <li> "this_folder" , <li> "sub_folders" , <li> "files" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 name-or-sid

=begin html

An user or group name that is specified in the form of valid username/groupname with domain or valid SID string

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ntfs-propagation-mode

=begin html

propagate|ignore|replace Possible values: <ul> <li> "propagate" , <li> "ignore" , <li> "replace" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 security-style-enum

=begin html

security style Possible values: <ul> <li> "unix" - NFS, <li> "ntfs" - CIFS, <li> "mixed" - Mixed, <li> "unified" - Unified </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 security-type

=begin html

ntfs|nfsv4 Possible values: <ul> <li> "ntfs" , <li> "nfsv4" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 audit-events

=begin html

file-ops|cifs-logon-logoff|cap-staging|file-share|audit-policy-change|user-account|authorization-policy-change|security-group Possible values: <ul> <li> "file_ops" - File Operation Events, <li> "cifs_logon_logoff" - CIFS Logon and Logoff Events, <li> "cap_staging" - Central Access Policy Staging Events, <li> "file_share" - File Share Category Events, <li> "audit_policy_change" - Audit Policy Change Events, <li> "user_account" - Local User Account Management Events, <li> "authorization_policy_change" - Authorization Policy Change Events, <li> "security_group" - Local Security Group Management Events </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 audit-format

=begin html

xml|evtx Possible values: <ul> <li> "xml" - Data ONTAP-Specific XML Log Format, <li> "evtx" - Microsoft Windows EVTX Log Format </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fileservice-audit-config

=begin html

Vserver Audit configuration and management on name When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<audit-guarantee>  =>   B<boolean, optional>

=begin html

<br>Strict guarantee of auditing for a Vserver. If this is true, file access is denied if audit record can not be generated and if this is false, auditing is done on a best effort basis. Default: true Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<destination>  =>   B<string, optional>

=begin html

<br>Audit log destination path. The path where consolidated audit logs are stored. If the path is not valid, the api returns error Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<events>  =>   B<audit-events[], optional>

=begin html

<br>The Categories of events that will be audited. Default: file_ops,cifs_logon_logoff,audit-policy-change Attributes: optional-for-create, modifiable Possible values: <ul> <li> "file_ops" - File Operation Events, <li> "cifs_logon_logoff" - CIFS Logon and Logoff Events, <li> "cap_staging" - Central Access Policy Staging Events, <li> "file_share" - File Share Category Events, <li> "audit_policy_change" - Audit Policy Change Events, <li> "user_account" - Local User Account Management Events, <li> "authorization_policy_change" - Authorization Policy Change Events, <li> "security_group" - Local Security Group Management Events </ul>

=end html

=back



=over 2

=item * I<format>  =>   B<audit-format, optional>

=begin html

<br>The format in which the logs would be generated by consolidation process. Default: evtx Attributes: optional-for-create, modifiable Possible values: <ul> <li> "xml" - Data ONTAP-Specific XML Log Format, <li> "evtx" - Microsoft Windows EVTX Log Format </ul>

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Auditing State. Default: false Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rotate-limit>  =>   B<integer, optional>

=begin html

<br>Audit log files rotation Limit. A value of 0 indicates that all the files will be retained. Default: 0 Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rotate-schedule-day>  =>   B<cron-day-of-month[], optional>

=begin html

<br>Audit log rotation schedule: Day. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rotate-schedule-dayofweek>  =>   B<cron-day-of-week[], optional>

=begin html

<br>Audit log rotation schedule: Day of Week. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rotate-schedule-hour>  =>   B<cron-hour[], optional>

=begin html

<br>Audit log rotation schedule: Hour. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rotate-schedule-minute>  =>   B<cron-minute[], optional>

=begin html

<br>Audit Log rotation schedule: Minute. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rotate-schedule-month>  =>   B<cron-month[], optional>

=begin html

<br>Audit log rotation schedule: Month. By Default rotation is done based on size. This field is mutually exclusive with rotate-size. Do not use this field along with rotate-size field Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rotate-size>  =>   B<psize, optional>

=begin html

<br>Audit log file size limit. By default rotation is done based on size. This field is mutually exclusive with time related rotate fields. If time based rotation is needed use the time based rotation fields(rotate-schedule-month, rotate-schedule-dayofweek, rotate-schedule-day... etc). Default: 100MB Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rotation-schedule-description>  =>   B<string, optional>

=begin html

<br>Rotation schedules derived from rotation time related parameters Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 psize

=begin html

size in bytes Range : [1..2^63-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 flash-threshold

=begin html

A definition for a threshold element. Each threshold specifies what level of errors or failures the specified domain can sustain before the specified action is taken.

=end html



B<Fields>

=over 2

=item * I<action>  =>   B<string>

=begin html

<br>Action to be taken if this threshold is exceeded. Possible values: "log an EMS event", "log an EMS_event, and disable the 'domain'", "log an EMS event, and send an AutoSupport message", "log an EMS event, send an AutoSupport message, and disable the 'domain'"

=end html

=back



=over 2

=item * I<domain>  =>   B<string>

=begin html

<br>The type of domain. Possible values: "card", "bank", "chip" (in Data ONTAP 7.3.x to 8.1) or "lun" (from Data ONTAP 8.2 onwards).

=end html

=back



=over 2

=item * I<threshold-units>  =>   B<string>

=begin html

<br>The metric for threshold. Possible values: "count", or "percentage".

=end html

=back



=over 2

=item * I<threshold-value>  =>   B<integer>

=begin html

<br>Threshold value in 'threshold-units'.

=end html

=back



=over 2

=item * I<time-slice>  =>   B<string>

=begin html

<br>The time slice. Available if the 'threshold-unit' is "count". If not, output will say 'none'. Possible values: "none", "seconds", "minutes", or "hours".

=end html

=back



=head2 flash-threshold-profile

=begin html

A definition for a threshold element

=end html



B<Fields>

=over 2

=item * I<flash-threshold>  =>   B<L<"flash-threshold">[]>

=begin html

<br>The list of threshold entries for this profile.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The name of the system to which the flash thresholds apply.

=end html

=back



=over 2

=item * I<profile>  =>   B<string>

=begin html

<br>The name of the profile in plain text.

=end html

=back



=head2 fc-dev-status

=begin html

ok|erasing|erased|failed|removed|online|offline_failed|degraded|offline_threshold Possible values: <ul> <li> "ok" , <li> "erasing" , <li> "erased" , <li> "failed" , <li> "removed" , <li> "online" , <li> "offline_failed" , <li> "degraded" , <li> "offline_threshold" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 flash-device-info

=begin html

Information about Flash Cache devices When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<average-erase-cycle-count>  =>   B<integer, optional>

=begin html

<br>Avg Erase Cycle Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<capacity>  =>   B<integer, optional>

=begin html

<br>Capacity Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<firmware-revision>  =>   B<string, optional>

=begin html

<br>Firmware Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hardware-revision>  =>   B<string, optional>

=begin html

<br>Hardware Revision Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-change-time>  =>   B<integer, optional>

=begin html

<br>Time Last State Change Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<model-name>  =>   B<string, optional>

=begin html

<br>Model Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<part-number>  =>   B<string, optional>

=begin html

<br>Part Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percent-online>  =>   B<integer, optional>

=begin html

<br>Percent Online Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<service-time>  =>   B<integer, optional>

=begin html

<br>Service Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<slot-number>  =>   B<integer, optional>

=begin html

<br>Slot Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<slot-string>  =>   B<string, optional>

=begin html

<br>Slot String Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<fc-dev-status, optional>

=begin html

<br>Device State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" , <li> "erasing" , <li> "erased" , <li> "failed" , <li> "removed" , <li> "online" , <li> "offline_failed" , <li> "degraded" , <li> "offline_threshold" </ul>

=end html

=back



=over 2

=item * I<subslot-number>  =>   B<integer, optional>

=begin html

<br>Subslot Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<threshold-profile>  =>   B<string, optional>

=begin html

<br>Threshold Profile Attributes: non-creatable, non-modifiable

=end html

=back



=head2 flexcache-cache-policy-info

=begin html

FlexCache Cache Policy When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cache-policy-name>  =>   B<string, optional>

=begin html

<br>The name of the FlexCache Cache Policy being created, modified or deleted. The maximum length is 255 characters. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<deleg-lru-timeout>  =>   B<integer, optional>

=begin html

<br>The Timeout for the Delegations LRU represents the time in seconds since the last use of the delegation, after which a Cache considers it unused and returns it to Origin. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<prefer-local-cache>  =>   B<boolean, optional>

=begin html

<br>If set to true, data is served from the local cache, otherwise from the local origin. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<time-to-live-directories>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for Directories represents the time, in seconds, that attributes and data of a Directory are served from the Cache volume before they are verified with the Origin volume. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<time-to-live-files>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for files represents the time, in seconds, that attributes and data of a file are served from the Cache volume before they are verified with the Origin volume. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<time-to-live-metafiles>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for ONTAP Metafiles represents the time, in seconds, that attributes and data of an ONTAP Metafile are served from the Cache volume before they are verified with the Origin volume. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<time-to-live-other>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for any file that doesn't fall into the other TTL categories represents the time, in seconds, that attributes and data of that file are served from the Cache volume before they are verified with the Origin volume. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<time-to-live-symbolic>  =>   B<integer, optional>

=begin html

<br>The Time To Live (TTL) for Symbolic Links represents the time, in seconds, that attributes and data of a Symbolic Link are served from the Cache volume before they are verified with the Origin volume. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The name of the managing Vserver. Maximum length is 255 characters. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 flexcache-info

=begin html

FlexCache Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cache-aggregate>  =>   B<string, optional>

=begin html

<br>Cache Aggregate Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cache-available>  =>   B<integer, optional>

=begin html

<br>Cache Available Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cache-percent-used>  =>   B<integer, optional>

=begin html

<br>Cache Used Percentage Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cache-size>  =>   B<integer, optional>

=begin html

<br>Cache Volume Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cache-state>  =>   B<string, optional>

=begin html

<br>Cache Volume State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "online" , <li> "restricted" , <li> "offline" , <li> "force_online" , <li> "force_offline" , <li> "mixed" </ul>

=end html

=back



=over 2

=item * I<cache-volume>  =>   B<string, optional>

=begin html

<br>Cache Volume Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<connection-status>  =>   B<string, optional>

=begin html

<br>The status of the connection between the cache and the origin volumes. <p> It can be 'connected', 'disconnected' or 'connecting'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<origin-aggregate>  =>   B<string, optional>

=begin html

<br>Origin Aggregate Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<origin-state>  =>   B<string, optional>

=begin html

<br>Origin Volume State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "online" , <li> "restricted" , <li> "offline" , <li> "force_online" , <li> "force_offline" , <li> "mixed" </ul>

=end html

=back



=over 2

=item * I<origin-volume>  =>   B<string, optional>

=begin html

<br>Origin volume name that contains the authoritative data. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The name of the Vserver where the created cache is located. Maximum length is 255 characters. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 flexcache-options-info

=begin html

FlexCache Options When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<delegations-high-watermark>  =>   B<integer, optional>

=begin html

<br>This is the maximum number of delegations that can be given out per node in the cluster. When this limit is reached, no further delegations can be given out to Cache clients. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<delegations-low-watermark>  =>   B<integer, optional>

=begin html

<br>This is the number of delegations per node, at which the node resumes giving out delegations to Cache clients. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<per-cache-statistics>  =>   B<boolean, optional>

=begin html

<br>Keep statistics per cache volume basis Attributes: non-creatable, modifiable

=end html

=back



=head2 common-name

=begin html

Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS).

=end html



B<Fields>

=over 2

=item * None

=back



=head2 engine-name

=begin html

Engine name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 event-name

=begin html

Event name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 external-engine-type

=begin html

External Engine Type Possible values: <ul> <li> "synchronous" - Synchronous External Engine, <li> "asynchronous" - Asynchronous External Engine </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fpolicy-event-options-config

=begin html

Vserver FPolicy Event configuration and management on name When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<event-name>  =>   B<event-name, optional>

=begin html

<br>Name of the Event. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<file-operations>  =>   B<fpolicy-operation[], optional>

=begin html

<br>Name of file operations. By default no operations are monitored. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "close" - File close operation, <li> "create" - File create operation, <li> "create_dir" - File create directory operation, <li> "delete" - File delete operation, <li> "delete_dir" - Directory delete operation, <li> "getattr" - Get attribute operation, <li> "link" - Link operation, <li> "lookup" - Lookup operation, <li> "open" - File open operation, <li> "read" - File read operation, <li> "write" - File write operation, <li> "rename" - File rename operation, <li> "rename_dir" - Directory rename operation, <li> "setattr" - Set attribute operation, <li> "symlink" - Symbolic link operation </ul>

=end html

=back



=over 2

=item * I<filter-string>  =>   B<fpolicy-filter[], optional>

=begin html

<br>Name of filters. It is notification filtering parameters. By default no filters are selected. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "monitor_ads" - Monitor alternate data stream, <li> "close_with_modification" - Filter close with modification, <li> "close_without_modification" - Filter close without modification, <li> "first_read" - Filter first read, <li> "first_write" - Filter first write, <li> "offline_bit" - Filter offline bit set, <li> "open_with_delete_intent" - Filter open with delete intent, <li> "open_with_write_intent" - Filter open with write intent, <li> "write_with_size_change" - Filter write with size change, <li> "close_with_read" - Filter close with read, <li> "setattr_with_owner_change" - Filter file owner change, <li> "setattr_with_group_change" - Filter file group change, <li> "setattr_with_sacl_change" - Filter file sacl change, <li> "setattr_with_dacl_change" - Filter file dacl change, <li> "setattr_with_modify_time_change" - Filter file modify time change, <li> "setattr_with_access_time_change" - Filter file access time change, <li> "setattr_with_creation_time_change" - Filter file creation time change, <li> "setattr_with_mode_change" - Filter file mode change, <li> "setattr_with_size_change" - Filter file size change, <li> "setattr_with_allocation_size_change" - Filter allocation size change, <li> "exclude_directory" - Filter to exclude directory operations </ul>

=end html

=back



=over 2

=item * I<protocol>  =>   B<fpolicy-proto, optional>

=begin html

<br>Name of protocol for which event is created. By default no protocol is selected. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "cifs" - CIFS protocol, <li> "nfsv3" - NFSv3 protocol, <li> "nfsv4" - NFSv4 protocol </ul>

=end html

=back



=over 2

=item * I<volume-operation>  =>   B<boolean, optional>

=begin html

<br>Indicator if the volume operation required for the event.Default Value is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fpolicy-external-engine-info

=begin html

External engine configuration and management. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<certificate-ca>  =>   B<string, optional>

=begin html

<br>Certificate authority name. No default value is set for this field. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<certificate-common-name>  =>   B<common-name, optional>

=begin html

<br>FQDN or custom common name of certificate. No default value is set for this field. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<certificate-serial>  =>   B<string, optional>

=begin html

<br>Serial number of certificate. No default value is set for this field. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<engine-name>  =>   B<engine-name, optional>

=begin html

<br>Name of the external engine. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<extern-engine-type>  =>   B<external-engine-type, optional>

=begin html

<br>External engine type. If the engine is asynchronous, no reply is sent from FPolicy servers. Default value set for this field is synchronous. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "synchronous" - Synchronous External Engine, <li> "asynchronous" - Asynchronous External Engine </ul>

=end html

=back



=over 2

=item * I<is-resiliency-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates if the resiliency with this engine is required. If set to true, the notifications will be stored in a path as resiliency-directory-path for the duration specified in max-retention-duration if all the servers are disconnected. If it is false, the notifications will not be stored. Default value is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<keep-alive-interval>  =>   B<integer, optional>

=begin html

<br>Interval time in seconds for storage appliance to send keep-alive message to FPolicy server. Default value set for this field is 10 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-connection-retries>  =>   B<integer, optional>

=begin html

<br>Number of times storage appliance will attempt to establish a broken connection to FPolicy server. Default value set for this field is 5. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-server-requests>  =>   B<integer, optional>

=begin html

<br>Maximum number of outstanding screen requests that will be queued for an FPolicy Server. Default value set for this field is 50. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<port-number>  =>   B<integer, optional>

=begin html

<br>Port number of the FPolicy server application. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<primary-servers>  =>   B<ip-address[], optional>

=begin html

<br>Primary FPolicy servers. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<recv-buffer-size>  =>   B<integer, optional>

=begin html

<br>Receive buffer size of connected socket for FPolicy Server. Default value set for this field is 256 kilobytes (256Kb). Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<request-abort-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds for a screen request to be aborted by storage appliance. Default value set for this field is 40 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<request-cancel-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds for a screen request to be processed by an FPolicy server. Default value set for this field is 20 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<resiliency-directory-path>  =>   B<string, optional>

=begin html

<br>Directory path under Vserver for storing file access notifications. File access notifications will be stored in a generated file during the outage time. The path is the full, user visible path relative to the Vserver root, and it might be crossing junction mount points. Example: '/path1' where '/' is the root of the Vserver and 'path1' is the directory where to store notifications. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<resiliency-max-retention-duration>  =>   B<time-interval, optional>

=begin html

<br>Maximum retention duration for which the notifications will be stored. After this time window further notifications will not be stored. Default value set for this field is 180 seconds. Maximum retention duration can be 600 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<secondary-servers>  =>   B<ip-address[], optional>

=begin html

<br>Secondary FPolicy servers. No default value is set for this field. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<send-buffer-size>  =>   B<integer, optional>

=begin html

<br>Send buffer size of connected socket for FPolicy Server. Default value set for this field is 256 kilobytes (256Kb). Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<server-progress-timeout>  =>   B<integer, optional>

=begin html

<br>Timeout in seconds in which a throttled FPolicy server must complete at least one screen request. If no request is processed within the timeout, connection to FPolicy server is terminated. Default value set for this field is 60 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<session-timeout>  =>   B<time-interval, optional>

=begin html

<br>Session Id purge timeout during FPolicy server reconnection. Default value set for this field is 10 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ssl-option>  =>   B<fpolicy-ssl-opts, optional>

=begin html

<br>SSL option for external communication. No default value is set for this field. Attributes: required-for-create, modifiable Possible values: <ul> <li> "no_auth" - Communication over TCP, <li> "server_auth" - Authentication of FPolicy server only, <li> "mutual_auth" - Mutual authentication of storage system and FPolicy server </ul>

=end html

=back



=over 2

=item * I<status-request-interval>  =>   B<integer, optional>

=begin html

<br>Interval time in seconds for storage appliance to query status request from FPolicy server. Default value set for this field is 10 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fpolicy-filter

=begin html

Filter Possible values: <ul> <li> "monitor_ads" - Monitor alternate data stream, <li> "close_with_modification" - Filter close with modification, <li> "close_without_modification" - Filter close without modification, <li> "first_read" - Filter first read, <li> "first_write" - Filter first write, <li> "offline_bit" - Filter offline bit set, <li> "open_with_delete_intent" - Filter open with delete intent, <li> "open_with_write_intent" - Filter open with write intent, <li> "write_with_size_change" - Filter write with size change, <li> "close_with_read" - Filter close with read, <li> "setattr_with_owner_change" - Filter file owner change, <li> "setattr_with_group_change" - Filter file group change, <li> "setattr_with_sacl_change" - Filter file sacl change, <li> "setattr_with_dacl_change" - Filter file dacl change, <li> "setattr_with_modify_time_change" - Filter file modify time change, <li> "setattr_with_access_time_change" - Filter file access time change, <li> "setattr_with_creation_time_change" - Filter file creation time change, <li> "setattr_with_mode_change" - Filter file mode change, <li> "setattr_with_size_change" - Filter file size change, <li> "setattr_with_allocation_size_change" - Filter allocation size change, <li> "exclude_directory" - Filter to exclude directory operations </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fpolicy-operation

=begin html

File Operation Possible values: <ul> <li> "close" - File close operation, <li> "create" - File create operation, <li> "create_dir" - File create directory operation, <li> "delete" - File delete operation, <li> "delete_dir" - Directory delete operation, <li> "getattr" - Get attribute operation, <li> "link" - Link operation, <li> "lookup" - Lookup operation, <li> "open" - File open operation, <li> "read" - File read operation, <li> "write" - File write operation, <li> "rename" - File rename operation, <li> "rename_dir" - Directory rename operation, <li> "setattr" - Set attribute operation, <li> "symlink" - Symbolic link operation </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fpolicy-passthrough-read-connection-info

=begin html

FPolicy passthrough-read connection status. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<connected-since>  =>   B<datetime, optional>

=begin html

<br>Date and time since passthrough-read channel is connected. This will be returned only if the server-status is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<control-session-id>  =>   B<string, optional>

=begin html

<br>Session ID of the control channel established with FPolicy server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disconnect-reason>  =>   B<fpolicy-passthru-disconnect-reason, optional>

=begin html

<br>Reason for passthrough-read channel disconnection. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - Not applicable, <li> "control_conn_closed" - Control connection to the FPOlicy server is closed, <li> "pipe_client_close" - Connection closed by pipe client (FPolicy server), <li> "pipe_server_close" - Connection closed by pipe server (ONTAP) due to idle session, interface down etc., <li> "no_control_packet" - No control packet seen on this connection, <li> "control_conn_vserver_ip_changed" - Control connection is established using different vserver ip, <li> "fpolicy_process_restart" - FPolicy process has restarted </ul>

=end html

=back



=over 2

=item * I<disconnected-since>  =>   B<datetime, optional>

=begin html

<br>Date and time since passthrough-read channel is disconnected. This will be returned only if the server-status is disconnected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fpolicy-server>  =>   B<ip-address, optional>

=begin html

<br>IP Address of the FPolicy server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Cluster node to which this connection is applicable. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name, optional>

=begin html

<br>Policy name of the policy for which passthrough-read connection is opened. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server-status>  =>   B<fpolicy-passthru-conn-status, optional>

=begin html

<br>Status of the passthrough-read connection. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "connected" - Passthrough read channel connected, <li> "disconnected" - Passtthrough read channel disconnected </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fpolicy-passthru-conn-status

=begin html

Status of fpolicy passthrough-read connection Possible values: <ul> <li> "connected" - Passthrough read channel connected, <li> "disconnected" - Passtthrough read channel disconnected </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fpolicy-passthru-disconnect-reason

=begin html

Reason for fpolicy passthrough-read disconnection Possible values: <ul> <li> "none" - Not applicable, <li> "control_conn_closed" - Control connection to the FPOlicy server is closed, <li> "pipe_client_close" - Connection closed by pipe client (FPolicy server), <li> "pipe_server_close" - Connection closed by pipe server (ONTAP) due to idle session, interface down etc., <li> "no_control_packet" - No control packet seen on this connection, <li> "control_conn_vserver_ip_changed" - Control connection is established using different vserver ip, <li> "fpolicy_process_restart" - FPolicy process has restarted </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fpolicy-policy-info

=begin html

FPolicy policy information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<allow-privileged-access>  =>   B<boolean, optional>

=begin html

<br>Indicator if privileged access should be given to FPolicy servers registered for the policy. Default Value is no. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<engine-name>  =>   B<engine-name, optional>

=begin html

<br>Name of the Engine. Default Engine is 'native'. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<events>  =>   B<event-name[], optional>

=begin html

<br>Events for file access monitoring. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<is-mandatory>  =>   B<boolean, optional>

=begin html

<br>Indicator if the screening with this policy is required, i.e. it will fail if no servers are able process the notification registered as a part of external engine. If set to true, the request will fail if there is no server to evaluate it. If it's false, the request will succeed. Default value is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-passthrough-read-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicator if passthrough-read should be allowed to FPolicy servers registered for the policy. Default value is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name, optional>

=begin html

<br>Name of the policy. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<privileged-user-name>  =>   B<string, optional>

=begin html

<br>User name for privileged access. No default value is set for this attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fpolicy-policy-status-info

=begin html

FPolicy Policy status information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<policy-name>  =>   B<policy-name, optional>

=begin html

<br>Name of the policy. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sequence-number>  =>   B<integer, optional>

=begin html

<br>Sequence number(or priority) of the policy. 1 being highest and 10 being smallest. Default value is 1. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<boolean, optional>

=begin html

<br>Status of the policy. When on, policy is active. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fpolicy-proto

=begin html

Protocol Possible values: <ul> <li> "cifs" - CIFS protocol, <li> "nfsv3" - NFSv3 protocol, <li> "nfsv4" - NFSv4 protocol </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fpolicy-scope-config

=begin html

Vserver FPolicy Scope configuration and management on name When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<check-extensions-on-directories>  =>   B<boolean, optional>

=begin html

<br>Indicates whether directory names are also subjected to extensions check, similar to file names. By default, the value is true if policy is configured with Native engine, false otherwise. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<export-policies-to-exclude>  =>   B<string[], optional>

=begin html

<br>Export Policies to exclude for file access monitoring. By default no export policy is selected. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<export-policies-to-include>  =>   B<string[], optional>

=begin html

<br>Export policies to include for file access monitoring. By default no export policy is selected. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-extensions-to-exclude>  =>   B<string[], optional>

=begin html

<br>File extensions excluded for screening. By default no file extension is selected. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-extensions-to-include>  =>   B<string[], optional>

=begin html

<br>File extensions included for screening. By default no file extension is selected. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-monitoring-of-objects-with-no-extension-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates whether monitoring of Objects with no extension is required. By default, the value is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name, optional>

=begin html

<br>Name of the policy. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<shares-to-exclude>  =>   B<string[], optional>

=begin html

<br>Shares to exclude for file access monitoring. By default no share is selected. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<shares-to-include>  =>   B<string[], optional>

=begin html

<br>Shares to include for file access monitoring. By default no share is selected. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<volumes-to-exclude>  =>   B<string[], optional>

=begin html

<br>Volumes that are inactive for the file policy. The list can include items which are regular expressions, such as 'vol*' or 'user?'. Note that if a policy has both an exclude list and an include list, the include list is ignored by the filer when processing user requests. By default no volume is selected. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<volumes-to-include>  =>   B<string[], optional>

=begin html

<br>Volumes that are active for the file policy. The list can include items which are regular expressions, such as 'vol*' or 'user?'. By default no volume is selected. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fpolicy-server-status

=begin html

Status Possible values: <ul> <li> "connected" - Server Connected, <li> "disconnected" - Server Disconnected, <li> "connecting" - Connecting Server, <li> "disconnecting" - Disconnecting Server </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fpolicy-server-status-info

=begin html

External engine configuration and management. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<connected-since>  =>   B<datetime, optional>

=begin html

<br>Date and time since FPolicy server is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disconnect-reason>  =>   B<string, optional>

=begin html

<br>Reason for FPolicy server disconnection. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disconnected-since>  =>   B<datetime, optional>

=begin html

<br>Date and time since FPolicy server is disconnected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fpolicy-server>  =>   B<ip-address, optional>

=begin html

<br>FPolicy server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Cluster node name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name, optional>

=begin html

<br>Name of the policy. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server-status>  =>   B<fpolicy-server-status, optional>

=begin html

<br>Status of the connection. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "connected" - Server Connected, <li> "disconnected" - Server Disconnected, <li> "connecting" - Connecting Server, <li> "disconnecting" - Disconnecting Server </ul>

=end html

=back



=over 2

=item * I<server-type>  =>   B<fpolicy-server-type, optional>

=begin html

<br>FPolicy server type. FPolicy server can be registered as primary or secondary server. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "primary" - Primary Server, <li> "secondary" - Secondary Server </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 fpolicy-server-type

=begin html

Server Type Possible values: <ul> <li> "primary" - Primary Server, <li> "secondary" - Secondary Server </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fpolicy-ssl-opts

=begin html

no-auth|server-auth|mutual-auth Possible values: <ul> <li> "no_auth" - Communication over TCP, <li> "server_auth" - Authentication of FPolicy server only, <li> "mutual_auth" - Mutual authentication of storage system and FPolicy server </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 policy-name

=begin html

Policy name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 gpo-applied-info

=begin html

GPO information that is currently applied on a CIFS-enabled Vserver. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<adv-audit-cap-staging>  =>   B<gpo-evt-audit, optional>

=begin html

<br>This policy setting allows you to audit access requests where the permission granted or denied by a proposed policy differs from the current central access policy on an object. If you configure this policy setting, an audit event is generated each time a user accesses an object and the permission granted by the current central access policy on the object differs from that granted by the proposed policy. The resulting audit event will be generated as follows: 1) Success audits, when configured, records access attempts when the current central access policy grants access but the proposed policy denies access. 2) Failure audits when configured records access attempts when: a) The current central access policy does not grant access but the proposed policy grants access. b) A principal requests the maximum access rights they are allowed and the access rights granted by the current central access policy are different than the access rights granted by the proposed policy. Volume: Potentially high on a file server when the proposed policy differs significantly from the current central access policy. Default: No Auditing Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "success" - Success, <li> "failure" - Failure, <li> "both" - Success and Failure </ul>

=end html

=back



=over 2

=item * I<cap-list>  =>   B<string[], optional>

=begin html

<br>List of Central Access Policies. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dspath>  =>   B<string, optional>

=begin html

<br>LDAP DN path. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<extension>  =>   B<string[], optional>

=begin html

<br>List of the GPO extensions. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "registry" - Registry, <li> "diskquota" - Disk Quota, <li> "scripts" - Scripts, <li> "security" - Security, <li> "efsrecovery" - EFS Recovery, <li> "ipsecurity" - IP Security, <li> "unsupported" - Unsupported, <li> "cap" - CAP CSE, <li> "audit" - Audit </ul>

=end html

=back



=over 2

=item * I<filesyspath>  =>   B<string, optional>

=begin html

<br>File System Path of a GPO policy file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gpo-index>  =>   B<integer, optional>

=begin html

<br>The index of the GPO in the GPO list of a Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gpo-name>  =>   B<string, optional>

=begin html

<br>GPO name in text format. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gpo-status>  =>   B<string, optional>

=begin html

<br>GPO status for each listed GPO: enabled or disabled. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gpo-uuid>  =>   B<string, optional>

=begin html

<br>GPO name in UUID format. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link>  =>   B<string, optional>

=begin html

<br>Type of the GPO. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" - Local, <li> "site" - Site, <li> "domain" - Domain, <li> "organizationalunit" - Organizational Unit, <li> "rsop" - Resultant set of policy </ul>

=end html

=back



=over 2

=item * I<registry-hash-publication>  =>   B<hash-publication-mode, optional>

=begin html

<br>Hash Publication for BranchCache. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "per_share" - Allow hash publication only for shared folders on which BranchCache is enabled., <li> "disabled" - Disallow hash publication on all shared folders., <li> "all_shares" - Allow hash publication for all shared folder. </ul>

=end html

=back



=over 2

=item * I<registry-hash-publication-mode>  =>   B<hash-publication-mode, optional>

=begin html

<br>Hash Publication Mode for BranchCache. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "per_share" - Allow hash publication only for shared folders on which BranchCache is enabled., <li> "disabled" - Disallow hash publication on all shared folders., <li> "all_shares" - Allow hash publication for all shared folder. </ul>

=end html

=back



=over 2

=item * I<registry-hash-version>  =>   B<hash-version, optional>

=begin html

<br>Hash Version Support for BranchCache. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "version1" - Version 1 (V1)., <li> "version2" - Version 2 (V2)., <li> "all_versions" - Version 1 and 2 (V1 and V2). </ul>

=end html

=back



=over 2

=item * I<registry-refresh-interval>  =>   B<integer, optional>

=begin html

<br>Registry refreshint time interval. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<registry-refresh-random-offset>  =>   B<integer, optional>

=begin html

<br>Registry refreshing time random offset. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-audit-log-ret-method>  =>   B<log-retention-method, optional>

=begin html

<br>Security log retention method. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "overwrite_as_needed" - Overwrite as needed, <li> "overwrite_by_days" - Overwrite by days, <li> "do_not_overwrite" - Do not overwrite </ul>

=end html

=back



=over 2

=item * I<security-audit-logon-events>  =>   B<gpo-evt-audit, optional>

=begin html

<br>Log-on events to be audited. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "success" - Success, <li> "failure" - Failure, <li> "both" - Success and Failure </ul>

=end html

=back



=over 2

=item * I<security-audit-max-log-size>  =>   B<integer, optional>

=begin html

<br>Maximum size of security log. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-audit-object-access>  =>   B<gpo-evt-audit, optional>

=begin html

<br>Object access to be audited. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "success" - Success, <li> "failure" - Failure, <li> "both" - Success and Failure </ul>

=end html

=back



=over 2

=item * I<security-file-security>  =>   B<gpo-file-security-path[], optional>

=begin html

<br>List of files or directories for which file security is applied. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-kerberos-clock-skew>  =>   B<integer, optional>

=begin html

<br>Kerberos maximum clock skew; Maximum tolerance for computer clock synchronization. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-kerberos-renewal-age>  =>   B<integer, optional>

=begin html

<br>Kerberos maximum lifetime for user ticket renewal. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-kerberos-ticket-age>  =>   B<integer, optional>

=begin html

<br>Kerberos maximum lifetime for user ticket. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-privilege-rights-change-notify>  =>   B<gpo-user-group[], optional>

=begin html

<br>List of users and/or groups which can traverse directory trees even though the users and/or groups may not have permissions on the traversed directory. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-privilege-rights-security>  =>   B<gpo-user-group[], optional>

=begin html

<br>List of users and/or groups that can specify object access auditing options for individual resources, such as files, Active Directory objects. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-privilege-rights-take-ownership>  =>   B<gpo-user-group[], optional>

=begin html

<br>List of users and/or groups that have the right to take ownership of any securable object in the system. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-privilege-take-ownership>  =>   B<string, optional>

=begin html

<br>Privilege rights: Take Ownership. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-registry-signing-required>  =>   B<boolean, optional>

=begin html

<br>SMB Signing Required Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-restrict-anon-combined-restriction-for-anonymous-user>  =>   B<anonymous-restriction-level, optional>

=begin html

<br>Combined restriction for Anonymous User. This setting is derived from security-restrict-anon-noenum-for-sam, security-restrict-anon-noenum-for-samshare and security-restrict-anon-no-access. If no-access is set then this setting is set to no-access. If no-enumeration is set and no-access is not set then this setting is set to no-enumeration. If both no-enumeration and no-access are not set then this setting is set to no-restriction. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "no_restriction" - No Access Restriction for Anonymous User., <li> "no_enumeration" - Only Enumeration Is Restricted., <li> "no_access" - Access Restricted for Anonymous User. </ul>

=end html

=back



=over 2

=item * I<security-restrict-anon-no-access>  =>   B<boolean, optional>

=begin html

<br>Restrict anonymous access to named pipes and shares. This setting is mapped to no-access value of restrict-anonymous CIFS option in Data ONTAP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-restrict-anon-noenum-sam>  =>   B<boolean, optional>

=begin html

<br>Do not allow anonymous enumeration of SAM accounts. This setting is mapped to no-enumeration value of restrict-anonymous CIFS option in Data ONTAP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-restrict-anon-noenum-sam-share>  =>   B<boolean, optional>

=begin html

<br>Do not allow anonymous enumeration of SAM accounts and shares. This setting is mapped to no-enumeration value of restrict-anonymous CIFS option in Data ONTAP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-restricted-groups>  =>   B<gpo-user-group[], optional>

=begin html

<br>List of Restricted groups. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<integer, optional>

=begin html

<br>The individual GPO's update version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver display name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 gpo-config

=begin html

Group Policy configuration for Vservers. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-gpo-enabled>  =>   B<true-false, optional>

=begin html

<br>Group Policy Zapi Status. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The name of the Vserver associated with this group-policy. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 gpo-evt-audit

=begin html

Types of events to be audited. Possible values: <ul> <li> "none" - None, <li> "success" - Success, <li> "failure" - Failure, <li> "both" - Success and Failure </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 gpo-file-security-path

=begin html

A group policy file security path string.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 gpo-gpresult-info

=begin html

GPO RSoP(Resultant Set of Policy) that is currently defined on the Active Directory for a CIFS-enabled Vserver. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<adv-audit-cap-staging>  =>   B<gpo-evt-audit, optional>

=begin html

<br>This policy setting allows you to audit access requests where the permission granted or denied by a proposed policy differs from the current central access policy on an object. If you configure this policy setting, an audit event is generated each time a user accesses an object and the permission granted by the current central access policy on the object differs from that granted by the proposed policy. The resulting audit event will be generated as follows: 1) Success audits, when configured, records access attempts when the current central access policy grants access but the proposed policy denies access. 2) Failure audits when configured records access attempts when: a) The current central access policy does not grant access but the proposed policy grants access. b) A principal requests the maximum access rights they are allowed and the access rights granted by the current central access policy are different than the access rights granted by the proposed policy. Volume: Potentially high on a file server when the proposed policy differs significantly from the current central access policy. Default: No Auditing Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "success" - Success, <li> "failure" - Failure, <li> "both" - Success and Failure </ul>

=end html

=back



=over 2

=item * I<cap-list>  =>   B<string[], optional>

=begin html

<br>List of Central Access Policies. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dspath>  =>   B<string, optional>

=begin html

<br>LDAP DN path. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<extension>  =>   B<string[], optional>

=begin html

<br>List of the GPO extensions. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "registry" - Registry, <li> "diskquota" - Disk Quota, <li> "scripts" - Scripts, <li> "security" - Security, <li> "efsrecovery" - EFS Recovery, <li> "ipsecurity" - IP Security, <li> "unsupported" - Unsupported, <li> "cap" - CAP CSE, <li> "audit" - Audit </ul>

=end html

=back



=over 2

=item * I<filesyspath>  =>   B<string, optional>

=begin html

<br>File System Path of a GPO policy file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gpo-index>  =>   B<integer, optional>

=begin html

<br>The index of the GPO in the GPO list of a Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gpo-name>  =>   B<string, optional>

=begin html

<br>GPO name in text format. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gpo-status>  =>   B<string, optional>

=begin html

<br>GPO status for each listed GPO: enabled or disabled. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gpo-uuid>  =>   B<string, optional>

=begin html

<br>GPO name in UUID format. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link>  =>   B<string, optional>

=begin html

<br>Type of the GPO. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" - Local, <li> "site" - Site, <li> "domain" - Domain, <li> "organizationalunit" - Organizational Unit, <li> "rsop" - Resultant set of policy </ul>

=end html

=back



=over 2

=item * I<registry-hash-publication>  =>   B<hash-publication-mode, optional>

=begin html

<br>Hash Publication for BranchCache. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "per_share" - Allow hash publication only for shared folders on which BranchCache is enabled., <li> "disabled" - Disallow hash publication on all shared folders., <li> "all_shares" - Allow hash publication for all shared folder. </ul>

=end html

=back



=over 2

=item * I<registry-hash-publication-mode>  =>   B<hash-publication-mode, optional>

=begin html

<br>Hash Publication Mode for BranchCache. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "per_share" - Allow hash publication only for shared folders on which BranchCache is enabled., <li> "disabled" - Disallow hash publication on all shared folders., <li> "all_shares" - Allow hash publication for all shared folder. </ul>

=end html

=back



=over 2

=item * I<registry-hash-version>  =>   B<hash-version, optional>

=begin html

<br>Hash Version Support for BranchCache. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "version1" - Version 1 (V1)., <li> "version2" - Version 2 (V2)., <li> "all_versions" - Version 1 and 2 (V1 and V2). </ul>

=end html

=back



=over 2

=item * I<registry-refresh-interval>  =>   B<integer, optional>

=begin html

<br>Registry refreshint time interval. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<registry-refresh-random-offset>  =>   B<integer, optional>

=begin html

<br>Registry refreshing time random offset. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-audit-log-ret-method>  =>   B<log-retention-method, optional>

=begin html

<br>Security log retention method. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "overwrite_as_needed" - Overwrite as needed, <li> "overwrite_by_days" - Overwrite by days, <li> "do_not_overwrite" - Do not overwrite </ul>

=end html

=back



=over 2

=item * I<security-audit-logon-events>  =>   B<gpo-evt-audit, optional>

=begin html

<br>Log-on events to be audited. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "success" - Success, <li> "failure" - Failure, <li> "both" - Success and Failure </ul>

=end html

=back



=over 2

=item * I<security-audit-max-log-size>  =>   B<integer, optional>

=begin html

<br>Maximum size of security log in kbytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-audit-object-access>  =>   B<gpo-evt-audit, optional>

=begin html

<br>Object access to be audited. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "success" - Success, <li> "failure" - Failure, <li> "both" - Success and Failure </ul>

=end html

=back



=over 2

=item * I<security-file-security>  =>   B<gpo-file-security-path[], optional>

=begin html

<br>List of files or directories for which file security is to be applied. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-kerberos-clock-skew>  =>   B<integer, optional>

=begin html

<br>Kerberos maximum clock skew; Maximum tolerance for computer clock synchronization. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-kerberos-renewal-age>  =>   B<integer, optional>

=begin html

<br>Kerberos maximum lifetime for user ticket renewal. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-kerberos-ticket-age>  =>   B<integer, optional>

=begin html

<br>Kerberos maximum lifetime for user ticket. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-privilege-rights-change-notify>  =>   B<gpo-user-group[], optional>

=begin html

<br>List of users and/or groups which can traverse directory trees even though the users and/or groups may not have permissions on the traversed directory. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-privilege-rights-security>  =>   B<gpo-user-group[], optional>

=begin html

<br>List of users and/or groups that can specify object access auditing options for individual resources, such as files, Active Directory objects. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-privilege-rights-take-ownership>  =>   B<gpo-user-group[], optional>

=begin html

<br>List of users and/or groups that have the right to take ownership of any securable object in the system. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-privilege-take-ownership>  =>   B<string, optional>

=begin html

<br>Privilege rights: Take Ownership. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-registry-signing-required>  =>   B<boolean, optional>

=begin html

<br>SMB Signing Required Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-restrict-anon-combined-restriction-for-anonymous-user>  =>   B<anonymous-restriction-level, optional>

=begin html

<br>Combined restriction for Anonymous User. This setting is derived from security-restrict-anon-noenum-for-sam, security-restrict-anon-noenum-for-samshare and security-restrict-anon-no-access. If no-access is set then this setting is set to no-access. If no-enumeration is set and no-access is not set then this setting is set to no-enumeration. If both no-enumeration and no-access are not set then this setting is set to no-restriction. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "no_restriction" - No Access Restriction for Anonymous User., <li> "no_enumeration" - Only Enumeration Is Restricted., <li> "no_access" - Access Restricted for Anonymous User. </ul>

=end html

=back



=over 2

=item * I<security-restrict-anon-no-access>  =>   B<boolean, optional>

=begin html

<br>Restrict anonymous access to named pipes and shares. This setting is mapped to no-access value of restrict-anonymous CIFS option in Data ONTAP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-restrict-anon-noenum-sam>  =>   B<boolean, optional>

=begin html

<br>Do not allow anonymous enumeration of SAM accounts. This setting is mapped to no-enumeration value of restrict-anonymous CIFS option in Data ONTAP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-restrict-anon-noenum-sam-share>  =>   B<boolean, optional>

=begin html

<br>Do not allow anonymous enumeration of SAM accounts and shares. This setting is mapped to no-enumeration value of restrict-anonymous CIFS option in Data ONTAP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<security-restricted-groups>  =>   B<gpo-user-group[], optional>

=begin html

<br>List of Restricted groups. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<integer, optional>

=begin html

<br>The individual GPO's update version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver display name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 gpo-link

=begin html

Local|Site|Domain|OrganizationalUnit|RSOP Possible values: <ul> <li> "local" - Local, <li> "site" - Site, <li> "domain" - Domain, <li> "organizationalunit" - Organizational Unit, <li> "rsop" - Resultant set of policy </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 gpo-restricted-group-applied-info

=begin html

Applied Restricted Group Settings When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<group-name>  =>   B<string, optional>

=begin html

<br>Group name associated with GPO group-policy-name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<group-policy-name>  =>   B<string, optional>

=begin html

<br>GPO name in text format. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-type>  =>   B<gpo-link, optional>

=begin html

<br>GPO link type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" - Local, <li> "site" - Site, <li> "domain" - Domain, <li> "organizationalunit" - Organizational Unit, <li> "rsop" - Resultant set of policy </ul>

=end html

=back



=over 2

=item * I<member-of>  =>   B<gpo-user-group[], optional>

=begin html

<br>Groups in which group-name is a member of. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<members>  =>   B<gpo-user-group[], optional>

=begin html

<br>Members of the group group-name. Members can be users and/or groups. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<integer, optional>

=begin html

<br>GPO version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Name of the vserver to which group-name is associated with. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 gpo-restricted-group-defined-info

=begin html

Defined Restricted Group Settings in DC When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<group-name>  =>   B<string, optional>

=begin html

<br>Group name associated with GPO group-policy-name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<group-policy-name>  =>   B<string, optional>

=begin html

<br>GPO name in text format. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-type>  =>   B<gpo-link, optional>

=begin html

<br>GPO link type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" - Local, <li> "site" - Site, <li> "domain" - Domain, <li> "organizationalunit" - Organizational Unit, <li> "rsop" - Resultant set of policy </ul>

=end html

=back



=over 2

=item * I<member-of>  =>   B<gpo-user-group[], optional>

=begin html

<br>Groups in which group-name is a member of. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<members>  =>   B<gpo-user-group[], optional>

=begin html

<br>Members of the group group-name. Members can be users and/or groups. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<integer, optional>

=begin html

<br>GPO version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Name of the vserver to which group-name is associated with. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 gpo-user-group

=begin html

A group name or a user name.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hash-publication-mode

=begin html

Hash Publication Mode Possible values: <ul> <li> "per_share" - Allow hash publication only for shared folders on which BranchCache is enabled., <li> "disabled" - Disallow hash publication on all shared folders., <li> "all_shares" - Allow hash publication for all shared folder. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hash-version

=begin html

Hash Version Possible values: <ul> <li> "version1" - Version 1 (V1)., <li> "version2" - Version 2 (V2)., <li> "all_versions" - Version 1 and 2 (V1 and V2). </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 log-retention-method

=begin html

Audit log retention method Possible values: <ul> <li> "overwrite_as_needed" - Overwrite as needed, <li> "overwrite_by_days" - Overwrite by days, <li> "do_not_overwrite" - Do not overwrite </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 group-mapping-info

=begin html

group mapping configuration for Vservers. The possible sources of group mapping information and the order in which they are searched is determined by the Vserver's 'name-mapping-switch' option. If the 'name-mapping-switch' is set to 'file', the rules in this table are used to determine the mapping. Windows user groups, UNIX user groups and Kerberos principal groups can be three disjoint sets of groups. A mechanism is needed to map groups from one set to another when presenting ACLs across multiprotocol clients. Each group mapping entry represents one such map in a given direction. group mappings are done using standard UNIX style regular expressions for pattern replacement. For example if a configuration is required to convert any Windows user in the Windows domain name 'EXAMPLE' into a UNIX user with the same name in NIS, the direction entry should be set to 'win-unix', the pattern string should be set to 'EXAMPLE\\(.+)' and the replacement string should be set453 :he double backslash (\\) in the pattern matches a single backslash in the source name. The parentheses denote a subexpression but do not match any characters themselves. The 'period' matches any single character. The 'plus' matches one or more characters of the previous expression. The pattern 'EXAMPLE\\(.+)' matches 'EXAMPLE\' followed by one or more of any character. In the replacement, '\1' refers to the string that the first subexpression matched. Assuming the Windows user 'EXAMPLE\user1', the replacement evaluates to 'user1'. If a mapping is required from Windows to UNIX and none of the name mapping entries match, the domain name is stripped from the the username and it is directly mapped to the UNIX user of the same name. Similarly if a mapping is required from a UNIX user to a Windows user and none of the name mapping entries match, the domain name is prefixed to the username and it is directly mapped to a Windows user of the same name. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<direction>  =>   B<name-mapping-direction, optional>

=begin html

<br>Direction in which the group mapping is applied. Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<pattern>  =>   B<string, optional>

=begin html

<br>Pattern to use to match the group while searching for a group that can be used as a replacement. The pattern is a UNIX-style regular expression. Regular expressions are case-insensitive when mapping from Windows to UNIX, and they are case-sensitive for mappings from Kerberos to UNIX and UNIX to Windows. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<position>  =>   B<integer, optional>

=begin html

<br>Position of an existing group mapping in the list of group mappings for this Vserver. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<replacement>  =>   B<string, optional>

=begin html

<br>The group that is to be used as a replacement if the pattern associated with this entry matches. The replacement is a string containing escape sequences representing subexpressions from the pattern, as in the UNIX 'sed' program. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the group mapping. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 device-port-info

=begin html

Interconnect device port link state information

=end html



B<Fields>

=over 2

=item * I<is-active-link>  =>   B<boolean, optional>

=begin html

<br>Link active status. True means link on this given port is now active and used for the operations. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-layer-state>  =>   B<ha-ic-cx-link-state, optional>

=begin html

<br>High-availability interconnect link link layer state on a given port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "invalid" , <li> "down" , <li> "initialize" , <li> "armed" , <li> "active" , <li> "reserved" </ul>

=end html

=back



=over 2

=item * I<phy-layer-state>  =>   B<ha-ic-cx-phy-state, optional>

=begin html

<br>High-availability interconnect link physical layer state on a given port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "invalid" , <li> "sleep" , <li> "polling" , <li> "disabled" , <li> "port_configuration_testing" , <li> "linkup" , <li> "link_error_recovery" , <li> "phytest" , <li> "reserved" </ul>

=end html

=back



=over 2

=item * I<phy-link-down-count>  =>   B<integer, optional>

=begin html

<br>Total number of times the link on a given port is transitioned down. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-link-up-count>  =>   B<integer, optional>

=begin html

<br>Total number of times the link on a given port is transitioned up. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>High-availability interconnect device port number. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ha-ic-channel

=begin html

kstat|ofw|kill|wafl|raid|misc|stream0|stream1|stream2|stream3|drsom|drckill|control|sldiag|traffic|hb Possible values: <ul> <li> "kstat" - HA Interconnect KSTAT Channel, <li> "ofw" - HA Interconnect OFW Channel, <li> "kill" - HA Interconnect KILL Channel, <li> "wafl" - HA Interconnect WAFL NV Channel, <li> "raid" - HA Interconnect RAID NV Channel, <li> "misc" - HA Interconnect MISC NV Channel, <li> "stream0" - HA Interconnect STREAM0 Channel, <li> "stream1" - HA Interconnect STREAM1 Channel, <li> "stream2" - HA Interconnect STREAM2 Channel, <li> "stream3" - HA Interconnect STREAM3 Channel, <li> "drsom" - HA Interconnect MCC DRSOM Channel, <li> "drckill" - HA Interconnect MCC DRC KILL Channel, <li> "control" - HA Interconnect CONTROL Channel, <li> "sldiag" - HA Interconnect SLDIAG Channel, <li> "traffic" - HA Interconnect TRAFFIC Channel, <li> "hb" - HA Interconnect HB Channel </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-ic-cx-link-state

=begin html

invalid|down|initialize|armed|active|reserved Possible values: <ul> <li> "invalid" , <li> "down" , <li> "initialize" , <li> "armed" , <li> "active" , <li> "reserved" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-ic-cx-phy-state

=begin html

invalid|sleep|polling|disabled|port-configuration-testing|linkup|link-error-recovery|phytest|reserved Possible values: <ul> <li> "invalid" , <li> "sleep" , <li> "polling" , <li> "disabled" , <li> "port_configuration_testing" , <li> "linkup" , <li> "link_error_recovery" , <li> "phytest" , <li> "reserved" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-ic-device-port

=begin html

0|1 Possible values: <ul> <li> "0" - HA Interconnect Device Port 0, <li> "1" - HA Interconnect Device Port 1 </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-ic-flint-image-type

=begin html

connectx|fs2|failsafe|short Possible values: <ul> <li> "connectx" - ConnectX device family, <li> "fs2" - Flexible storage solutions device family, <li> "failsafe" - Failsafe enabled device family, <li> "short" - Non-Failsafe device family </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-ic-initiator

=begin html

local|partner Possible values: <ul> <li> "local" - HA Interconnect connections are initiated by the local node, <li> "partner" - HA Interconnect connections are initiated by the partner </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-ic-interface-type

=begin html

backplane|external Possible values: <ul> <li> "backplane" - HA Interconnect is using backplane (internal) links, <li> "external" - HA Interconnect is using external links </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-ic-nv-channel

=begin html

wafl|raid|misc Possible values: <ul> <li> "wafl" - HA Interconnect WAFL NV Channel, <li> "raid" - HA Interconnect RAID NV Channel, <li> "misc" - HA Interconnect MISC NV Channel </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-ic-state

=begin html

up|down Possible values: <ul> <li> "up" - Indicate up status of a HA Interconnect entity, <li> "down" - Indicate down status of a HA Interconnect entity, <li> "error" - Indicate error status of a HA Interconnect entity </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ha-interconnect-channel-status

=begin html

High-availability interconnect channel status When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<channel-name>  =>   B<ha-ic-channel, optional>

=begin html

<br>Interconnect channel name. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "kstat" - HA Interconnect KSTAT Channel, <li> "ofw" - HA Interconnect OFW Channel, <li> "kill" - HA Interconnect KILL Channel, <li> "wafl" - HA Interconnect WAFL NV Channel, <li> "raid" - HA Interconnect RAID NV Channel, <li> "misc" - HA Interconnect MISC NV Channel, <li> "stream0" - HA Interconnect STREAM0 Channel, <li> "stream1" - HA Interconnect STREAM1 Channel </ul>

=end html

=back



=over 2

=item * I<channel-status>  =>   B<ha-ic-state, optional>

=begin html

<br>Interconnect channel status. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "up" - Indicate up status of a HA Interconnect entity, <li> "down" - Indicate down status of a HA Interconnect entity, <li> "error" - Indicate error status of a HA Interconnect entity </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this interconnect channel status information belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-config-details

=begin html

High-availability interconnect configuration information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<connection-request-initiator>  =>   B<ha-ic-initiator, optional>

=begin html

<br>The initiator of the connection request. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" - HA Interconnect connections are initiated by the local node, <li> "partner" - HA Interconnect connections are initiated by the partner </ul>

=end html

=back



=over 2

=item * I<interconnect-port-details>  =>   B<L<"interconnect-port-info">[], optional>

=begin html

<br>Interconnect device ports information

=end html

=back



=over 2

=item * I<interface-type>  =>   B<ha-ic-interface-type, optional>

=begin html

<br>High-availability interconnect links connection interface. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "backplane" - HA Interconnect is using backplane (internal) links, <li> "external" - HA Interconnect is using external links </ul>

=end html

=back



=over 2

=item * I<local-node-sysid>  =>   B<integer, optional>

=begin html

<br>Local system identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this configuration information belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-node-sysid>  =>   B<integer, optional>

=begin html

<br>HA partner system identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transport-type>  =>   B<string, optional>

=begin html

<br>High-availability interconnect type. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-flint-flash-info

=begin html

High-availability interconnect binary firmware image information residing in flash card attached to adapter When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<board-id>  =>   B<string, optional>

=begin html

<br>Interconnect device board identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<chip-revision>  =>   B<string, optional>

=begin html

<br>Chip Revision Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<device-id>  =>   B<integer, optional>

=begin html

<br>Device ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fw-version>  =>   B<string, optional>

=begin html

<br>Firmware Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hw-access-key>  =>   B<string, optional>

=begin html

<br>Hardware Access Key Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<image-type>  =>   B<ha-ic-flint-image-type, optional>

=begin html

<br>Image Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "connectx" - ConnectX device family, <li> "fs2" - Flexible storage solutions device family, <li> "failsafe" - Failsafe enabled device family, <li> "short" - Non-Failsafe device family </ul>

=end html

=back



=over 2

=item * I<invariant-sector-version>  =>   B<integer, optional>

=begin html

<br>Invariant Sector Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-guid>  =>   B<string, optional>

=begin html

<br>Node global unique identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this device firmware image information belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<parameter-set-id>  =>   B<string, optional>

=begin html

<br>Parameter set identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-guid>  =>   B<string, optional>

=begin html

<br>Port 1 global unique identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-mac>  =>   B<string, optional>

=begin html

<br>Port 1 MAC address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-guid>  =>   B<string, optional>

=begin html

<br>Port 2 GUID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-mac>  =>   B<string, optional>

=begin html

<br>Port 2 MAC address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<product-version>  =>   B<string, optional>

=begin html

<br>Product Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sys-image-guid>  =>   B<string, optional>

=begin html

<br>System image global unique identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vendor-specific-data>  =>   B<string, optional>

=begin html

<br>Vendor specific data. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-flint-image-info

=begin html

High-availability interconnect binary firmware image information residing in system When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<board-id>  =>   B<string, optional>

=begin html

<br>Interconnect device board identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<chip-revision>  =>   B<string, optional>

=begin html

<br>Chip Revision Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<device-id>  =>   B<integer, optional>

=begin html

<br>Device ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fw-version>  =>   B<string, optional>

=begin html

<br>Firmware Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hw-access-key>  =>   B<string, optional>

=begin html

<br>Hardware Access Key Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<image-type>  =>   B<ha-ic-flint-image-type, optional>

=begin html

<br>Image Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "connectx" - ConnectX device family, <li> "fs2" - Flexible storage solutions device family, <li> "failsafe" - Failsafe enabled device family, <li> "short" - Non-Failsafe device family </ul>

=end html

=back



=over 2

=item * I<invariant-sector-version>  =>   B<integer, optional>

=begin html

<br>Invariant Sector Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-guid>  =>   B<string, optional>

=begin html

<br>Node global unique identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this device firmware image information belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<parameter-set-id>  =>   B<string, optional>

=begin html

<br>Parameter set identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-guid>  =>   B<string, optional>

=begin html

<br>Port 1 global unique identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-mac>  =>   B<string, optional>

=begin html

<br>Port 1 MAC address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-guid>  =>   B<string, optional>

=begin html

<br>Port 2 GUID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-mac>  =>   B<string, optional>

=begin html

<br>Port 2 MAC address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<product-version>  =>   B<string, optional>

=begin html

<br>Product Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sys-image-guid>  =>   B<string, optional>

=begin html

<br>System image global unique identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vendor-specific-data>  =>   B<string, optional>

=begin html

<br>Vendor specific data. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-flush-details

=begin html

High-availability interconnect flush information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<channel-name>  =>   B<ha-ic-nv-channel, optional>

=begin html

<br>High-availability interconnect device NVRAM channel name. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "wafl" - HA Interconnect WAFL NV Channel, <li> "raid" - HA Interconnect RAID NV Channel, <li> "misc" - HA Interconnect MISC NV Channel </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this flush information belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<recv-flush-request-id>  =>   B<integer, optional>

=begin html

<br>Flush receive request identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<recv-notify-complete-id>  =>   B<integer, optional>

=begin html

<br>Flush receive request completion identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sent-flush-request-id>  =>   B<integer, optional>

=begin html

<br>Flush sent request identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sent-notify-complete-id>  =>   B<integer, optional>

=begin html

<br>Flush sent request completion identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-nvram-info

=begin html

Basic nvram configuration information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<local-size>  =>   B<size, optional>

=begin html

<br>Amount of NVRAM used by Local Node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partition>  =>   B<string, optional>

=begin html

<br>NVRAM Partition Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-size>  =>   B<size, optional>

=begin html

<br>Total NVRAM Size Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-ood-status

=begin html

High-availability interconnect device out-of-order delivery information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-coalescing-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Coalescing Enabled Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-ood-enabled>  =>   B<boolean, optional>

=begin html

<br>Is OOD Enabled Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this out-of-order delivery capability information belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-performance-statistics

=begin html

Display high-availability interconnect performance statistics When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<average-bytes-per-transfer>  =>   B<integer, optional>

=begin html

<br>Average amount of bytes sent per transfer. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-megabytes-per-second>  =>   B<string, optional>

=begin html

<br>Average megabytes (MB) transferred per second. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-receive-queue-wait-time>  =>   B<integer, optional>

=begin html

<br>Average amount of time (in usecs) the interconnect device waited to post an empty buffer into the receive queue. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-remote-nv-msgs-time>  =>   B<integer, optional>

=begin html

<br>Average time (in usecs) between two remote NV messages. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-remote-nv-transfer-size>  =>   B<integer, optional>

=begin html

<br>Average transfer size of a remote NV message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-remote-nv-transfer-time>  =>   B<integer, optional>

=begin html

<br>Average transfer time taken (in usecs) by remote NV messages. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<avg-misc-queue-length>  =>   B<integer, optional>

=begin html

<br>Average MISC interconnect channel queue depth. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<avg-nvlog-sync-time>  =>   B<integer, optional>

=begin html

<br>Average time taken (in msecs) to sync NVLOG between HA partner nodes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<avg-raid-queue-length>  =>   B<integer, optional>

=begin html

<br>Average RAID interconnect channel queue depth. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<avg-wafl-queue-length>  =>   B<integer, optional>

=begin html

<br>Average WAFL interconnect channel queue depth. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<elapsed-time>  =>   B<integer, optional>

=begin html

<br>Elapsed time (in seconds) between statistics collection start time and end time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-16k-writes>  =>   B<integer, optional>

=begin html

<br>Total number of 16K or more size writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-4k-writes>  =>   B<integer, optional>

=begin html

<br>Total number of 4K size writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-8k-writes>  =>   B<integer, optional>

=begin html

<br>Total number of 8K size writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-data-aligned>  =>   B<integer, optional>

=begin html

<br>Total number of aligned data writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-data-misaligned>  =>   B<integer, optional>

=begin html

<br>Total number of misaligned data writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-discontiguous-writes>  =>   B<integer, optional>

=begin html

<br>Total number of times the interconnect device performs discontiguous writes spanned across memory pages. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-isdone>  =>   B<integer, optional>

=begin html

<br>Total number of times the interconnect client checked for the completion of a given tranfer ID. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-isdone-fail>  =>   B<integer, optional>

=begin html

<br>Total number of times the check for the completion of a given trasfer ID is not yet successful. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-isdone-pass>  =>   B<integer, optional>

=begin html

<br>Total number of times the check for the completion of a given transfer ID is successful. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-metadata-aligned>  =>   B<integer, optional>

=begin html

<br>Total number of aligned metadata writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-metadata-misaligned>  =>   B<integer, optional>

=begin html

<br>Total number of misaligned metadata writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-small-writes>  =>   B<integer, optional>

=begin html

<br>Total number of less than 4K size writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-waitdone-time>  =>   B<integer, optional>

=begin html

<br>Average time (in usecs) the interconnect device spent waiting for the IDs to be transferred successfully. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-waits>  =>   B<integer, optional>

=begin html

<br>Total number of times the interconnect device waits until the transfer of a given ID is successful. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-xorder-reads>  =>   B<integer, optional>

=begin html

<br>Total number of out-of-order reads performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-xorder-writes>  =>   B<integer, optional>

=begin html

<br>Total number of out-of-order writes performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-nvlog-sync-time>  =>   B<integer, optional>

=begin html

<br>Maximum time taken (in msecs) to sync NVLOG between HA partner nodes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-sgl-length>  =>   B<integer, optional>

=begin html

<br>Maximum length of scatter-gather list supported by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<misc-data-io>  =>   B<integer, optional>

=begin html

<br>Total number of MISC data IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<misc-flush-io>  =>   B<integer, optional>

=begin html

<br>Total number of MISC flush IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<misc-metadata-io>  =>   B<integer, optional>

=begin html

<br>Total number of MISC metadata IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this performance statistics belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nonpreempt-timeout>  =>   B<integer, optional>

=begin html

<br>Total number of times polling on the given transfer ID stopped due to interconnect device read/write timeout. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<notify-timeout>  =>   B<integer, optional>

=begin html

<br>Total number of times data transfer on the HA interconnect timed out. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nv-conn-failover-time>  =>   B<integer, optional>

=begin html

<br>NV connection failover time (in msecs). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<preempt-timeout>  =>   B<integer, optional>

=begin html

<br>Total number of times polling on the given transfer ID is preempted. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<queue-max-timeout>  =>   B<integer, optional>

=begin html

<br>Total number of times the interconnect device timed out waiting to post requests on the send queue. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<queue-max-wait-count>  =>   B<integer, optional>

=begin html

<br>Total number of times the interconnect device waited to post requests on the send queue. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<queue-max-wait-time>  =>   B<integer, optional>

=begin html

<br>Average amount of time (in usecs) the interconnect device waited to post requests on the send queue. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<raid-data-io>  =>   B<integer, optional>

=begin html

<br>Total number of RAID data IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<raid-flush-io>  =>   B<integer, optional>

=begin html

<br>Total number of RAID flush IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<raid-metadata-io>  =>   B<integer, optional>

=begin html

<br>Total number of RAID metadata IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rdma-read>  =>   B<integer, optional>

=begin html

<br>Total number of RDMA reads performed by the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rdma-read-waitdone-time>  =>   B<integer, optional>

=begin html

<br>Average time (in usecs) the interconnect device spent polling for transfer IDs on the RDMA-read channel. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-nv-transfers>  =>   B<integer, optional>

=begin html

<br>Total number of remote NV transfers attempted. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-receive-queue-waits>  =>   B<integer, optional>

=begin html

<br>Total number of times the interconnect device waited to post an empty buffer into the receive queue. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-transfers>  =>   B<integer, optional>

=begin html

<br>Total number of transfers made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wafl-data-io>  =>   B<integer, optional>

=begin html

<br>Total number of WAFL data IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wafl-flush-io>  =>   B<integer, optional>

=begin html

<br>Total number of WAFL flush IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wafl-metadata-io>  =>   B<integer, optional>

=begin html

<br>Total number of WAFL metadata IOs made through the interconnect device. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-port-details

=begin html

High-availability interconnect device port information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<device-port-details>  =>   B<L<"device-port-info">[], optional>

=begin html

<br>Interconnect device port link state information

=end html

=back



=over 2

=item * I<link-monitor>  =>   B<boolean, optional>

=begin html

<br>Link monitor detection capability. On means link monitor detection is enabled on this device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this high-availability interconnect device port information belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-reset-config

=begin html

High-availability interconnect device auto-reset configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>NIC auto-reset status. True means nic auto-reset is enabled. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this auto-reset configuration belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<reset-timeout>  =>   B<integer, optional>

=begin html

<br>Default auto-reset timeout value (in milliseconds). Attributes: non-creatable, modifiable

=end html

=back



=head2 ha-interconnect-scatter-gather-list-statistics

=begin html

High-availability interconnect device scatter-gather list entry statistics When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this scatter-gather list entry statistics belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sgl-details>  =>   B<L<"sgl-info">[], optional>

=begin html

<br>Interconnect device scatter-gather list statistics

=end html

=back



=head2 ha-interconnect-status-info

=begin html

High-availability interconnect connection status When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<command-revision>  =>   B<integer, optional>

=begin html

<br>High-availability interconnect device command revision. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<debug-firmware>  =>   B<boolean, optional>

=begin html

<br>High-availability interconnect device firmware debug capability status. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<device-type>  =>   B<string, optional>

=begin html

<br>Device Type Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<driver-name>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device driver name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<firmware>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device firmware version. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hardware-revision>  =>   B<integer, optional>

=begin html

<br>High-availability interconnect device hardware revision. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ic-connection>  =>   B<ha-ic-state, optional>

=begin html

<br>The status of failover monitor channel over the interconnect. up means channel is active. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "up" - Indicate up status of a HA Interconnect entity, <li> "down" - Indicate down status of a HA Interconnect entity, <li> "error" - Indicate error status of a HA Interconnect entity </ul>

=end html

=back



=over 2

=item * I<is-link0-active>  =>   B<boolean, optional>

=begin html

<br>Link 0 active status. True means there are active channels over this interconnect link. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-link1-active>  =>   B<boolean, optional>

=begin html

<br>Link 1 active status. True means there are active channels over this interconnect link. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-status>  =>   B<ha-ic-state, optional>

=begin html

<br>High-availability interconnect link status. up means the link is online. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "up" - Indicate up status of a HA Interconnect entity, <li> "down" - Indicate down status of a HA Interconnect entity, <li> "error" - Indicate error status of a HA Interconnect entity </ul>

=end html

=back



=over 2

=item * I<link0-status>  =>   B<ha-ic-state, optional>

=begin html

<br>High-availability interconnect link 0 status. up means the link is online. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "up" - Indicate up status of a HA Interconnect entity, <li> "down" - Indicate down status of a HA Interconnect entity, <li> "error" - Indicate error status of a HA Interconnect entity </ul>

=end html

=back



=over 2

=item * I<link1-status>  =>   B<ha-ic-state, optional>

=begin html

<br>High-availability interconnect link 1 status. up means the link is online. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "up" - Indicate up status of a HA Interconnect entity, <li> "down" - Indicate down status of a HA Interconnect entity, <li> "error" - Indicate error status of a HA Interconnect entity </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which this connection status belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nvlog-rdma>  =>   B<ha-ic-state, optional>

=begin html

<br>The status of NVRAM channels over the interconnect. up means channels are active. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "up" - Indicate up status of a HA Interconnect entity, <li> "down" - Indicate down status of a HA Interconnect entity, <li> "error" - Indicate error status of a HA Interconnect entity </ul>

=end html

=back



=over 2

=item * I<port-number-1>  =>   B<integer, optional>

=begin html

<br>High-availability interconnect device port 1. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-number-2>  =>   B<integer, optional>

=begin html

<br>High-availability interconnect device port 2. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-base-lid>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 local identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-data-rate>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 supported data rate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-gid>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 global identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-link-info>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 link information. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-mtu>  =>   B<integer, optional>

=begin html

<br>High-availability interconnect device port 1 maximum transmission unit size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-port-name>  =>   B<string, optional>

=begin html

<br>High availability interconnect device port 1 port name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-qsfp-part-number>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 QSFP (Quad Small Form-factor Pluggable) part number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-qsfp-serial-number>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 QSFP (Quad Small Form-factor Pluggable) serial number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-qsfp-type>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 QSFP (Quad Small Form-factor Pluggable) cable type. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-qsfp-vendor>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 QSFP (Quad Small Form-factor Pluggable) vendor name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port1-remote-lid>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 1 remote local identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-base-lid>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 2 local identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-data-rate>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 2 supported data rate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-gid>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 2 global identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-link-info>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 2 link information. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-mtu>  =>   B<integer, optional>

=begin html

<br>High-availability interconnect device port 2 maximum transmission unit size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-port-name>  =>   B<string, optional>

=begin html

<br>High availability interconnect device port 2 port name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-qsfp-part-number>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 2 QSFP (Quad Small Form-factor Pluggable) part number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-qsfp-serial-number>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 2 QSFP (Quad Small Form-factor Pluggable) serial number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-qsfp-type>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 2 QSFP (Quad Small Form-factor Pluggable) cable type. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port2-qsfp-vendor>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port 2 QSFP (Quad Small Form-factor Pluggable) vendor name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device serial number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<slot>  =>   B<integer, optional>

=begin html

<br>High-availability interconnect device PCI slot number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device version number. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ha-interconnect-timeout

=begin html

High-availability interconnect software timeout values When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ic-timeout>  =>   B<integer, optional>

=begin html

<br>Interconnect Read/write Timeout (msecs) Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node to which these timeout values belongs. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ofw-timeout>  =>   B<integer, optional>

=begin html

<br>Firmware Read Timeout (msecs) Attributes: non-creatable, modifiable

=end html

=back



=head2 interconnect-port-info

=begin html

Interconnect device ports information

=end html



B<Fields>

=over 2

=item * I<interface-flags>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port interface flags. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ipaddress>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port IP address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-name>  =>   B<string, optional>

=begin html

<br>High-availability interconnect device port name. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 sgl-info

=begin html

Interconnect device scatter-gather list statistics

=end html



B<Fields>

=over 2

=item * I<scatter-gather-entry>  =>   B<integer, optional>

=begin html

<br>The index value of the scatter-gather entry in the list. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-count>  =>   B<integer, optional>

=begin html

<br>Total number of times a particular scatter-gather list element is used. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-size>  =>   B<integer, optional>

=begin html

<br>Total number of bytes written by the high-availability interconnect device using a particular scatter-gather list element. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 initiator-group-info

=begin html

Information about an initiator group.

=end html



B<Fields>

=over 2

=item * I<initiator-group-alua-enabled>  =>   B<boolean>

=begin html

<br>Boolean value to indicate if this initiator group has ALUA (Asymmetric Logical Unit Access) features enabled for luns mapped to this initiator group.

=end html

=back



=over 2

=item * I<initiator-group-delete-on-unmap>  =>   B<boolean, optional>

=begin html

<br>Boolean value to indicate if this initiator group will be automatically deleted when unmapped from a LUN if it is no longer part of any other LUN maps. This field is available in Data ONTAP 9.2 and later.

=end html

=back



=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of this initiator group.

=end html

=back



=over 2

=item * I<initiator-group-os-type>  =>   B<initiator-group-os-type>

=begin html

<br>OS type of the initiator group

=end html

=back



=over 2

=item * I<initiator-group-portset-name>  =>   B<string, optional>

=begin html

<br>Name of the portset that is bound to the initiator group, if any.

=end html

=back



=over 2

=item * I<initiator-group-throttle-borrow>  =>   B<boolean>

=begin html

<br>Boolean value to indicate that the igroups throttle reserve may be exceeded if the igroup attempts to use more than it has reserved.

=end html

=back



=over 2

=item * I<initiator-group-throttle-reserve>  =>   B<integer>

=begin html

<br>Percentage of filer SCSI command blocks reserved for this initiator group's exclusive usage.

=end html

=back



=over 2

=item * I<initiator-group-type>  =>   B<string>

=begin html

<br>Type of the initiators in this group. Possible values: "iscsi", "fcp", "mixed".

=end html

=back



=over 2

=item * I<initiator-group-use-partner>  =>   B<boolean, optional>

=begin html

<br>Boolean value to indicate if this initiator group is configured for its luns to require the use of host multi-pathing software for correct high-availability failover operation. In Data ONTAP 7-Mode, this value is optional and is only returned for FCP initiator groups on an storage system in an HA pair. In Data ONTAP Cluster-Mode, this field will always be 'true'.

=end html

=back



=over 2

=item * I<initiator-group-uuid>  =>   B<string, optional>

=begin html

<br>This value is Universally-unique identifier (UUID) of this initiator group. <p> The UUIDs are formatted as 36-character strings. These strings are composed of 32 hexadecimal characters broken up into five groupings separated by '-'s. The first grouping has 8 hexadecimal characters, the second through fourth groupings have four hexadecimal characters each, and the fifth and final grouping has 12 hexadecimal characters. Note that a leading '0x' is not used. <p> This field is available in Data ONTAP 7-mode 7.3.6, 8.0.2, 8.1.0 and later for the igroup-list-info API. This field is available in Data ONTAP Cluster-Mode 8.1.0 and later for the igroup-get-iter and lun-map-list-info APIs. <p> Here is an example of an actual UUID: <p> <dl> <dt><dd> 35d6ca90-c759-11df-8b6d-00a098132c6c </dd><br></dt> </dl>

=end html

=back



=over 2

=item * I<initiator-group-vsa-enabled>  =>   B<boolean>

=begin html

<br>Boolean value to indicate if this initiator group has Volume Set Addressing (VSA) enabled or disabled.

=end html

=back



=over 2

=item * I<initiators>  =>   B<L<"initiator-info">[], optional>

=begin html

<br>List of initiators belonging to this group.

=end html

=back



=over 2

=item * I<lun-id>  =>   B<integer, optional>

=begin html

<br>LUN identifier to which the LUN is mapped at the host. This value is optional and is only returned for the lun-map-list-info api.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the vserver hosting this initiator group

=end html

=back



=head2 initiator-group-list-info

=begin html

The initiator group this initiator belongs to.

=end html



B<Fields>

=over 2

=item * I<initiator-group-name>  =>   B<string>

=begin html

<br>Name of initiator group.

=end html

=back



=head2 initiator-group-os-type

=begin html

The operating system of the initiator group. This value modifies the finer details of SCSI protocol interaction for initiators in the group. Possible values: <ul> <li> "aix" The initiators belong to an AIX host, <li> "default" The initiators belong to an unknown host type, <li> "hpux" The initiators belong to an HP-UX host, <li> "hyper_v" The initiators belong to a Hyper-V parent host, <li> "linux" The initiators belong to a Linux host, <li> "netware" The initiators belong to a NetWare host, <li> "openvms" The initiators belong to an OpenVMS host, <li> "solaris" The initiators belong to a Solaris host, <li> "vmware" The initiators belong to a VMware ESX host, <li> "windows" The initiators belong to a Windows host, <li> "xen" The initiators belong to a Xen hypervisor host. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 initiator-info

=begin html

Information about one initiator.

=end html



B<Fields>

=over 2

=item * I<initiator-name>  =>   B<string>

=begin html

<br>Name of the initiator.

=end html

=back



=head2 interface-list-entry-info

=begin html

Information about a single interface

=end html



B<Fields>

=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of network interface. In Data ONTAP 7-Mode, this is the name of a physical or virtual ethernet interface, for example: "e0c" or "vif0". In Data ONTAP Cluster-Mode, this is the name of an iSCSI data LIF in the Vserver.

=end html

=back



=head2 ip-range-or-mask

=begin html

IPv4 and IPv6 address range containing a start address and an end address. The start and end addresses themselves are included in the range. <p> An example of a valid IPv4 address range is: '192.168.1.100-192.168.1.150'. An example of a valid IPv6 address range is: '2001:db8::1000:1-2001:db8::1000:50'.</p>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 iscsi-cdb-stats-info

=begin html

Counts for Command Descriptor Blocks processed

=end html



B<Fields>

=over 2

=item * I<data-in-blocks>  =>   B<integer>

=begin html

<br>Count of data in blocks.

=end html

=back



=over 2

=item * I<data-out-blocks>  =>   B<integer>

=begin html

<br>Count of data out blocks.

=end html

=back



=over 2

=item * I<error-status>  =>   B<integer>

=begin html

<br>Count of errors.

=end html

=back



=over 2

=item * I<success-status>  =>   B<integer>

=begin html

<br>Count of successes.

=end html

=back



=over 2

=item * I<total>  =>   B<integer>

=begin html

<br>Total Command Descriptor Blocks processed.

=end html

=back



=head2 iscsi-connection-list-entry-info

=begin html

Information about an iSCSI connection. In Data ONTAP 7-Mode, connections are uniquely identified by the combination of 'session-id' and 'connection-id'. In Data ONTAP Cluster-Mode, sessions are uniquely identified within a Vserver by the combination of 'tpgroup-name', 'session-id' and 'connection-id'.

=end html



B<Fields>

=over 2

=item * I<connection-id>  =>   B<integer>

=begin html

<br>Connection id

=end html

=back



=over 2

=item * I<connection-state>  =>   B<string>

=begin html

<br>Current state of this connection. Possible values: <ul> <li> "New_Connection", <li> "Waiting_Tpgtag_Assignment", <li> "Login_Waiting_Req", <li> "Login_Req_Rcvd", <li> "Login_Waiting_Auth", <li> "Login_OK_New_Session_Requested", <li> "Login_New_Session_Waiting_Reinstatement", <li> "Login_OK_New_Conn_Requested", <li> "Login_New_Conn_Waiting_Reinstatement", <li> "Login_Send_Final_Resp", <li> "Full_Feature_Phase", <li> "Shutdown_Start", <li> "Shutdown_Waiting_Sockio_Shutdown", <li> "Shutdown_Sockio_Shutdown_Done", <li> "Shutdown_Waiting_ImmDeliv_FFPCmds_Done", <li> "Shutdown_ImmDeliv_FFPCmds_Done", <li> "Shutdown_Recovery_Waiting_FFPCmds_Ready", <li> "Shutdown_Recovery_Waiting_Logout_Rcvd", <li> "Shutdown_Recovery_Logout_Rcvd", <li> "Shutdown_Recovery_Waiting_FFPCmds_Reassigned", <li> "Shutdown_Terminate_Abort_Seq_FFPCmds", <li> "Shutdown_Terminate_Waiting_Seq_FFPCmds_Done", <li> "Shutdown_Terminate_Seq_FFPCmds_Done". </ul>

=end html

=back



=over 2

=item * I<has-session>  =>   B<boolean>

=begin html

<br>True if this connection is associated to a session, false otherwise.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of the network interface hosting this connection. In Data ONTAP 7-Mode, this is the name of a physical ethernet interface, for example: "e0c". In Data ONTAP Cluster-Mode, this is the name of an iSCSI data LIF in the Vserver.

=end html

=back



=over 2

=item * I<local-ip-address>  =>   B<string>

=begin html

<br>Storage System iSCSI Target IP address.

=end html

=back



=over 2

=item * I<local-ip-port>  =>   B<integer>

=begin html

<br>Storage System iSCSI Target TCP port.

=end html

=back



=over 2

=item * I<remote-ip-address>  =>   B<string>

=begin html

<br>Remote initiator IP address.

=end html

=back



=over 2

=item * I<remote-ip-port>  =>   B<integer>

=begin html

<br>Remote initiator TCP port.

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer>

=begin html

<br>Session id for the associated session, or 0 if this connection is not yet associated to a session.

=end html

=back



=over 2

=item * I<tpgroup-name>  =>   B<string>

=begin html

<br>The name of the target portal group associated with this session.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>The tag of the target portal group associated with this session.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the vserver containing this connection.

=end html

=back



=head2 iscsi-error-stats-info

=begin html

Counts for iSCSI errors.

=end html



B<Fields>

=over 2

=item * I<data-digest>  =>   B<integer>

=begin html

<br>Count of digest errors.

=end html

=back



=over 2

=item * I<failed-logins>  =>   B<integer>

=begin html

<br>Count of failed logins.

=end html

=back



=over 2

=item * I<failed-logouts>  =>   B<integer>

=begin html

<br>Count of failed logouts.

=end html

=back



=over 2

=item * I<failed-task-mgt>  =>   B<integer>

=begin html

<br>Count of failed management tasks.

=end html

=back



=over 2

=item * I<failed-text-cmd>  =>   B<integer>

=begin html

<br>Count of failed text commands.

=end html

=back



=over 2

=item * I<hdr-digest>  =>   B<integer>

=begin html

<br>Count of digest errors.

=end html

=back



=over 2

=item * I<invalid-header>  =>   B<integer>

=begin html

<br>Count of PDU discards due to invalid PDU header.

=end html

=back



=over 2

=item * I<outside-cmd-sn-window>  =>   B<integer>

=begin html

<br>Count of PDU discards due to PDU being outside of command sequence number window.

=end html

=back



=over 2

=item * I<protocol>  =>   B<integer>

=begin html

<br>Count of protocol errors.

=end html

=back



=over 2

=item * I<total>  =>   B<integer>

=begin html

<br>Total errors.

=end html

=back



=head2 iscsi-initiator-list-entry-info

=begin html

Information about a single initiator.

=end html



B<Fields>

=over 2

=item * I<initiator-aliasname>  =>   B<string, optional>

=begin html

<br>User-friendly name assigned to initiator. This field is only present if the initiator provided an alias during login.

=end html

=back



=over 2

=item * I<initiator-group-list>  =>   B<L<"initiator-group-list-info">[], optional>

=begin html

<br>List of initiator groups containing this iSCSI initiator.

=end html

=back



=over 2

=item * I<initiator-nodename>  =>   B<string>

=begin html

<br>Name of initiator. The initiator name must conform to RFC 3720, for example: "iqn.1987-06.com.initvendor1:appsrv.sn.2346".

=end html

=back



=over 2

=item * I<isid>  =>   B<string>

=begin html

<br>ISID for this session selected by initiator represented as 6 hexadecimal octets separated by colons, for example: "40:01:37:00:00:00".

=end html

=back



=over 2

=item * I<target-session-id>  =>   B<integer>

=begin html

<br>iSCSI session identifier assigned by the target.

=end html

=back



=over 2

=item * I<tpgroup-name>  =>   B<string>

=begin html

<br>The name of the target portal group associated with this session.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>Tag of target portal group associated with this session.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Name of the vserver this initiator is connected to.

=end html

=back



=head2 iscsi-interface-accesslist-entry-info

=begin html

Information about a single accesslist entry When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<initiator>  =>   B<string, optional>

=begin html

<br>Initiator that can access the iSCSI LIFs Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string, optional>

=begin html

<br>iSCSI LIF Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver hosting the iSCSI LIF Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 iscsi-interface-list-entry-info

=begin html

Information about a single interface

=end html



B<Fields>

=over 2

=item * I<current-node>  =>   B<string>

=begin html

<br>Name of the node currently hosting the LIF.

=end html

=back



=over 2

=item * I<current-port>  =>   B<string>

=begin html

<br>Name of the physical ethernet interface currently hosting the LIF.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of interface. In Data ONTAP 7-Mode, this is the name of a physical ethernet interface, for example: "e0c". In Data ONTAP Cluster-Mode, this is the name of an iSCSI data LIF in the Vserver.

=end html

=back



=over 2

=item * I<ip-address>  =>   B<string>

=begin html

<br>iSCSI target portal IP address.

=end html

=back



=over 2

=item * I<ip-port>  =>   B<integer>

=begin html

<br>iSCSI target portal TCP port.

=end html

=back



=over 2

=item * I<is-interface-enabled>  =>   B<boolean>

=begin html

<br>"true" if interface enabled for iSCSI, "false" otherwise.

=end html

=back



=over 2

=item * I<relative-port-id>  =>   B<integer>

=begin html

<br>The SCSI Relative Target Port Identifier of the LIF.

=end html

=back



=over 2

=item * I<sendtargets-fqdn>  =>   B<string, optional>

=begin html

<br>Specifies the Fully Qualified Domain Name (FQDN) of the LIF to be returned in iSCSI SendTargets discovery. If unset, the IP address of the LIF is used instead.

=end html

=back



=over 2

=item * I<tpgroup-name>  =>   B<string>

=begin html

<br>Name of target portal group interface is associated with.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>Id of target portal group interface is associated with.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The name of the vserver containing this iSCSI data LIF.

=end html

=back



=head2 iscsi-isns-info

=begin html

iSCSI iSNS Service Configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-isns-enabled>  =>   B<boolean, optional>

=begin html

<br>true if the iSNS Service is running, false otherwise. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<isns-entity-id>  =>   B<string, optional>

=begin html

<br>Entity id existing on the iSNS server Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<isns-ip-addr>  =>   B<ip-address, optional>

=begin html

<br>iSNS server IP address. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<last-successful-update>  =>   B<integer, optional>

=begin html

<br>Last successful iSNS update time in seconds since January 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-successful-update-timestamp>  =>   B<integer, optional>

=begin html

<br>Last successful iSNS update time in seconds since January 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-update-attempt>  =>   B<integer, optional>

=begin html

<br>Last iSNS update attempt time in seconds since January 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-update-attempt-timestamp>  =>   B<integer, optional>

=begin html

<br>Last iSNS update attempt time in seconds since January 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-update-result>  =>   B<string, optional>

=begin html

<br>Result of the last iSNS update. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver hosting the iSNS service. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 iscsi-received-stats-info

=begin html

Counts for PDUs received.

=end html



B<Fields>

=over 2

=item * I<data-out>  =>   B<integer>

=begin html

<br>Count of data out requests.

=end html

=back



=over 2

=item * I<login-req>  =>   B<integer>

=begin html

<br>Count of login requests.

=end html

=back



=over 2

=item * I<logout-req>  =>   B<integer>

=begin html

<br>Count of logout requests.

=end html

=back



=over 2

=item * I<nop-out>  =>   B<integer>

=begin html

<br>Count of NOP Out.

=end html

=back



=over 2

=item * I<scsi-cmd>  =>   B<integer>

=begin html

<br>Count of SCSI commands.

=end html

=back



=over 2

=item * I<scsi-task-mgt-cmd>  =>   B<integer>

=begin html

<br>Count of SCSI task management commands.

=end html

=back



=over 2

=item * I<snack>  =>   B<integer>

=begin html

<br>Count of SNACK requests.

=end html

=back



=over 2

=item * I<text-req>  =>   B<integer>

=begin html

<br>Count of text requests.

=end html

=back



=over 2

=item * I<total>  =>   B<integer>

=begin html

<br>Total PDUs received.

=end html

=back



=over 2

=item * I<unknown>  =>   B<integer>

=begin html

<br>Count of unknown PDUs.

=end html

=back



=head2 iscsi-security-entry-info

=begin html

Information about a single authentication entry.

=end html



B<Fields>

=over 2

=item * I<auth-chap-policy>  =>   B<string, optional>

=begin html

<br>CHAP authentication path. Possible values: "local", "radius".

=end html

=back



=over 2

=item * I<auth-type>  =>   B<string>

=begin html

<br>Authentication type. Possible values: "CHAP", "none", "deny".

=end html

=back



=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Name of initiator. The initiator name must conform to RFC 3720, for example: "iqn.1987-06.com.initvendor1:appsrv.sn.2346", or "default" if this is a default auth entry.

=end html

=back



=over 2

=item * I<initiator-address-ranges>  =>   B<ip-range-or-mask[], optional>

=begin html

<br>May be a single IPv4 or IPv6 address or a range containing a start address and an end address. The start and end addresses themselves are included in the range. If not present, the initiator is allowed to log in from any IP address. <p> An example of a valid IPv4 address range is: '192.168.1.100-192.168.1.150'. An example of a valid IPv6 address range is: '2001:db8::1000:1-2001:db8::1000:50'.

=end html

=back



=over 2

=item * I<outbound-user-name>  =>   B<string, optional>

=begin html

<br>Outbound CHAP user name, returned only if auth-type is CHAP, and outbound authentication is set for initiator.

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Inbound CHAP user name, returned only if auth-type is CHAP.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver containing this authentication information.

=end html

=back



=head2 iscsi-service-info

=begin html

iSCSI Target Service Configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<alias-name>  =>   B<string, optional>

=begin html

<br>The iSCSI target alias of the Vserver. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-available>  =>   B<boolean, optional>

=begin html

<br>true if the iSCSI Service is running, false otherwise. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<login-timeout>  =>   B<integer, optional>

=begin html

<br>Login phase duration in seconds. Specifies maximum time the login phase remains active until the iSCSI target terminates the connection. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-cmds-per-session>  =>   B<integer, optional>

=begin html

<br>Maximum commands per session. Specifies the maximum number of commands per session that the iSCSI target can accept. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-conn-per-session>  =>   B<integer, optional>

=begin html

<br>Maximum connections per session. Specifies the maximum number of connections per session that the iSCSI target can accept. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-error-recovery-level>  =>   B<integer, optional>

=begin html

<br>Maximum error recovery level. The possible values are: <ul> <li>0 - session failure recovery. <li>1 - digest failure recovery. <li>2 - connection failure recovery. </ul> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The iSCSI target name of the Vserver. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<retain-timeout>  =>   B<integer, optional>

=begin html

<br>Default time-to-retain value in seconds. Specifies the wait time before active task reassignment is possible after an unexpected connection termination. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<tcp-window-size>  =>   B<integer, optional>

=begin html

<br>TCP receive window size in bytes. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver hosting the iSCSI service. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 iscsi-session-connection-list-entry-info

=begin html

Information about a single tcp connection

=end html



B<Fields>

=over 2

=item * I<authentication-method>  =>   B<string>

=begin html

<br>Authentication method of this connection. Possible values: "CHAP", "none".

=end html

=back



=over 2

=item * I<connection-id>  =>   B<integer>

=begin html

<br>Connection id within the session.

=end html

=back



=over 2

=item * I<data-digest-enabled>  =>   B<boolean>

=begin html

<br>True if data digests are enabled on this connection, false otherwise.

=end html

=back



=over 2

=item * I<header-digest-enabled>  =>   B<boolean>

=begin html

<br>True if header digests are enabled on this connection, false otherwise.

=end html

=back



=over 2

=item * I<initiator-max-rcv-data-segment-length>  =>   B<integer>

=begin html

<br>Initiator's MaxRecvDataSegmentLength as defined in RFC 3720, in bytes.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string>

=begin html

<br>Name of network interface hosting this connection. In Data ONTAP 7-Mode, this is the name of a physical ethernet interface, for example: "e0c". In Data ONTAP Cluster-Mode, this is the name of an iSCSI data LIF in the Vserver.

=end html

=back



=over 2

=item * I<local-ip-address>  =>   B<string>

=begin html

<br>Local storage system iSCSI target interface address.

=end html

=back



=over 2

=item * I<local-ip-port>  =>   B<integer>

=begin html

<br>Local storage system iSCSI target TCP port.

=end html

=back



=over 2

=item * I<rcv-window-size>  =>   B<integer>

=begin html

<br>TCP/IP receive window size, in octets.

=end html

=back



=over 2

=item * I<remote-ip-address>  =>   B<string>

=begin html

<br>Remote initiator IP address.

=end html

=back



=over 2

=item * I<remote-ip-port>  =>   B<integer>

=begin html

<br>Remote initiator TCP port.

=end html

=back



=over 2

=item * I<target-max-rcv-data-segment-length>  =>   B<integer>

=begin html

<br>Target's MaxRecvDataSegmentLength as defined in RFC 3720, in bytes.

=end html

=back



=head2 iscsi-session-list-entry-info

=begin html

Information about a single iSCSI session. In Data ONTAP 7-Mode, sessions are uniquely identified by the 'target-session-id'. In Data ONTAP Cluster-Mode, sessions are uniquely identified within a Vserver by the combination of 'tpgroup-name' and 'target-session-id'.

=end html



B<Fields>

=over 2

=item * I<cmd-window-size>  =>   B<integer>

=begin html

<br>The maximum number of I/O operations per session. This field has been superseded by max-ios-per-session starting with Data ONTAP 8.3 and is retained for compatibility.

=end html

=back



=over 2

=item * I<data-pdu-in-order>  =>   B<boolean>

=begin html

<br>The DataPDUInOrder of the session as defined in RFC 3720.

=end html

=back



=over 2

=item * I<data-sequence-in-order>  =>   B<boolean>

=begin html

<br>The DataSequenceInOrder of the session as defined in RFC 3720.

=end html

=back



=over 2

=item * I<default-time-to-retain>  =>   B<integer>

=begin html

<br>The DefaultTime2Retain of the session as defined in RFC 3720, in seconds.

=end html

=back



=over 2

=item * I<default-time-to-wait>  =>   B<integer>

=begin html

<br>The DefaultTime2Wait of the session as defined in RFC 3720, in seconds.

=end html

=back



=over 2

=item * I<error-recovery-level>  =>   B<integer>

=begin html

<br>iSCSI ErrorRecoveryLevel as defined in RFC 3720.

=end html

=back



=over 2

=item * I<first-burst-length>  =>   B<integer>

=begin html

<br>The FirstBurstLength of the session as defined in RFC 3720, in bytes.

=end html

=back



=over 2

=item * I<immediate-data-enabled>  =>   B<boolean>

=begin html

<br>True if this session has immediate data enabled, false otherwise.

=end html

=back



=over 2

=item * I<initial-r2t-enabled>  =>   B<boolean>

=begin html

<br>True if this session has R2T enabled, false otherwise.

=end html

=back



=over 2

=item * I<initiator-aliasname>  =>   B<string, optional>

=begin html

<br>The user-friendly name assigned to initiator. This field is only present if the initiator provided an alias during login.

=end html

=back



=over 2

=item * I<initiator-nodename>  =>   B<string>

=begin html

<br>Name of initiator. The initiator name must conform to RFC 3720, for example: "iqn.1987-06.com.initvendor1:appsrv.sn.2346".

=end html

=back



=over 2

=item * I<iscsi-session-connection-list-entries>  =>   B<L<"iscsi-session-connection-list-entry-info">[], optional>

=begin html

<br>List of TCP/IP connections associated with this session.

=end html

=back



=over 2

=item * I<iscsi-sesssion-cmd-list-entries>  =>   B<L<"iscsi-sesssion-cmd-list-entry-info">[], optional>

=begin html

<br>List of active commands associated with this session

=end html

=back



=over 2

=item * I<isid>  =>   B<string>

=begin html

<br>ISID for this session selected by initiator represented as 6 hexadecimal octets separated by colons, for example: "40:01:37:00:00:00".

=end html

=back



=over 2

=item * I<max-burst-length>  =>   B<integer>

=begin html

<br>The MaxBurstLength of the session as defined in RFC 3720, in bytes.

=end html

=back



=over 2

=item * I<max-connections>  =>   B<integer>

=begin html

<br>Maximum number of connections for this session.

=end html

=back



=over 2

=item * I<max-ios-per-session>  =>   B<integer>

=begin html

<br>The maximum number of I/O operations per session. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<max-outstanding-r2t>  =>   B<integer>

=begin html

<br>The MaxOutstandingR2T of the session as defined in RFC 3720.

=end html

=back



=over 2

=item * I<session-type>  =>   B<string>

=begin html

<br>Possible values: "normal" or "discovery".

=end html

=back



=over 2

=item * I<target-session-id>  =>   B<integer>

=begin html

<br>The iSCSI session identifier assigned by the storage system.

=end html

=back



=over 2

=item * I<tpgroup-name>  =>   B<string>

=begin html

<br>The name of the target portal group associated with this session.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>The tag of the target portal group associated with this session.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The name of the vserver containing this session.

=end html

=back



=head2 iscsi-sesssion-cmd-list-entry-info

=begin html

information about a particular command

=end html



B<Fields>

=over 2

=item * I<cmd-state>  =>   B<string>

=begin html

<br>State of iSCSI command. Possible values: <ul> <li> "FREE" - Free, <li> "Logout_Begin" - Logout - Begin, <li> "Logout_Wait_For_Other_Conn" - Logout - Wait For Other Conn, <li> "Logout_Build_and_Send_Resp" - Logout - Build and Send Resp, <li> "Logout_Waiting_StatSN_ACK" - Logout - Waiting StatSN ACK, <li> "Logout_Done" - Logout - Done, <li> "Nopout_Begin" - Nopout - Begin, <li> "Nopout_Build_And_Send_Resp" - Nopout - Build And Send Resp, <li> "Nopout_Waiting_Resp_Sockio_Comp" - Nopout - Waiting Resp Sockio Comp, <li> "Nopout_Resp_Sockio_Comp" - Nopout - Resp Sockio Comp, <li> "Nopout_Waiting_StatSN_ACK" - Nopout - Waiting StatSN ACK, <li> "Nopout_Done" - Nopout - Done, <li> "Taskmgmt_Begin" - Taskmgmt - Begin, <li> "Taskmgmt_Waiting_FFPCmds_Rcvd" - Taskmgmt - Waiting FFPCmds Rcvd, <li> "Taskmgmt_FFPCmds_Rcvd" - Taskmgmt - FFPCmds Rcvd, <li> "Taskmgmt_Waiting_FFPCmds_Complete" - Taskmgmt - Waiting FFPCmds Complete, <li> "Taskmgmt_Build_And_Send_Resp" - Taskmgmt - Build And Send Resp, <li> "Taskmgmt_Waiting_StatSN_ACK" - Taskmgmt - Waiting StatSN ACK, <li> "Taskmgmt_Done" - Taskmgmt - Done, <li> "Text_Begin" - Text - Begin, <li> "Text_Waiting_Portal_List_Notify" - Text - Waiting Portal List Notify, <li> "Text_Build_And_Send_Resp" - Text - Build And Send Resp, <li> "Text_Waiting_Resp_Sockio_Comp" - Text - Waiting Resp Sockio Comp, <li> "Text_Resp_Sockio_Comp" - Text - Resp Sockio Comp, <li> "Text_Waiting_StatSN_ACK" - Text - Waiting StatSN ACK, <li> "Text_Done" - Text - Done, <li> "Scsicdb_Begin" - Scsicdb - Begin, <li> "Scsicdb_Claim_Early_Udata" - Scsicdb - Claim Early Udata, <li> "Scsicdb_Waiting_Udata_Rcvd" - Scsicdb - Waiting Udata Rcvd, <li> "Scsicdb_Udata_Rcvd" - Scsicdb - Udata Rcvd, <li> "Scsicdb_Ready_For_STSubmit" - Scsicdb - Ready For STSubmit, <li> "Scsicdb_Udata_Not_Rcvd" - Scsicdb - Udata Not Rcvd, <li> "Scsicdb_Udata_Waiting_Task_Reassignment" - Scsicdb - Udata Waiting Task Reassignment, <li> "Scsicdb_Udata_Task_Reassigned" - Scsicdb - Udata Task Reassigned, <li> "Scsicdb_Waiting_STLayer" - Scsicdb - Waiting STLayer, <li> "Scsicdb_RD_STLayer_Called" - Scsicdb - RD STLayer Called, <li> "Scsicdb_RD_Build_And_Send_R2T" - Scsicdb - RD Build And Send R2T, <li> "Scsicdb_RD_Waiting_Burst" - Scsicdb - RD Waiting Burst, <li> "Scsicdb_RD_Burst_Rcvd" - Scsicdb - RD Burst Rcvd, <li> "Scsicdb_RD_Done" - Scsicdb - RD Done, <li> "Scsicdb_RD_Burst_Not_Rcvd" - Scsicdb - RD Burst Not Rcvd, <li> "Scsicdb_RD_Waiting_Task_Reassignment" - Scsicdb - RD Waiting Task Reassignment, <li> "Scsicdb_RD_Task_Reassigned" - Scsicdb - RD Task Reassigned, <li> "Scsicdb_SD_STLayer_Called" - Scsicdb - SD STLayer Called, <li> "Scsicdb_SD_XDI_Done" - Scsicdb - SD XDI Done, <li> "Scsicdb_SD_Waiting_DataSN_ACK" - Scsicdb - SD Waiting DataSN ACK, <li> "Scsicdb_SD_Done" - Scsicdb - SD Done, <li> "Scsicdb_SD_SNACK_Rcvd" - Scsicdb - SD SNACK Rcvd, <li> "Scsicdb_SD_Task_Reassigned" - Scsicdb - SD Task Reassigned, <li> "Scsicdb_SR_STLayer_Called" - Scsicdb - SR STLayer Called, <li> "Scsicdb_SR_Build_And_Send_Resp" - Scsicdb - SR Build And Send Resp, <li> "Scsicdb_SR_Waiting_StatSN_ACK" - Scsicdb - SR Waiting StatSN ACK, <li> "Scsicdb_SR_Done" - Scsicdb - SR Done, <li> "Scsicdb_SR_SNACK_Rcvd" - Scsicdb - SR SNACK Rcvd, <li> "Scsicdb_SR_Task_Reassigned" - Scsicdb - SR Task Reassigned, <li> "Scsicdb_SR_XDI_Done" - Scsicdb - SR XDI Done, <li> "Scsicdb_SDR_STLayer_Called" - Scsicdb - SDR STLayer Called, <li> "Scsicdb_SDR_XDI_Done" - Scsicdb - SDR XDI Done, <li> "Scsicdb_SDR_Waiting_StatSN_ACK" - Scsicdb - SDR Waiting StatSN ACK, <li> "Scsicdb_SDR_Done" - Scsicdb - SDR Done, <li> "Scsicdb_SDR_SNACK_Rcvd" - Scsicdb - SDR SNACK Rcvd, <li> "Scsicdb_SDR_Task_Reassigned" - Scsicdb - SDR Task Reassigned, <li> "Scsicdb_Abort_Begin" - Scsicdb - Abort Begin, <li> "Scsicdb_Abort_Build_And_Send_Resp" - Scsicdb - Abort Build And Send Resp, <li> "Scsicdb_Abort_Waiting_StatSN_ACK" - Scsicdb - Abort Waiting StatSN ACK, <li> "Scsicdb_Abort_Done" - Scsicdb - Abort Done, <li> "Scsicdb_Abort_SNACK_Rcvd" - Scsicdb - Abort SNACK Rcvd, <li> "Scsicdb_Abort_Task_Reassigned" - Scsicdb - Abort Task Reassigned, <li> "Scsicdb_Abort_XDI_Done" - Scsicdb - Abort XDI Done, <li> "Scsicdb_QFull_Begin" - Scsicdb - QFull Begin, <li> "Scsicdb_QFull_Build_And_Send_Resp" - Scsicdb - QFull Build And Send Resp, <li> "Scsicdb_QFull_Waiting_StatSN_ACK" - Scsicdb - QFull Waiting StatSN ACK, <li> "Scsicdb_QFull_Done" - Scsicdb - QFull Done, <li> "Scsicdb_XDI_Start" - Scsicdb - XDI Start, <li> "Scsicdb_XDI_Waiting_Data_In_Sockio_Comp" - Scsicdb - XDI Waiting Data In Sockio Comp, <li> "Scsicdb_Waiting_Scsitgt_Abort" - Scsicdb - Waiting Scsitgt Abort, <li> "Done" - Done. </ul>

=end html

=back



=over 2

=item * I<cmd-sub-id>  =>   B<integer>

=begin html

<br>Variety specific sub-id.

=end html

=back



=over 2

=item * I<cmd-type>  =>   B<string>

=begin html

<br>Type of command being executed. Possible values: <ul> <li> "Seq", <li> "ITM", <li> "Oth", <li> "UNK". </ul>

=end html

=back



=head2 iscsi-stats-info

=begin html

Statistics block

=end html



B<Fields>

=over 2

=item * I<iscsi-cdb-stats>  =>   B<L<"iscsi-cdb-stats-info">>

=begin html

<br>Statistics of Command Descriptor Blocks.

=end html

=back



=over 2

=item * I<iscsi-error-stats>  =>   B<L<"iscsi-error-stats-info">>

=begin html

<br>Statistics of errors.

=end html

=back



=over 2

=item * I<iscsi-received-stats>  =>   B<L<"iscsi-received-stats-info">>

=begin html

<br>Statistics of PDUs received.

=end html

=back



=over 2

=item * I<iscsi-transmitted-stats>  =>   B<L<"iscsi-transmitted-stats-info">>

=begin html

<br>Statistics of PDUs transmitted.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver hosting the iSCSI service.

=end html

=back



=head2 iscsi-tpgroup-list-entry-info

=begin html

Information about a single portal group

=end html



B<Fields>

=over 2

=item * I<interface-list-entries>  =>   B<L<"interface-list-entry-info">[], optional>

=begin html

<br>List of interfaces associated with this tpgroup.

=end html

=back



=over 2

=item * I<is-user-defined>  =>   B<boolean>

=begin html

<br>True if the target portal group is user defined, false if the target portal group is system defined.

=end html

=back



=over 2

=item * I<tpgroup-name>  =>   B<string>

=begin html

<br>Portal group name.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer>

=begin html

<br>Portal group tag.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing this target portal group.

=end html

=back



=head2 iscsi-transmitted-stats-info

=begin html

Counts for PDUs transmitted.

=end html



B<Fields>

=over 2

=item * I<async-msg>  =>   B<integer>

=begin html

<br>Count of asynchronous iSCSI messages.

=end html

=back



=over 2

=item * I<data-in>  =>   B<integer>

=begin html

<br>Count of data in PDUs.

=end html

=back



=over 2

=item * I<login-rsp>  =>   B<integer>

=begin html

<br>Count of login responses.

=end html

=back



=over 2

=item * I<logout-rsp>  =>   B<integer>

=begin html

<br>Count of logout responses.

=end html

=back



=over 2

=item * I<nop-in>  =>   B<integer>

=begin html

<br>Count of NOP In.

=end html

=back



=over 2

=item * I<ready-to-transmit>  =>   B<integer>

=begin html

<br>Count of ready to transmit PDUs

=end html

=back



=over 2

=item * I<reject>  =>   B<integer>

=begin html

<br>Count of reject PDUs.

=end html

=back



=over 2

=item * I<scsi-rsp>  =>   B<integer>

=begin html

<br>Count of scsi responses.

=end html

=back



=over 2

=item * I<scsi-task-mgt-rsp>  =>   B<integer>

=begin html

<br>Count of scsi task management responses.

=end html

=back



=over 2

=item * I<text-rsp>  =>   B<integer>

=begin html

<br>Count of text responses.

=end html

=back



=over 2

=item * I<total>  =>   B<integer>

=begin html

<br>Total PDUs transmitted.

=end html

=back



=head2 cron-day-of-month

=begin html

Job Manager cron scheduling day of month. -1 represents all days of a month from 1 to 31, and only supported for cron schedule create and modify. Range : [-1..31].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cron-day-of-week

=begin html

Job Manager cron scheduling day of week. Zero represents Sunday. -1 represents all days of a week and only supported for cron schedule create and modify. Range : [-1..6].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cron-hour

=begin html

Job Manager cron scheduling hour. -1 represents all hours and only supported for cron schedule create and modify. Range : [-1..23].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cron-minute

=begin html

Job Manager cron scheduling minute. -1 represents all minutes and only supported for cron schedule create and modify. Range : [-1..59].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cron-month

=begin html

Job Manager cron scheduling month. -1 represents all months and only supported for cron schedule create and modify. Range : [-1..11].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 job-affinity

=begin html

All jobs are scheduled with direction as to where they should execute. This affinity may either be node-specific or apply to all nodes (cluster). The affinity of the job is specific to the type of operations the job performs and is not user configurable. Possible values: <ul> <li> "cluster" - Cluster Affinity, <li> "node" - Node Affinity </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 job-event-type

=begin html

Jobs will trigger history events at certain stages of their life cycle. These events are of the types described herein. Possible values: <ul> <li> "idle" - The job has become idle, <li> "running" - The job has started running, <li> "succeeded" - The job has completed successfully, <li> "failed" - The job has completed with a failure, <li> "paused" - The job has been paused, <li> "stopped" - The job has been stopped, <li> "deleted" - The job has been deleted, <li> "error" - Job Manager experienced an error while processing the job </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 job-history-info

=begin html

Job history log event When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<job-completion>  =>   B<string, optional>

=begin html

<br>Human-readable job completion message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-description>  =>   B<string, optional>

=begin html

<br>Job description. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-end-time>  =>   B<integer, optional>

=begin html

<br>When the job last completed. The time value is in seconds since January 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-event-time>  =>   B<integer, optional>

=begin html

<br>The time when this event was logged. The time value is in seconds since January 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-event-type>  =>   B<job-event-type, optional>

=begin html

<br>The type of this history event. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "idle" - The job has become idle, <li> "running" - The job has started running, <li> "succeeded" - The job has completed successfully, <li> "failed" - The job has completed with a failure, <li> "paused" - The job has been paused, <li> "stopped" - The job has been stopped, <li> "deleted" - The job has been deleted, <li> "error" - Job Manager experienced an error while processing the job </ul>

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>The identifier associated with this job by the Job Manager. This identifier is unique within a cluster. The 'job-history-get-iter' API can return multiple records for a given job identifier because it logs the state transitions that the job has been through. Records in the 'job-history-get-iter' API are returned in reverse chronological order. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-manager-error-code>  =>   B<integer, optional>

=begin html

<br>The error code, if any, that the Job Manager associated with this event. If set, 'job-error-text' will contain human-readable information about the error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-manager-error-text>  =>   B<string, optional>

=begin html

<br>The human-readable text for the error code, if any, that the Job Manager associated with this event. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-name>  =>   B<string, optional>

=begin html

<br>Name of the job. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-node>  =>   B<node-name, optional>

=begin html

<br>The name of the node where the job ran, or the node that changed the job's state. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-progress>  =>   B<string, optional>

=begin html

<br>Human-readable job progress message. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-start-time>  =>   B<integer, optional>

=begin html

<br>When the job last started. The time value is in seconds since January 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-status-code>  =>   B<integer, optional>

=begin html

<br>Status code. Value other than 0 indicates an error in the job execution, in which case 'job-completion' will contain human-readable information about the error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-username>  =>   B<string, optional>

=begin html

<br>The name of the user that created the job. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-uuid>  =>   B<uuid, optional>

=begin html

<br>Job's universally unique identifier (UUID). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-vserver>  =>   B<job-history-vserver-name, optional>

=begin html

<br>Vserver from which the job was created. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<log-id>  =>   B<integer, optional>

=begin html

<br>The internal identifier of this job history event. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 job-history-vserver-name

=begin html

The name of the Vserver.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 job-info

=begin html

Contains information about a specific job When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-restarted>  =>   B<boolean, optional>

=begin html

<br>Restarted? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-affinity>  =>   B<job-affinity, optional>

=begin html

<br>Affinity Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "cluster" - Cluster Affinity, <li> "node" - Node Affinity </ul>

=end html

=back



=over 2

=item * I<job-category>  =>   B<string, optional>

=begin html

<br>Job Category Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-completion>  =>   B<string, optional>

=begin html

<br>Completion String Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-description>  =>   B<string, optional>

=begin html

<br>Description Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-dropdead-time>  =>   B<integer, optional>

=begin html

<br>Drop-dead Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-end-time>  =>   B<integer, optional>

=begin html

<br>End Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>Job ID Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-name>  =>   B<string, optional>

=begin html

<br>Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-node>  =>   B<filer-id, optional>

=begin html

<br>Node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-priority>  =>   B<job-priority, optional>

=begin html

<br>Priority Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "low" , <li> "medium" , <li> "high" , <li> "exclusive" </ul>

=end html

=back



=over 2

=item * I<job-process>  =>   B<string, optional>

=begin html

<br>Process Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-progress>  =>   B<string, optional>

=begin html

<br>Information about the progress of this job. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-queue-time>  =>   B<integer, optional>

=begin html

<br>Queue Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-restart-is-delayed-by-module>  =>   B<string, optional>

=begin html

<br>Restart Is Delayed by Module Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-restart-is-or-was-delayed>  =>   B<boolean, optional>

=begin html

<br>Restart Is or Was Delayed? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule>  =>   B<string, optional>

=begin html

<br>Schedule Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-start-time>  =>   B<integer, optional>

=begin html

<br>Start Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-state>  =>   B<job-state, optional>

=begin html

<br>State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initial" - Initializing, <li> "queued" - Queued, <li> "running" - Running, <li> "waiting" - Waiting For Another Job, <li> "pausing" - Entering Paused State, <li> "paused" - Paused, <li> "quitting" - Entering Quit State, <li> "success" - Succeeded, <li> "failure" - Failed, <li> "reschedule" - Forcing Reschedule, <li> "error" - Internal Error, <li> "quit" - Quit, <li> "dead" - Died, <li> "unknown" - Unknown, <li> "restart" - Forcing Restart, <li> "dormant" - Waiting For External Event </ul>

=end html

=back



=over 2

=item * I<job-status-code>  =>   B<integer, optional>

=begin html

<br>Status Code Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-type>  =>   B<string, optional>

=begin html

<br>Job Type Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-username>  =>   B<string, optional>

=begin html

<br>User Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-uuid>  =>   B<uuid, optional>

=begin html

<br>UUID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-vserver>  =>   B<vserver-name, optional>

=begin html

<br>Owning Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 job-pause-iter-info

=begin html

Information about the operation that was attempted/performed against job object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-key>  =>   B<L<"job-info">>

=begin html

<br>The keys for the job object to which the operation applies.

=end html

=back



=head2 job-priority

=begin html

Execution priority of a job. There are thread pools for each priority level. Higher priority jobs may run in the pools of lower priorities. So High-priority jobs may run in the High, Medium or Low thread pools, Medium-priority jobs may run in the Medium or Low thread pools and Low-priority jobs may only run in the Low thread pool. The exception to this is Exclusive jobs: Exclusive-priority jobs will only run in the Exclusive thread pool and only Exclusive-priority jobs will be run in the Exclusive thread pool. Possible values: <ul> <li> "low" , <li> "medium" , <li> "high" , <li> "exclusive" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 job-private-pause-iter-info

=begin html

Information about the operation that was attempted/performed against private job object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-private-key>  =>   B<L<"job-info">>

=begin html

<br>The keys for the private job object to which the operation applies.

=end html

=back



=head2 job-private-resume-iter-info

=begin html

Information about the operation that was attempted/performed against private job object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-private-key>  =>   B<L<"job-info">>

=begin html

<br>The keys for the private job object to which the operation applies.

=end html

=back



=head2 job-private-soft-pause-iter-info

=begin html

Information about the operation that was attempted/performed against private job object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-private-key>  =>   B<L<"job-info">>

=begin html

<br>The keys for the private job object to which the operation applies.

=end html

=back



=head2 job-private-stop-iter-info

=begin html

Information about the operation that was attempted/performed against private job object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-private-key>  =>   B<L<"job-info">>

=begin html

<br>The keys for the private job object to which the operation applies.

=end html

=back



=head2 job-resume-iter-info

=begin html

Information about the operation that was attempted/performed against job object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-key>  =>   B<L<"job-info">>

=begin html

<br>The keys for the job object to which the operation applies.

=end html

=back



=head2 job-schedule-cron-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against job-schedule-cron object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-schedule-cron-key>  =>   B<L<"job-schedule-cron-info">>

=begin html

<br>The keys for the job-schedule-cron object to which the deletion applies.

=end html

=back



=head2 job-schedule-cron-info

=begin html

Contains detail information about cron job schedules. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule-cron-day>  =>   B<cron-day-of-month[], optional>

=begin html

<br>The day(s) of the month when the job should be run. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-cron-day-of-week>  =>   B<cron-day-of-week[], optional>

=begin html

<br>The day(s) in the week when the job should be run. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-cron-hour>  =>   B<cron-hour[], optional>

=begin html

<br>The hour(s) of the day when the job should be run. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-cron-minute>  =>   B<cron-minute[], optional>

=begin html

<br>The minute(s) of each hour when the job should be run. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-cron-month>  =>   B<cron-month[], optional>

=begin html

<br>The month(s) when the job should be run. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-description>  =>   B<string, optional>

=begin html

<br>The description of the job schedule. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string, optional>

=begin html

<br>The name of the job schedule. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 job-schedule-info

=begin html

Contains overview information about a single job schedule. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule-description>  =>   B<string, optional>

=begin html

<br>The description of the job schedule. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string, optional>

=begin html

<br>The name of the job schedule. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule-type>  =>   B<schedule-type, optional>

=begin html

<br>The type of job schedule. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "cron" , <li> "interval" , <li> "builtin" , <li> "unknown" </ul>

=end html

=back



=head2 job-schedule-interval-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against job-schedule-interval object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-schedule-interval-key>  =>   B<L<"job-schedule-interval-info">>

=begin html

<br>The keys for the job-schedule-interval object to which the deletion applies.

=end html

=back



=head2 job-schedule-interval-info

=begin html

Contains detail information about interval job schedules. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<job-schedule-cluster>  =>   B<cluster-name, optional>

=begin html

<br>The cluster owner of the job schedule. Defaults to the local cluster. In a Metrocluster configuration, the partner cluster can be specified. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule-description>  =>   B<string, optional>

=begin html

<br>The description of the job schedule. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-schedule-interval-days>  =>   B<integer, optional>

=begin html

<br>The number of days between jobs. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-interval-hours>  =>   B<integer, optional>

=begin html

<br>The number of hours between jobs. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-interval-minutes>  =>   B<integer, optional>

=begin html

<br>The number of minutes between jobs. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-interval-seconds>  =>   B<integer, optional>

=begin html

<br>The number of seconds between jobs. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<job-schedule-name>  =>   B<string, optional>

=begin html

<br>The name of the job schedule. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 job-soft-pause-iter-info

=begin html

Information about the operation that was attempted/performed against job object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-key>  =>   B<L<"job-info">>

=begin html

<br>The keys for the job object to which the operation applies.

=end html

=back



=head2 job-stop-iter-info

=begin html

Information about the operation that was attempted/performed against job object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<job-key>  =>   B<L<"job-info">>

=begin html

<br>The keys for the job object to which the operation applies.

=end html

=back



=head2 schedule-type

=begin html

Jobs may be scheduled according to one of three major styles: 'cron' is for jobs that should be run at a specific time or well-defined calendar date; 'interval' is for jobs that should be run on a regular period; 'builtin' is for jobs that should be run according to internal rules. Of these 'cron' and 'interval' may be customized. Possible values: <ul> <li> "cron" , <li> "interval" , <li> "builtin" , <li> "unknown" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 kdc-vendor

=begin html

Kerberos Key Distribution Center (KDC) Vendor Possible values: <ul> <li> "microsoft" , <li> "other" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 kerberos-config-info

=begin html

Kerberos configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<admin-password>  =>   B<string, optional>

=begin html

<br>Administrator password for the Key Distribution Center. This is a required input. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<admin-user-name>  =>   B<string, optional>

=begin html

<br>Administrator username for the Key Distribution Center. This is a required input. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force option to disable Kerberos security on a LIF (default:false). If set to true, any errors encountered when deleting the corresponding account on the KDC are ignored in which case the account should be deleted manually. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string, optional>

=begin html

<br>Logical interface. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ip-address>  =>   B<string, optional>

=begin html

<br>Logical interface IP address. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-kerberos-enabled>  =>   B<boolean, optional>

=begin html

<br>This is a required input. <p> If 'true', Kerberos security is enabled by creating an account in the Key Distribution Center using the Service Principal Name. If another logical interface uses the same Service Principal Name, the account is shared. <p> If 'false', Kerberos security is disabled and the associated account is deleted when it is not used by any logical interface. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<keytab-uri>  =>   B<string, optional>

=begin html

<br>Load Keytab from URI. This field should not be specified when disabling Kerberos. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<organizational-unit>  =>   B<string, optional>

=begin html

<br>Organization Unit. This option is available for a Microsoft AD KDC only. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<permitted-enc-types>  =>   B<string[], optional>

=begin html

<br>Permitted encryption types in the Vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<service-principal-name>  =>   B<string, optional>

=begin html

<br>Kerberos service principal name. This is a required input for enabling Kerberos. This input should not be specified when disabling Kerberos. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 kerberos-realm

=begin html

Kerberos realm configuration specifies the locations of Key Distribution Center (KDC) servers and administration daemons for the Kerberos realms of interest. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ad-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP Address of the Active Directory Domain Controller (DC). This is a mandatory parameter if the kdc-vendor is 'microsoft'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ad-server-name>  =>   B<string, optional>

=begin html

<br>Host name of the Active Directory Domain Controller (DC). This is a mandatory parameter if the kdc-vendor is 'microsoft' Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<admin-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP address of the host where the Kerberos administration daemon is running. This is usually the master KDC. If this parameter is omitted, the IP address specified in kdc-ip is used. If specified, this should be the same as the kdc-ip if the kdc-vendor is 'microsoft'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<admin-server-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the Kerberos administration server where the Kerberos administration service is running. The default for this parmater is 749. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<clock-skew>  =>   B<integer, optional>

=begin html

<br>The clock skew in minutes is the tolerance for accepting tickets with time stamps that do not exactly match the host's system clock. The default for this parameter is 5 minutes. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<config-name>  =>   B<string, optional>

=begin html

<br>Kerberos configuration name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<kdc-ip>  =>   B<ip-address, optional>

=begin html

<br>IP address of the Key Distribution Centre (KDC) server for this Kerberos realm. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<kdc-port>  =>   B<integer, optional>

=begin html

<br>TCP port on the KDC to be used for Kerberos communication. The default for this parameter is 88. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<kdc-vendor>  =>   B<kdc-vendor, optional>

=begin html

<br>The vendor of the Key Distribution Centre (KDC) server. If the configuration uses a Microsoft Active Directory (AD) domain for authentication, this field should be 'microsoft'. Attributes: required-for-create, modifiable Possible values: <ul> <li> "microsoft" , <li> "other" </ul>

=end html

=back



=over 2

=item * I<password-server-ip>  =>   B<ip-address, optional>

=begin html

<br>IP address of the host where the Kerberos password-changing server is running. Typically, this is the same as the host indicated in the adminserver-ip. If this parameter is omitted, the IP address in kdc-ip is used. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<password-server-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the Kerberos password-changing server where the Kerberos password-changing service is running. The default for this parameter is 464. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<permitted-enc-types>  =>   B<string[], optional>

=begin html

<br>Permitted encryption types on the Vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<realm>  =>   B<string, optional>

=begin html

<br>Kerberos realm name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 hex-string

=begin html

The displays the hexadecimal value in string. Integer value 161 will be displayed as a1

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ldap-auth-method

=begin html

anonymous|simple|sasl Possible values: <ul> <li> "anonymous" - Anonymous bind, <li> "simple" - Simple bind, <li> "sasl" - Simple Authentication and Security Layer (SASL) bind </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ldap-client

=begin html

LDAP Client Information. Each entry specifies an LDAP client configuration that can be associated with a Vserver using the ldap-config-create API. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ad-domain>  =>   B<string, optional>

=begin html

<br>The Active Directory Domain Name for this LDAP configuration. The option is ONLY applicable for configurations using Active Directory LDAP servers. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<allow-ssl>  =>   B<boolean, optional>

=begin html

<br>(DEPRECATED) Allow the use of SSL for the TLS Handshake Protocol over the LDAP connections. The default value is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<base-dn>  =>   B<ldap-dn, optional>

=begin html

<br>Indicates the starting point for searches within the LDAP directory tree. If omitted, searches will start at the root of the directory tree. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<base-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search. If omitted, this parameter defaults to 'subtree'. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<bind-as-cifs-server>  =>   B<boolean, optional>

=begin html

<br>If set, the cluster will use the CIFS server's credentials to bind to the LDAP server. If omitted, this parameter defaults to 'true' if the configuration uses Active Directory LDAP and defaults to 'false' otherwise. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<bind-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Bind Distinguished Name (DN) is the LDAP identity used during the authentication process by the clients. This is required if the LDAP server does not support anonymous binds. This field is not used if 'bind-as-cfs-server' is set to 'true'. Example : cn=username,cn=Users,dc=example,dc=com Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<bind-password>  =>   B<string, optional>

=begin html

<br>The password to be used with the bind-dn. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<group-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Group Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for group lookups. If not specified, group lookups will start at the base-dn. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<group-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing group lookups. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<is-netgroup-byhost-enabled>  =>   B<boolean, optional>

=begin html

<br>This indicates whether netgroup.byhost map should be queried for lookups. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-owner>  =>   B<boolean, optional>

=begin html

<br>This indicates if the vserver owns the client configuration. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ldap-client-config>  =>   B<string, optional>

=begin html

<br>The name of the LDAP client configuration. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<ldap-servers>  =>   B<string[], optional>

=begin html

<br>List of LDAP Servers to use for this configuration. The option is NOT applicable for configurations using ad-domain parameter. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-bind-level>  =>   B<ldap-auth-method, optional>

=begin html

<br>The minimum authentication level that can be used to authenticate with the LDAP server. If omitted, this parameter defaults to 'sasl' if the configuration uses Active Directory LDAP. For configurations that use LDAP servers from other vendors, this parameter defaults to 'simple' if a 'bind-dn' is specified and 'anonymous' otherwise. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "anonymous" - Anonymous bind, <li> "simple" - Simple bind, <li> "sasl" - Simple Authentication and Security Layer (SASL) bind </ul>

=end html

=back



=over 2

=item * I<netgroup-byhost-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Netgroup Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for netgroup byhost lookups. If not specified, netgroup byhost lookups will start at the base-dn. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<netgroup-byhost-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing netgroup byhost lookups. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<netgroup-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The Netgroup Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for netgroup lookups. If not specified, netgroup lookups will start at the base-dn. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<netgroup-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing netgroup lookups. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<obs-password>  =>   B<hex-string, optional>

=begin html

<br>Encrypted Password Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<preferred-ad-servers>  =>   B<ip-address[], optional>

=begin html

<br>Preferred Active Directory (AD) Domain controllers to use for this configuration. This option is ONLY applicable for configurations using Active Directory LDAP servers Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<query-timeout>  =>   B<integer, optional>

=begin html

<br>Maximum time in seconds to wait for a query response from the LDAP server. The default for this parameter is 3 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<schema>  =>   B<string, optional>

=begin html

<br>LDAP schema to use for this configuration. The list of possible schemas can be obtained using the ldap-client-schema-get-iter API. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<servers>  =>   B<ip-address[], optional>

=begin html

<br>(DEPRECATED)-List of LDAP Server IP addresses to use for this configuration. The option is NOT applicable for configurations using Active Directory LDAP servers. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<session-security>  =>   B<ldap-security, optional>

=begin html

<br>This indicates the level of security for LDAP communications. By default this option is none. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "none" - No Signing or Sealing., <li> "sign" - Sign LDAP traffic., <li> "seal" - Seal and Sign LDAP traffic </ul>

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>If true, validation of the the corresponding Lightweight Directory Access Protocol (LDAP) client configuration will be skipped. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<tcp-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on the LDAP server to use for this configuration. If omitted, this parameter defaults to 389. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-start-tls>  =>   B<boolean, optional>

=begin html

<br>This indicates if start_tls will be used over LDAP connections. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<user-dn>  =>   B<ldap-dn, optional>

=begin html

<br>The User Distinguished Name (DN), if specified, is used as the starting point in the LDAP directory tree for user lookups. If this parameter is omitted, user lookups will start at the base-dn. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<user-scope>  =>   B<ldap-search-scope, optional>

=begin html

<br>This indicates the scope for LDAP search when doing user lookups. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name-data-admin, optional>

=begin html

<br>Name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ldap-client-schema

=begin html

An LDAP Client Schema Definition. A schema definition is a way of defining what attribute names are to be used in LDAP queries to get information that the storage system needs for its operation. This will depend on the schema that the LDAP server supports. For example, to query for user account information, the LDAP query should ask for the 'posixAccount' class if the LDAP server is compatible with RFC-2307 and it should ask for 'User' class if the LDAP server is an Active Directory LDAP Server. The default LDAP configuration has two schemas defined namely 'RFC-2307' and 'AD-SFU'. The 'RFC-2307' schema is the default schema that should be used to query servers that support RFC-2307. The 'AD-SFU' schema is the default schema that should be used to query Active Directory LDAP servers. These schemas are read-only and cannot be modified. The default schemas will work with most common LDAP configurations. If it is required to support other schema configurations, 773 :existing schemas can be copied using the 'ldap-client-schema-copy' API and modified using the 'ldap-client-schema-modify' API to work for the new configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cn-group-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2256 cn attribute used by RFC 2307 when working with groups. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<cn-netgroup-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2256 cn attribute used by RFC 2307 when working with netgroups. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A comment that can be associated with the schema. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<enable-rfc2307bis>  =>   B<boolean, optional>

=begin html

<br>This indicates if the RFC 2307bis is enabled for client schema. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<gecos-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 gecos attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<gid-number-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 gidNumber attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<group-of-unique-names-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307bis groupOfUniqueNames object class. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<home-directory-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 homeDirectory attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-owner>  =>   B<boolean, optional>

=begin html

<br>This indicates if the vserver owns the client schema. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<login-shell-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 loginShell attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<member-nis-netgroup-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 memberNisNetgroup attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<member-uid-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 memberUid attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nis-mapentry-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisMapEntry Attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nis-mapname-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisMapName Attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nis-netgroup-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisNetgroup object class. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nis-netgroup-triple-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisNetgroupTriple attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nis-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 nisObject Object Class. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<posix-account-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 posixAccount object class. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<posix-group-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 posixGroup object class. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<schema>  =>   B<string, optional>

=begin html

<br>A name for the schema. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<uid-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 1274 userid attribute used by RFC 2307 as uid. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<uid-number-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307 uidNumber attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<unique-member-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2307bis uniqueMember attribute. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<user-password-attribute>  =>   B<string, optional>

=begin html

<br>Name that represents the RFC 2256 userPassword attribute used by RFC 2307. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name-data-admin, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<windows-account-attribute>  =>   B<string, optional>

=begin html

<br>Attribute name to be used to get the windows account information for a unix user account. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<windows-to-unix-attribute>  =>   B<string, optional>

=begin html

<br>Attribute name to be used to get the unix account information for a windows user account. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<windows-to-unix-no-domain-prefix>  =>   B<boolean, optional>

=begin html

<br>This indicates if the name for windows to unix name mapping should have no domain prefix. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<windows-to-unix-object-class>  =>   B<string, optional>

=begin html

<br>Name that represents the windowsToUnix object class. Attributes: optional-for-create, modifiable

=end html

=back



=head2 ldap-config

=begin html

Lightweight Directory Access Protocol (LDAP) configuration. Specifies the LDAP client configuration that is associated with this Vserver and whether the configuration is enabled. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<client-config>  =>   B<string, optional>

=begin html

<br>The name of an existing Lightweight Directory Access Protocol (LDAP) client configuration. The LDAP client configuration can be created using the ldap-client-create API. The ldap-client-get-iter API can be used to retrieve the list of available LDAP client configurations for the cluster. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<client-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, the corresponding Lightweight Directory Access Protocol (LDAP) configuration is enabled for this Vserver. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>If true, validation of the the corresponding Lightweight Directory Access Protocol (LDAP) client configuration will be skipped. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name-data-admin, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ldap-dn

=begin html

LDAP Distinguished Name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ldap-search-scope

=begin html

base|onelevel|subtree Possible values: <ul> <li> "base" - Searches only the base directory entry, <li> "onelevel" - Searches the immediate subordinates of the base directory entry, <li> "subtree" - Searches the base directory entry and all its subordinates </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ldap-status

=begin html

LDAP Configuration Check When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<client-config>  =>   B<string, optional>

=begin html

<br>Specifies the LDAP Client configuration for the Vserver Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ldap-status>  =>   B<boolean, optional>

=begin html

<br>Specifies the status of a LDAP service. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ldap-status-details>  =>   B<string, optional>

=begin html

<br>Specifies additional information about the status of a LDAP config. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the LDAP configuration. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vserver-name-data-admin

=begin html

The name of the Vserver.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 datetime

=begin html

The number of seconds since January 1, 1970. Range : [0..2^31-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 license-code-v2

=begin html

License Code version 2

=end html



B<Fields>

=over 2

=item * None

=back



=head2 license-entitlement-risk

=begin html

high|medium|low|unlicensed|unknown Possible values: <ul> <li> "high" - Cluster license entitlement risk is high, <li> "medium" - Cluster license entitlement risk is medium, <li> "low" - Cluster license entitlement risk is low, <li> "unlicensed" - No node-locked license present and corresponding features are not in use, <li> "unknown" - License entitlement is unknown </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 license-entitlement-risk-action

=begin html

acquire_license|adjust_capacity|verify_entitlement|verify_system_health|none Possible values: <ul> <li> "acquire_license" - Acquire a node-locked license, <li> "adjust_capacity" - Acquire license for larger system disk capacity, or reduce system capacity, <li> "verify_entitlement" - Verify all controllers are entitled, <li> "verify_system_health" - Verify system health, <li> "none" - None </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 license-v2-added

=begin html

A license entry that was successfully added to the controller or the cluster.

=end html



B<Fields>

=over 2

=item * I<customer-id>  =>   B<string, optional>

=begin html

<br>Customer Identification. This value is only present in site licenses. It is set to none for standard and demo licenses. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<expiration-time>  =>   B<datetime, optional>

=begin html

<br>License expiration time. This value is only present in demo licenses. It is set to zero for permanent licenses such as standard and site licenses. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<license-key>  =>   B<license-code-v2, optional>

=begin html

<br>License Key. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package>  =>   B<licensed-package, optional>

=begin html

<br>Package Name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package-description>  =>   B<string, optional>

=begin html

<br>Description of the package. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Serial Number. This value is only present in standard licenses. It is set to none for site and demo licenses. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<license-v2-type, optional>

=begin html

<br>License Type. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 license-v2-capacity-info

=begin html

Information about a capacity license package. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<current-capacity>  =>   B<integer, optional>

=begin html

<br>The node's current disk capacity. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<expiration-time>  =>   B<datetime, optional>

=begin html

<br>License expiration time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-capacity>  =>   B<integer, optional>

=begin html

<br>Maximum licensed capacity. Absence of this element within a returned value implies that the maximum capacity is temporarily unlimited. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Node that owns the serial number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package>  =>   B<licensed-package, optional>

=begin html

<br>Name of the licensed package. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock Compliance License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "snaplock_enterprise" - SnapLock Enterprise License, <li> "insight_balance" - OnCommand Balance, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License </ul>

=end html

=back



=over 2

=item * I<reported-state>  =>   B<reported-capacity-state, optional>

=begin html

<br>Current state of capacity license. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "evaluation" - evaluation license in effect, <li> "missing" - license has been purchased but not yet installed, <li> "installed" - valid purchased license in effect, <li> "warning" - purchased license in use, but attached capacity is approaching maximum entitled amount, <li> "enforcement" - attached capacity exceeds amount permitted by purchased license </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Serial number of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 license-v2-cleanup

=begin html

Status information about a licensable package. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Name of the controller associated with the license. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package>  =>   B<licensed-package, optional>

=begin html

<br>Name of the licensed package. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "base" - Cluster Base License. This value has been deprecated in Data ONTAP 9.2, <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "insight_balance" - OnCommand Balance License, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License </ul>

=end html

=back



=over 2

=item * I<reason>  =>   B<string, optional>

=begin html

<br>The reason the license can be cleaned up. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Serial number of the controller or cluster. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 license-v2-entitlement-risk-info

=begin html

Information about entitlement risk for license packages. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<action>  =>   B<string, optional>

=begin html

<br>Corrective action text. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<action-code>  =>   B<license-entitlement-risk-action, optional>

=begin html

<br>Corrective action needed to reduce cluster license entitlement risk. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "acquire_license" - Acquire a node-locked license, <li> "verify_entitlement" - Verify all controllers are entitled, <li> "verify_system_health" - Verify system health, <li> "none" - None </ul>

=end html

=back



=over 2

=item * I<node-license-usage>  =>   B<L<"node-license-usage-info">[], optional>

=begin html

<br>Node-locked license information and usage status for each node.

=end html

=back



=over 2

=item * I<package>  =>   B<licensed-package, optional>

=begin html

<br>Name of the license package Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "insight_balance" - OnCommand Balance License, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License </ul>

=end html

=back



=over 2

=item * I<risk>  =>   B<license-entitlement-risk, optional>

=begin html

<br>Entitlement risk for the license package. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "high" - Cluster license entitlement risk is high, <li> "medium" - Cluster license entitlement risk is medium, <li> "low" - Cluster license entitlement risk is low, <li> "unlicensed" - No node-locked license present and corresponding features are not in use, <li> "unknown" - License entitlement is unknown </ul>

=end html

=back



=head2 license-v2-info

=begin html

Information about a licensable package. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<customer-id>  =>   B<string, optional>

=begin html

<br>Customer Identification. This field is used to track site licenses issued to Enterprise Level Agreement customers. It will typical be set to "none" unless a unique customer id has been assigned. This value is reported in Auto Support, and can be used to correlate licensing information with backend business systems for tracking purposes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Description of the licensed package. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<expiration-time>  =>   B<datetime, optional>

=begin html

<br>License expiration time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<legacy>  =>   B<boolean, optional>

=begin html

<br>Legacy License. A legacy license indicates that the license was previously installed prior to this release. Returns true if the license was installed prior to this release and false otherwise.

=end html

=back



=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Controller or Cluster that owns the serial number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package>  =>   B<licensed-package, optional>

=begin html

<br>Name of the licensed package. Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "base" - Cluster Base License. This value has been deprecated in Data ONTAP 9.2, <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "insight_balance" - OnCommand Balance License, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Serial number of the controller or cluster. The license serial-number is reported in Auto Support also and can be used to correlate controller or cluster wide licensing information. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<license-v2-type, optional>

=begin html

<br>License type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "license" , <li> "site" , <li> "demo" , <li> "subscr" , <li> "capacity" </ul>

=end html

=back



=head2 license-v2-license-info

=begin html

Information about Data ONTAP licenses. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<detailed-status>  =>   B<string[], optional>

=begin html

<br>Detailed status of license. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<license>  =>   B<licensed-package, optional>

=begin html

<br>License Name. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "base" - (DEPRECATED)-Cluster Base License, <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "insight_balance" - OnCommand Balance, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License, <li> "fabricpool" - FabricPool License </ul>

=end html

=back



=over 2

=item * I<scope>  =>   B<licensescope, optional>

=begin html

<br>Scope of the license. Valid scope: node/cluster/site. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - License scope NA, <li> "site" - Site Scope, <li> "cluster" - Cluster Scope, <li> "node" - Node Scope </ul>

=end html

=back



=over 2

=item * I<status>  =>   B<licensestatus, optional>

=begin html

<br>Current status of the license. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "not_compliant" - Not Compliant, <li> "eval" - Evaluation License, <li> "partially_installed" - Partially Installed, <li> "valid" - Valid, <li> "not_installed" - Not Installed, <li> "not_applicable" - Not Applicable </ul>

=end html

=back



=head2 license-v2-op-status

=begin html

License Operation Status Possible values: <ul> <li> "license_success" - Operation Completed Successfully, <li> "license_invalid" - Failed: Invalid License Key, <li> "license_expired" - Failed: License Expired, <li> "license_notallowed" - Failed: Operation Not Allowed, <li> "license_unavailable" - Failed: License NOT Available, <li> "license_internal" - Failed: Internal Error, <li> "license_err_unknown" - Failed: Unknown Error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 license-v2-result

=begin html

License operation result When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Additional information of the failure. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<entry>  =>   B<license-code-v2, optional>

=begin html

<br>Failed license entry. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<errcode>  =>   B<license-v2-op-status, optional>

=begin html

<br>Failure error code. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 license-v2-status-info

=begin html

Status information about a licensable package. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Description of the licensed package. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<expiration-time>  =>   B<datetime, optional>

=begin html

<br>License expiration date. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<method>  =>   B<licensed-method, optional>

=begin html

<br>Method in which a package is licensed in a cluster. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "license" - License, <li> "site" - Site, <li> "demo" - Demo, <li> "subscr" - Subscription </ul>

=end html

=back



=over 2

=item * I<package>  =>   B<licensed-package, optional>

=begin html

<br>Name of the licensed package. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "base" - Cluster Base License. This value has been deprecated in Data ONTAP 9.2, <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "insight_balance" - OnCommand Balance License, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License </ul>

=end html

=back



=over 2

=item * I<status-details>  =>   B<string, optional>

=begin html

<br>More information about cluster level license status. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 license-v2-subscription-info

=begin html

Information about a subscription license package. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<alert>  =>   B<string, optional>

=begin html

<br>Alert message for the given period Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Description of the licensed package. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<expiration>  =>   B<datetime, optional>

=begin html

<br>License expiration time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-default>  =>   B<true-false, optional>

=begin html

<br>Is the node using default license Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<owner>  =>   B<string, optional>

=begin html

<br>Node that owns the serial number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package>  =>   B<licensed-package, optional>

=begin html

<br>Name of the licensed package. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "insight_balance" - OnCommand Balance, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Serial number of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<licenseperiod, optional>

=begin html

<br>License state - valid/reminder/warning/enforcement. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "valid" - License is valid, <li> "reminder" - License is in reminder period, <li> "warning" - License is in warning period, <li> "enforcement" - License is in enforcement period </ul>

=end html

=back



=head2 license-v2-type

=begin html

This field indicates the type of a license. A typical license will be of "license" type, which indicates that it's associated with a specific controller. A "site" license is a special license provided under Enterprise Level Agreements. A "demo" license is a temporary license with an expiration time. It is usually issued for trial purposes only. A "subscr" license is a subscription with expiration date. Possible values: <ul> <li> "license" , <li> "site" , <li> "demo" , <li> "subscr" , <li> "capacity" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 licensed-method

=begin html

Licensed Method. The licensed method of a package is determined by the aggregate of all license types in the cluster for that particular package. The license method determines the how a package is licensed at a cluster level. Possible values: <ul> <li> "none" - None, <li> "license" - License, <li> "site" - Site, <li> "demo" - Demo, <li> "subscr" - Subscription </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 licensed-package

=begin html

Licensable Package Possible values: <ul> <li> "base" - Cluster Base License. This value has been deprecated in Data ONTAP 9.2, <li> "nfs" - NFS License, <li> "cifs" - CIFS License, <li> "iscsi" - iSCSI License, <li> "fcp" - FCP License, <li> "snaprestore" - SnapRestore License, <li> "snapmirror" - SnapMirror License, <li> "flexclone" - FlexClone License, <li> "snapvault" - SnapVault License, <li> "snaplock" - SnapLock License, <li> "snapmanagersuite" - SnapManagerSuite License, <li> "snapprotectapps" - SnapProtectApp License, <li> "v_storageattach" - Virtual Attached Storage License, <li> "insight_balance" - OnCommand Balance License, <li> "ocshift" - OnCommand Shift License, <li> "cloud" - Cloud ONTAP License, <li> "select" - ONTAP Select License, <li> "tpm" - Trusted Platform Module License, <li> "ve" - Volume Encryption License, <li> "dp_optimized" - Data Protection Optimized Secondary License </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 licenseperiod

=begin html

valid|reminder|warning|enforcement Possible values: <ul> <li> "valid" - License is valid, <li> "reminder" - License is in reminder period, <li> "warning" - License is in warning period, <li> "enforcement" - License is in enforcement period </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 licensescope

=begin html

License scope Possible values: <ul> <li> "na" - License scope NA, <li> "site" - Site Scope, <li> "cluster" - Cluster Scope, <li> "node" - Node Scope </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 licensestatus

=begin html

License status Possible values: <ul> <li> "not_compliant" - Not Compliant, <li> "eval" - Evaluation License, <li> "partially_installed" - Partially Installed, <li> "valid" - Valid, <li> "not_installed" - Not Installed, <li> "not_applicable" - Not Applicable </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 node-license-usage-info

=begin html

Node-locked license information and usage status for each node.

=end html



B<Fields>

=over 2

=item * I<in-use>  =>   B<true-false, optional>

=begin html

<br>Usage status for the node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-licensed>  =>   B<true-false, optional>

=begin html

<br>Whether the node has a node-locked license. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<node-serial-number, optional>

=begin html

<br>Node Serial Number Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 node-serial-number

=begin html

Assigned Node serial-number

=end html



B<Fields>

=over 2

=item * None

=back



=head2 reported-capacity-state

=begin html

Reported current state of the capacity license

=end html



B<Fields>

=over 2

=item * None

=back



=head2 true-false

=begin html

True/False

=end html



B<Fields>

=over 2

=item * None

=back



=head2 lif-name

=begin html

Logical Interface Id

=end html



B<Fields>

=over 2

=item * None

=back



=head2 lock-break-iter-info

=begin html

Information about the operation that was attempted/performed against lock object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<lock-key>  =>   B<L<"lock-info">>

=begin html

<br>The key for the lock object to which the operation applies.

=end html

=back



=head2 lock-info

=begin html

Information about a single lock in the cluster. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<bytelock-length>  =>   B<integer, optional>

=begin html

<br>The length starting from the offset for a bytelock. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bytelock-offset>  =>   B<integer, optional>

=begin html

<br>The starting offset for a bytelock. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<client-address>  =>   B<string, optional>

=begin html

<br>The IP address (IPv4/IPv6) for a set of locks owned by a client. Unavailable for NFSv4 or NFSv4.1 locks. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<client-address-type>  =>   B<string, optional>

=begin html

<br>The IP address interface type the client is connected over. Unavailable for NFSv4 or NFSv4.1 locks. Possible values: <ul> <li> "ipv4" , <li> "ipv6" , </ul>

=end html

=back



=over 2

=item * I<client-id>  =>   B<string, optional>

=begin html

<br>A unique client-id for a set of locks owned by a client. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<delegation-type>  =>   B<string, optional>

=begin html

<br>The type of delegation the lock has (NFSv4 only). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "read" , <li> "write" </ul>

=end html

=back



=over 2

=item * I<is-bytelock-exclusive>  =>   B<boolean, optional>

=begin html

<br>Indicates if the bytelock is exclusive. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-bytelock-mandatory>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the bytelock is mandatory or advisory. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-bytelock-soft>  =>   B<boolean, optional>

=begin html

<br>Indicates if the bytelock is softened. Attributes: non-creatable, non-modifiable A bytelock can become soft if an NFSv4 client loses connection. A soft bytelock may be reclaimed if the client reconnects. However, if another client were to request a bytelock that conflicts with a softened bytelock, then the softened bytelock will be released.

=end html

=back



=over 2

=item * I<is-bytelock-super>  =>   B<boolean, optional>

=begin html

<br>Indicates if the bytelock is a priveledged super lock. Attributes: non-creatable, non-modifiable A super bytelock is used to grant a byte range lock regardless of conflicting lock state on the system. If there is conflicting lock state, those locks will be released before graning the super lock.

=end html

=back



=over 2

=item * I<is-constituent>  =>   B<boolean, optional>

=begin html

<br>This field indicates if this volume is a constituent within another volume. For a FlexGroup, this field is true for all its constituents. This field is set to false for volumes which are not the constituents of a FlexGroup, including for constituents of an Infinite Volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sharelock-soft>  =>   B<boolean, optional>

=begin html

<br>Indicates if the sharelock is softened. Attributes: non-creatable, non-modifiable A sharelock can become soft if an NFSv4 client loses connection. A soft sharelock may be reclaimed if the client reconnects. However, if another client were to request a sharelock that conflicts with a softened sharelock, then the softened sharelock will be released.

=end html

=back



=over 2

=item * I<lif>  =>   B<string, optional>

=begin html

<br>The logical interface the lock was created over. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lock-state>  =>   B<string, optional>

=begin html

<br>The state of the lock. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "granted" , <li> "revoking" , <li> "revoked" , <li> "gwaiting" , <li> "ewaiting" , <li> "adjusted" , <li> "denied" , <li> "timedout" , <li> "subsumed" , <li> "gone" , <li> "unused" , <li> "waiting" , <li> "timeout" </ul>

=end html

=back



=over 2

=item * I<lock-type>  =>   B<string, optional>

=begin html

<br>The type of lock. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "byte_range" - locks over a specific byte range of a file, <li> "share_level" - represent file opens, <li> "op_lock" - provide client-side caching semantics for SMB, <li> "delegation" - provide client-side caching for NFSv4 </ul>

=end html

=back



=over 2

=item * I<lockid>  =>   B<uuid, optional>

=begin html

<br>A unique ID for a lock. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node that the lock is on. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<oplock-cache-level>  =>   B<string, optional>

=begin html

<br>The current caching level for an oplock. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "exclusive" , <li> "level2" , <li> "batch" , <li> "null" , <li> "read_batch" </ul>

=end html

=back



=over 2

=item * I<owner-id>  =>   B<string, optional>

=begin html

<br>A unique owner-id for a set of locks belonging to an owner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The file path (/volume/file) that is being locked. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<string, optional>

=begin html

<br>The protcol the lock was created with. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "cifs" , <li> "fcache" , <li> "nfsv4" , <li> "nlm" , <li> "nfsv4.1" , <li> "crposix" , <li> "cdmi" , <li> "flexcache_deleg" </ul>

=end html

=back



=over 2

=item * I<sharelock-mode>  =>   B<string, optional>

=begin html

<br>The sharing level of a lock. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "delete_on_close" , <li> "read_deny_read" , <li> "read_deny_write" , <li> "read_deny_all" , <li> "read_deny_delete" , <li> "read_deny_none" , <li> "read_deny_read_write" , <li> "read_deny_read_delete" , <li> "read_deny_write_delete" , <li> "write_deny_read" , <li> "write_deny_write" , <li> "write_deny_all" , <li> "write_deny_delete" , <li> "write_deny_none" , <li> "write_deny_read_write" , <li> "write_deny_read_delete" , <li> "write_deny_write_delete" , <li> "delete_deny_read" , <li> "delete_deny_write" , <li> "delete_deny_all" , <li> "delete_deny_delete" , <li> "delete_deny_none" , <li> "delete_deny_read_write" , <li> "delete_deny_read_delete" , <li> "delete_deny_write_delete" , <li> "read_write_deny_read" , <li> "read_write_deny_write" , <li> "read_write_deny_all" , <li> "read_write_deny_delete" , <li> "read_write_deny_none" , <li> "read_write_deny_read_write" , <li> "read_write_deny_read_delete" , <li> "read_write_deny_write_delete" , <li> "read_delete_deny_read" , <li> "read_delete_deny_write" , <li> "read_delete_deny_all" , <li> "read_delete_deny_delete" , <li> "read_delete_deny_none" , <li> "read_delete_deny_read_write" , <li> "read_delete_deny_read_delete" , <li> "read_delete_deny_write_delete" , <li> "write_delete_deny_read" , <li> "write_delete_deny_write" , <li> "write_delete_deny_all" , <li> "write_delete_deny_delete" , <li> "write_delete_deny_none" , <li> "write_delete_deny_read_write" , <li> "write_delete_deny_read_delete" , <li> "write_delete_deny_write_delete" , <li> "all_deny_read" , <li> "all_deny_write" , <li> "all_deny_all" , <li> "all_deny_delete" , <li> "all_deny_none" , <li> "all_deny_read_write" , <li> "all_deny_read_delete" , <li> "all_deny_write_delete" , <li> "none_deny_read" , <li> "none_deny_write" , <li> "none_deny_all" , <li> "none_deny_delete" , <li> "none_deny_none" , <li> "none_deny_read_write" , <li> "none_deny_read_delete" , <li> "none_deny_write_delete" </ul>

=end html

=back



=over 2

=item * I<smb-connect-state>  =>   B<string, optional>

=begin html

<br>The connect state for a lock. (SMB only). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "connected" , <li> "disconnected" , <li> "reconnecting" , <li> "timedout" </ul>

=end html

=back



=over 2

=item * I<smb-expiration-time>  =>   B<integer, optional>

=begin html

<br>The time left until a lock expires after being disconnected. (SMB only). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<smb-open-group-id>  =>   B<string, optional>

=begin html

<br>A unique open group ID for a set of locks. (SMB only). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<smb-open-type>  =>   B<string, optional>

=begin html

<br>The type of open for a lock (SMB only). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" , <li> "durable" , <li> "persistent" </ul>

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>The volume containing the files that are locked. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The vserver the lock is associated with. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 uuid

=begin html

The 128-bit universally-unique identifier (UUID). <p> UUIDs are formatted as 36-character strings. These strings are composed of 32 hexadecimal characters broken up into five groupings separated by '-'s.The first grouping has 8 hex characters, the second through fourth groupings have four hex characters each, and the fifth and final grouping has 12 hex characters. Note that a leading '0x' is not used.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 alignment-state

=begin html

aligned|misaligned|partial-writes|indeterminate Possible values: <ul> <li> "aligned" - All or most of the IO to the LUN is aligned to the underlying file, <li> "misaligned" - A significant amount of IO to the LUN is not aligned to the underlying file, <li> "partial_writes" - A significant amount of IO to the LUN is partial, <li> "indeterminate" - There is not enough IO to determine the LUN's alignment state </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fcp-pr-nexus

=begin html

Information about FCP nexus owning the persistent reservation These two components identify the relationship between the FCP initiator and the target.

=end html



B<Fields>

=over 2

=item * I<initiator-port>  =>   B<string>

=begin html

<br>FCP initiator port part of I_T_Nexus owning the persistent reservation key.

=end html

=back



=over 2

=item * I<target-port>  =>   B<string, optional>

=begin html

<br>FCP target port part of I_T_Nexus owning the persistent reservation key.

=end html

=back



=over 2

=item * I<third-party-initiator-port>  =>   B<string, optional>

=begin html

<br>The FCP port name (WWPN) of the third-party initiator the reservation is being held for. For use in SCSI-2 only.

=end html

=back



=head2 fli-admin-state-enum

=begin html

stopped|started|paused Possible values: <ul> <li> "stopped" , <li> "started" , <li> "paused" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fli-operation-enum

=begin html

import|verify Possible values: <ul> <li> "import" , <li> "verify" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fli-operational-state-enum

=begin html

in_progress|failed|completed|stopped|paused Possible values: <ul> <li> "in_progress" , <li> "failed" , <li> "completed" , <li> "stopped" , <li> "paused" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 iscsi-pr-nexus

=begin html

Information about iSCSI nexus owning the persistent reservation These three components identify the relationship between the iSCSI initiator and the target.

=end html



B<Fields>

=over 2

=item * I<initiator>  =>   B<string>

=begin html

<br>Name of initiator holding the reservation i.e. iqn.1987-06.com.initvendor1:appsrv.sn.2346.

=end html

=back



=over 2

=item * I<isid>  =>   B<string>

=begin html

<br>The Initiator Session ID for the persistent reservation owner. The ISID is a numeric Initiator Session ID assigned by the initiator which acts as part of the initiators identity.

=end html

=back



=over 2

=item * I<third-party-initiator-name>  =>   B<string, optional>

=begin html

<br>The name of the third-party initiator the reservation is being held for. For use in SCSI-2 only. i.e. iqn.1987-06.com.initvendor1:appsrv.sn.2346.

=end html

=back



=over 2

=item * I<tpgroup-tag>  =>   B<integer, optional>

=begin html

<br>The target portal group tag of the persistent reservation owner.

=end html

=back



=head2 lun-align-info

=begin html

LUN alignment Info of a LUN When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<alignment>  =>   B<alignment-state, optional>

=begin html

<br>Alignment of the LUN. Possible values: aligned, misaligned, partial-writes, indeterminate. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "aligned" - All or most of the IO to the LUN is aligned to the underlying file, <li> "misaligned" - A significant amount of IO to the LUN is not aligned to the underlying file, <li> "partial_writes" - A significant amount of IO to the LUN is partial, <li> "indeterminate" - There is not enough IO to determine the LUN's alignment state </ul>

=end html

=back



=over 2

=item * I<multiprotocol-type>  =>   B<os-enum, optional>

=begin html

<br>The ostype for the LUN. Caller should specify a non-default ostype Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "vmware" - The LUN will be used to store a VMware Virtual Machine File System (VMFS) containing Virtual Machine Disk Files (VMDKs)., <li> "hyper_v" - The LUN will be used to store Hyper-V VHDs (Virtual Hard Disks)., <li> "windows_2008" - The LUN will be used to store a Windows filesystem with a Master Boot Record (MBR) partition table on Windows 2008 or later., <li> "windows_gpt" - The LUN will be used to store a Windows filesystem with a GUID Partition Table (GPT)., <li> "windows" - The LUN will be used to store a Windows filesystem with a Master Boot Record (MBR) partition table., <li> "linux" - The LUN will be used to store a Linux filesystem with no partition table., <li> "xen" - The LUN will be used to store an Xen filesystem., <li> "solaris" - The LUN will be used to store a Solaris filesystem in a single slice partition., <li> "solaris_efi" - The LUN will be used to store a Solaris filesystem with an EFI partition table., <li> "hpux" - The LUN will be used to store an HP-UX filesystem., <li> "aix" - The LUN will be used to store an AIX filesystem., <li> "netware" - The LUN will be used to store a Netware filesystem., <li> "openvms" - The LUN will be used to store an OpenVMS filesystem., <li> "image" - The default type indicating no assumptions will be made about the data stored in the LUN. </ul>

=end html

=back



=over 2

=item * I<partition-count>  =>   B<integer, optional>

=begin html

<br>Number of partitions on the LUN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partition-scheme>  =>   B<partition-scheme, optional>

=begin html

<br>Partition scheme on the LUN. Possible values: mbr and gpt Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "mbr" - Master Boot Record Partition Table Scheme, <li> "gpt" - GUID Partition Table Scheme, <li> "unknown" - Unrecognized partition scheme or an unformatted LUN, <li> "sun_vtoc" - Sun VTOC Partition Table Scheme, <li> "aix" - IBM AIX Disk Label </ul>

=end html

=back



=over 2

=item * I<partition-table>  =>   B<L<"partition-list-entry">[], optional>

=begin html

<br>Partition entries on the LUN.

=end html

=back



=over 2

=item * I<path>  =>   B<lun-path, optional>

=begin html

<br>Path of the LUN Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<read-alignment-histogram>  =>   B<L<"read-histogram-entry">[], optional>

=begin html

<br>Histogram of read operations of size 4k in percentage value.

=end html

=back



=over 2

=item * I<read-partial-blocks>  =>   B<integer, optional>

=begin html

<br>Total number of read operations of non 4k size in percentage value. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver hosting the LUN Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<write-alignment-histogram>  =>   B<L<"write-histogram-entry">[], optional>

=begin html

<br>Histogram of write operations of size 4k in percentage value.

=end html

=back



=over 2

=item * I<write-partial-blocks>  =>   B<integer, optional>

=begin html

<br>Total number of write operations of non 4k size in percentage value. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 lun-attribute-info

=begin html

LUN attribute name / value pair

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the attribute.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value of the attribute.

=end html

=back



=head2 lun-copy-info

=begin html

Information about a LUN copy job When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cutover-time>  =>   B<time-interval, optional>

=begin html

<br>Specifies time, in seconds, between the start of\" the LUN copy job and when the new LUN was ready for I/O. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-node>  =>   B<string, optional>

=begin html

<br>Destination Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-path>  =>   B<lun-path, optional>

=begin html

<br>Specifies the full path to the new LUN, of the form /vol/<volume>[/<qtree>]/<lun>. Example: /vol/dest_vol/dest_lun. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-ready>  =>   B<boolean, optional>

=begin html

<br>Destination Ready Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the Vserver that will host the new LUN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<elapsed-time>  =>   B<time-interval, optional>

=begin html

<br>Specifies elapsed time, in seconds, since the start of the LUN copy job. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-destination-ready>  =>   B<boolean, optional>

=begin html

<br>Indicates if the destination ready to be mapped (in case of a regular LUN) or bound (in case of a VVOL): true if the lun is ready, false if the lun is not ready. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-promoted-early>  =>   B<boolean, optional>

=begin html

<br>Specifies if the destination LUN has been promoted early. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-snapshot-fenced>  =>   B<boolean, optional>

=begin html

<br>Indicates if the volume containing the new LUN is ready for snapshot creation: true if the volume containing the new LUN is not ready for snapshot creation, false if the volume is ready for snapshot creation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-status>  =>   B<sfod-scanner-status, optional>

=begin html

<br>Specifies the current status of the LUN copy transfer. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "preparing" - Preparing, <li> "allocation_map" - Allocating, <li> "data" - Moving Data, <li> "destroying" - Destroying, <li> "paused_admin" - Paused by Admin, <li> "paused_error" - Paused by Error, <li> "complete" - Complete, <li> "destroyed" - Destroyed </ul>

=end html

=back



=over 2

=item * I<job-uuid>  =>   B<uuid, optional>

=begin html

<br>Specifies the universal unique ID (UUID) of the job that started this copy operation. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-failure-reason>  =>   B<string, optional>

=begin html

<br>Specifies the most recent error message from the LUN copy job. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies an additional unique element identifying one LUN among many that could be possibly copied as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-throughput>  =>   B<size, optional>

=begin html

<br>Specifies the rate limit for the data transfer, in bytes per second. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<progress-percent>  =>   B<integer, optional>

=begin html

<br>Specifies the amount of data, as a percentage of total data, that has been copied over to the new LUN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<promote-early>  =>   B<boolean, optional>

=begin html

<br>Promote Early Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scanner-progress>  =>   B<size, optional>

=begin html

<br>Specifies the amount of data, in bytes, that has been copied over to the new LUN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scanner-progress-bytes>  =>   B<integer, optional>

=begin html

<br>LUN Copy Progress(bytes) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scanner-progress-percent>  =>   B<integer, optional>

=begin html

<br>LUN Copy Progress(%) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scanner-status>  =>   B<sfod-scanner-status, optional>

=begin html

<br>Scanner Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "preparing" - Preparing, <li> "allocation_map" - Allocating, <li> "data" - Moving Data, <li> "destroy" - Destroying, <li> "paused_admin" - Paused by Admin, <li> "paused_error" - Paused by Error, <li> "complete" - Complete, <li> "failed" - Failed </ul>

=end html

=back



=over 2

=item * I<scanner-total>  =>   B<size, optional>

=begin html

<br>Specifies the total amount of data, in bytes, that will be copied over to the new LUN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-path>  =>   B<lun-path, optional>

=begin html

<br>Specifies the full path to the LUN to be copied, of the form /vol/<volume>[/<qtree>]/<lun>. Example: /vol/src_vol/src_lun. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-snapshot-instance-uuid>  =>   B<string, optional>

=begin html

<br>Specifies the universal unique ID (UUID) of the physical data layout of the source Snapshot volume. This value corresponds to snapshot-instance-uuid element of the snapshot-info structure. If the value is not specified it indicates that the LUN is not being copied from a Snapshot volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the Vserver hosting the LUN to be copied. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 lun-import-info

=begin html

Information of a Foreign LUN Import relationship When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<administrative-status>  =>   B<fli-admin-state-enum, optional>

=begin html

<br>Administrative status of the import operation Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "stopped" , <li> "started" , <li> "paused" </ul>

=end html

=back



=over 2

=item * I<compared-blocks>  =>   B<integer, optional>

=begin html

<br>Number of compared blocks. This element will be returned only when import verification is in progress. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-throughput>  =>   B<size, optional>

=begin html

<br>Current Throughput (per sec) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<estimated-remaining-duration>  =>   B<timeticks, optional>

=begin html

<br>Estimated Remaining Duration Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failure-reason>  =>   B<string, optional>

=begin html

<br>Failure Reason Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<foreign-disk>  =>   B<string, optional>

=begin html

<br>Foreign Disk Serial Number Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<import-current-node>  =>   B<string, optional>

=begin html

<br>Import Current Node. The current node where import is running and where foreign disk I/Os are serviced. During takeover or giveback the import-current-node can change. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<import-home-node>  =>   B<string, optional>

=begin html

<br>Import Home Node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<imported-blocks>  =>   B<integer, optional>

=begin html

<br>Blocks Imported Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-throughput-limit>  =>   B<size, optional>

=begin html

<br>Maximum Throughput Limit (per sec) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation-in-progress>  =>   B<fli-operation-enum, optional>

=begin html

<br>Current operation in progress Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "import" , <li> "verify" </ul>

=end html

=back



=over 2

=item * I<operational-status>  =>   B<fli-operational-state-enum, optional>

=begin html

<br>Operational status of the import operation Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "in_progress" , <li> "failed" , <li> "completed" , <li> "stopped" , <li> "paused" </ul>

=end html

=back



=over 2

=item * I<path>  =>   B<lun-path, optional>

=begin html

<br>Path of the LUN Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<percent-complete>  =>   B<integer, optional>

=begin html

<br>Percent Complete Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<qos-policy-group>  =>   B<string, optional>

=begin html

<br>QoS Policy Group Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-blocks>  =>   B<integer, optional>

=begin html

<br>Total Blocks Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing the LUN Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 lun-info

=begin html

Information of a LUN.

=end html



B<Fields>

=over 2

=item * I<alignment>  =>   B<string, optional>

=begin html

<br>Alignment of the LUN. Possible values: "aligned", "misaligned", "partial_writes" or "indeterminate".

=end html

=back



=over 2

=item * I<application>  =>   B<string, optional>

=begin html

<br>The name of the LUN's application. This field is available in Data ONTAP 9.2 and later when the LUN is provisioned for use with an application.

=end html

=back



=over 2

=item * I<application-uuid>  =>   B<string, optional>

=begin html

<br>The unique identifier for the LUN's application. This field is available in Data ONTAP 9.2 and later when the LUN is provisioned for use with an application.

=end html

=back



=over 2

=item * I<backing-snapshot>  =>   B<string, optional>

=begin html

<br>Path to the backing snapshot file for a LUN, if there is one. Only returned if it has one. Note: This element is not returned for LUNs which are in snapshots.

=end html

=back



=over 2

=item * I<block-size>  =>   B<integer, optional>

=begin html

<br>Disk block size of the LUN in bytes. This field is unavailable while the LUN is fenced for a restore operation.

=end html

=back



=over 2

=item * I<class>  =>   B<string, optional>

=begin html

<br>The class of the LUN. Possible values: <ul> <li>"regular" - The LUN is intended for normal blocks access, <li>"protocol_endpoint" - The LUN is a VMware vvol protocol endpoint, <li>"vvol" - The LUN is a VMware vvol data LUN. </ul>

=end html

=back



=over 2

=item * I<clone-backing-snapshot>  =>   B<string>

=begin html

<br>null

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>User-specified comment for the LUN. This field is unavailable when the LUN is in a snapshot or while the LUN fenced for a restore operation.

=end html

=back



=over 2

=item * I<creation-timestamp>  =>   B<integer, optional>

=begin html

<br>The time this LUN was created, in seconds since January 1, 1970. This field is unavailable when the LUN is in a snapshot or while the LUN fenced for a restore operation.

=end html

=back



=over 2

=item * I<device-binary-id>  =>   B<string, optional>

=begin html

<br>SCSI Peripheral Device Identifying Information returned in response to the SCSI command REPORT IDENTIFYING INFORMATION (INFORMATION TYPE 0000000b). Value is encoded as a hexadecimal string, representing 1 to 64 bytes. Only present if a Peripheral Device Identifying Information value has been set on the LUN.

=end html

=back



=over 2

=item * I<device-id>  =>   B<integer, optional>

=begin html

<br>SCSI Peripheral Device Identifying Information returned in response to the vendor unique SCSI command GET DEV ID. Only present if a Peripheral Device Identifying Information value appropriate for GET DEV ID has been set on the LUN.

=end html

=back



=over 2

=item * I<device-text-id>  =>   B<string, optional>

=begin html

<br>SCSI Peripheral Device Text Identifying Information returned in response to the SCSI command REPORT IDENTIFYING INFORMATION (INFORMATION TYPE 0000010b). Value is a free-form UTF-8 string between 1 and 255 bytes in length. Only present if a Peripheral Device Text Identifying Information value has been set on the LUN.

=end html

=back



=over 2

=item * I<is-clone>  =>   B<boolean, optional>

=begin html

<br>"true" if the lun is a clone "false" otherwise.

=end html

=back



=over 2

=item * I<is-clone-autodelete-enabled>  =>   B<boolean, optional>

=begin html

<br>"true" if the lun clone is allowed to be deleted by autodelete in try/disrupt mode. autodelete will be allowed to delete the lun clone in try/disrupt mode if configured. "false" otherwise. The lun clone will not be deleted by autodelete in try/disrupt mode if configured.

=end html

=back



=over 2

=item * I<is-inconsistent-import>  =>   B<boolean, optional>

=begin html

<br>"true" if the lun contains a partial import of a foreign disk, "false" otherwise.

=end html

=back



=over 2

=item * I<is-restore-inaccessible>  =>   B<boolean, optional>

=begin html

<br>If true, the LUN is fenced for I/O and management operations due to an ongoing restore operation. If false, the LUN is available for normal operations.

=end html

=back



=over 2

=item * I<is-space-alloc-enabled>  =>   B<boolean, optional>

=begin html

<br>Whether or not the LUN has space allocation enabled. This field is unavailable when the LUN is in a snapshot or while fenced for a restore operation. The space allocation attribute enables support for the SCSI Thin Provisioning features defined in the Logical Block Provisioning section of the SCSI SBC-3 standard.

=end html

=back



=over 2

=item * I<is-space-reservation-enabled>  =>   B<boolean, optional>

=begin html

<br>Whether or not the LUN has space reservation enabled. This field is unavailable when the LUN is in a snapshot or while fenced for a restore operation

=end html

=back



=over 2

=item * I<mapped>  =>   B<boolean, optional>

=begin html

<br>Whether or not the LUN is mapped to any initiators. "true" if mapped, "false" otherwise. This field is not applicable to LUNs where the class attribute is set to 'vvol'.

=end html

=back



=over 2

=item * I<multiprotocol-type>  =>   B<lun-os-type, optional>

=begin html

<br>OS type of the LUN This field is unavailable while the LUN is fenced for a restore operation.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node hosting the LUN. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<online>  =>   B<boolean>

=begin html

<br>"true" if the LUN is online, "false" if the LUN is offline. In Data ONTAP 8.3 and later, the 'state' field may be used to distinguish between specific access states.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN.

=end html

=back



=over 2

=item * I<prefix-size>  =>   B<integer, optional>

=begin html

<br>Size of the prefix stream for this LUN in bytes. This is either the default value for the OS type of the LUN or value specified in lun-create-by-size API. This field is unavailable while the LUN is fenced for a restore operation. This field is available in Data ONTAP 8.1 and later.

=end html

=back



=over 2

=item * I<qos-policy-group>  =>   B<string, optional>

=begin html

<br>QoS policy group defines measurable Service Level Objectives (SLOs) that apply to the storage objects with which the policy group is associated. This field is only present if the LUN is assigned to a QoS policy This field is available in Data ONTAP 8.2 and later.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Name of the qtree containing the LUN.

=end html

=back



=over 2

=item * I<read-only>  =>   B<boolean, optional>

=begin html

<br>"true" if the LUN is read only, "false" if read/write. This field is unavailable while the LUN is fenced for a restore operation.

=end html

=back



=over 2

=item * I<serial-7-mode>  =>   B<string, optional>

=begin html

<br>The serial number of the LUN used by Data ONTAP 7-Mode prior to transitioning the LUN. This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of the LUN. Prior to Data ONTAP 8.1 release, the serial number is a 12-character string formed of upper and lower-case letters, numbers, and slash (/) and hyphen (-) characters. Starting Data ONTAP 8.1 release, the serial number is a 12-character string formed of upper and lower-case letters, numbers, and the characters /-#$%&*+<=>?[!]^~@ . This field is unavailable when the LUN is in a snapshot.

=end html

=back



=over 2

=item * I<share-state>  =>   B<string>

=begin html

<br>Share state of the LUN. Possible values: "all", "none", read", "unknown", "write". In the very rare case that the share state can not be determined, "unknown" is returned.

=end html

=back



=over 2

=item * I<size>  =>   B<integer, optional>

=begin html

<br>Size of this LUN in bytes in the active FS. This field is unavailable while the LUN is fenced for a restore operation.

=end html

=back



=over 2

=item * I<size-used>  =>   B<integer, optional>

=begin html

<br>Number of bytes used by this LUN. This field is unavailable while the LUN is fenced for a restore operation.

=end html

=back



=over 2

=item * I<staging>  =>   B<boolean>

=begin html

<br>"true" if the LUN is a temporary staging LUN, "false" otherwise.

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>The access state of the LUN. Possible values: <ul> <li> "online" - LUN is online, <li> "offline" - LUN is administratively offline or a more detailed offline reason is not available, <li> "foreign_lun_error" - LUN has been automatically taken offline due to a media error on the associated foreign LUN, <li> "nvfail" - LUN has been automatically taken offline due to an NVRAM failure, <li> "space_error" - LUN has been automatically taken offline due to insufficient space. </ul> This field is available in Data ONTAP 8.3 and later.

=end html

=back



=over 2

=item * I<suffix-size>  =>   B<integer, optional>

=begin html

<br>Size of the suffix stream for this LUN in bytes. This value is determined by the OS type of the LUN at creation time. This field is unavailable while the LUN is fenced for a restore operation. This field is available in Data ONTAP 8.1 and later.

=end html

=back



=over 2

=item * I<uuid>  =>   B<string, optional>

=begin html

<br>Universal unique identifier (UUID) for the LUN. This field is unavailable when the LUN is in a snapshot.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume containing the LUN.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing the LUN.

=end html

=back



=head2 lun-map-info

=begin html

Information about a lun mapping

=end html



B<Fields>

=over 2

=item * I<initiator-group>  =>   B<string>

=begin html

<br>Initiator group used to map the lun to the requested initiator.

=end html

=back



=over 2

=item * I<initiator-group-uuid>  =>   B<string>

=begin html

<br>The Universally-unique identifier (UUID) of the initiator group.

=end html

=back



=over 2

=item * I<lun-id>  =>   B<integer>

=begin html

<br>Logical Unit Number which the lun is mapped to for the requested initiator.

=end html

=back



=over 2

=item * I<lun-uuid>  =>   B<string>

=begin html

<br>The Universally-unique identifier (UUID) of the LUN.

=end html

=back



=over 2

=item * I<node>  =>   B<node-name>

=begin html

<br>The owning node of the LUN.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Path of the LUN which is mapped to the requested initiator.

=end html

=back



=over 2

=item * I<reporting-nodes>  =>   B<node-name[], optional>

=begin html

<br>The list of nodes reporting the LUN map to SCSI initiators. If not provided, the map is reported on all applicable LIFs on all nodes.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing the initiator group

=end html

=back



=head2 lun-move-info

=begin html

LUN Move Status When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cutover-time>  =>   B<time-interval, optional>

=begin html

<br>Specifies time, in seconds, between the start of\" the LUN move job and when the new LUN was ready for I/O. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-path>  =>   B<lun-path, optional>

=begin html

<br>Specifies the full path to the new LUN, of the form /vol/<volume>/[<qtree>]/<lun>. Example: /vol/dest_vol/dest_lun. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<elapsed-time>  =>   B<time-interval, optional>

=begin html

<br>Specifies elapsed time, in seconds, since the start of the LUN move job. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-destination-ready>  =>   B<boolean, optional>

=begin html

<br>Indicates if the destination ready to be mapped (in case of a regular LUN) or bound (in case of a VVOL): true if the lun is ready, false if the lun is not ready. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-promoted-late>  =>   B<boolean, optional>

=begin html

<br>Specifies if the destination LUN has been promoted late. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-snapshot-fenced>  =>   B<boolean, optional>

=begin html

<br>Indicates if the volume containing the new LUN is ready for snapshot creation: true if the volume containing the new LUN is not ready for snapshot creation, false if the volume is ready for snapshot creation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-status>  =>   B<sfod-scanner-status, optional>

=begin html

<br>Specifies the current status of the LUN move job. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "preparing" - Preparing, <li> "allocation_map" - Allocating, <li> "data" - Moving Data, <li> "destroying" - Destroying, <li> "paused_admin" - Paused by Admin, <li> "paused_error" - Paused by Error, <li> "complete" - Complete, <li> "destroyed" - Destroyed </ul>

=end html

=back



=over 2

=item * I<job-uuid>  =>   B<uuid, optional>

=begin html

<br>Specifies the universal unique ID (UUID) of the job that started this move operation. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-failure-reason>  =>   B<string, optional>

=begin html

<br>Specifies the most recent error message from the LUN move job. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lun-index>  =>   B<integer, optional>

=begin html

<br>Specifies ann additional unique element identifying one LUN among many that could be possibly move as part of a job. LUN index is an identifier ordered by the LUN path arrays provided during create. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-throughput>  =>   B<size, optional>

=begin html

<br>Specifies the rate limit for the data transfer, in bytes per second. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<progress-percent>  =>   B<integer, optional>

=begin html

<br>Specifies the amount of data, as a percentage of total data, that has been moved over to the new LUN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scanner-progress>  =>   B<size, optional>

=begin html

<br>Specifies the amount of data, in bytes, that has been moved over to the new LUN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scanner-total>  =>   B<size, optional>

=begin html

<br>Specifies the total amount of data, in bytes, that will be moved over to the new LUN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-path>  =>   B<lun-path, optional>

=begin html

<br>Specifies the full path to the LUN to be moved, of the form /vol/<volume>[/<qtree>]/<lun>. Example: /vol/src_vol/src_lun. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the Vserver containing the source and destination volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 lun-os-type

=begin html

The image type of the lun. This value determines the proper alignment settings for the desired host filesystem layout. Possible values: <ul> <li> "aix" The LUN will be used to store an AIX filesystem, <li> "hpux" The LUN will be used to store an HP-UX filesystem, <li> "hyper_v" The LUN will be used to store Hyper-V VHDs (Virtual Hard Disks), <li> "image" The default type indicating no assumptions will be made about the data stored in the LUN, <li> "linux" The LUN will be used to store a Linux filesystem with no partition table, <li> "netware" The LUN will be used to store a Netware filesystem, <li> "openvms" The LUN will be used to store an OpenVMS filesystem, <li> "solaris" The LUN will be used to store a Solaris filesystem in a single slice partition, <li> "solaris_efi" The LUN will be used to store a Solaris filesystem with an EFI partition table, <li> "vmware" The LUN will be used to store a VMware Virtual Machine File System (VMFS) containing Virtual Machine Disk Files (VMDKs), <li> "windows" The LUN will be used to store a Windows filesystem with a Master Boot Record (MBR) partition table. <li> "windows_2008" The LUN will be used to store a Windows filesystem with a Master Boot Record (MBR) partition table on Windows 2008 or later, <li> "windows_gpt" The LUN will be used to store a Windows filesystem with a GUID Partition Table (GPT), <li> "xen" The LUN will be used to store an Xen filesystem. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 lun-path-pair

=begin html

A pair of source and destination LUN paths

=end html



B<Fields>

=over 2

=item * I<destination-path>  =>   B<string>

=begin html

<br>Specifies the full path to the new LUN, of the form /vol/<volume>[/<qtree>]/<lun>. Example: /vol/dest_vol/dest_lun.

=end html

=back



=over 2

=item * I<source-path>  =>   B<string>

=begin html

<br>Specifies the full path to the source LUN, of the form /vol/<volume>[/<qtree>]/<lun>. Example: /vol/src_vol/src_lun.

=end html

=back



=head2 lun-stats-info

=begin html

Stats for a LUN.

=end html



B<Fields>

=over 2

=item * I<block-size>  =>   B<integer, optional>

=begin html

<br>Disk block size for this LUN in bytes. This attribute is unavailable when the LUN is fenced for a restore operation.

=end html

=back



=over 2

=item * I<other-ops>  =>   B<integer>

=begin html

<br>Total number of other SCSI ops executed.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>path of the LUN. (for example, "/vol/vol0/lun1")

=end html

=back



=over 2

=item * I<read-blocks>  =>   B<integer, optional>

=begin html

<br>Number of disk blocks read. This attribute is unavailable when the LUN is fenced for a restore operation.

=end html

=back



=over 2

=item * I<read-ops>  =>   B<integer>

=begin html

<br>Total number of SCSI read ops executed.

=end html

=back



=over 2

=item * I<scsi-errors>  =>   B<integer>

=begin html

<br>Total number of SCSI errors.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver containing the lun

=end html

=back



=over 2

=item * I<write-blocks>  =>   B<integer, optional>

=begin html

<br>Number of disk blocks written. This attribute is unavailable when the LUN is fenced for a restore operation.

=end html

=back



=over 2

=item * I<write-ops>  =>   B<integer>

=begin html

<br>Total number of SCSI write ops executed.

=end html

=back



=head2 os-enum

=begin html

vmware|hyper_v|windows_2008|windows_gpt|windows|linux|xen|solaris|solaris_efi|hpux|aix|netware|openvms Possible values: <ul> <li> "vmware" - The LUN will be used to store a VMware Virtual Machine File System (VMFS) containing Virtual Machine Disk Files (VMDKs)., <li> "hyper_v" - The LUN will be used to store Hyper-V VHDs (Virtual Hard Disks)., <li> "windows_2008" - The LUN will be used to store a Windows filesystem with a Master Boot Record (MBR) partition table on Windows 2008 or later., <li> "windows_gpt" - The LUN will be used to store a Windows filesystem with a GUID Partition Table (GPT)., <li> "windows" - The LUN will be used to store a Windows filesystem with a Master Boot Record (MBR) partition table., <li> "linux" - The LUN will be used to store a Linux filesystem with no partition table., <li> "xen" - The LUN will be used to store an Xen filesystem., <li> "solaris" - The LUN will be used to store a Solaris filesystem in a single slice partition., <li> "solaris_efi" - The LUN will be used to store a Solaris filesystem with an EFI partition table., <li> "hpux" - The LUN will be used to store an HP-UX filesystem., <li> "aix" - The LUN will be used to store an AIX filesystem., <li> "netware" - The LUN will be used to store a Netware filesystem., <li> "openvms" - The LUN will be used to store an OpenVMS filesystem., <li> "image" - The default type indicating no assumptions will be made about the data stored in the LUN. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 partition-list-entry

=begin html

Partition entries on the LUN.

=end html



B<Fields>

=over 2

=item * I<partition-offset>  =>   B<integer, optional>

=begin html

<br>Partition start offset. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partition-type>  =>   B<string, optional>

=begin html

<br>Type of the partition in the partition table. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 partition-scheme

=begin html

aix|gpt|mbr|sun-vtoc|unknown Possible values: <ul> <li> "mbr" - Master Boot Record Partition Table Scheme, <li> "gpt" - GUID Partition Table Scheme, <li> "unknown" - Unrecognized partition scheme or an unformatted LUN, <li> "sun_vtoc" - Sun VTOC Partition Table Scheme, <li> "aix" - IBM AIX Disk Label </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 persistent-reservation-info

=begin html

Information about the persistent reservation

=end html



B<Fields>

=over 2

=item * I<fcp-pr-nexus>  =>   B<L<"fcp-pr-nexus">, optional>

=begin html

<br>This is the I_T_Nexus info for an FCP type reservation.

=end html

=back



=over 2

=item * I<iscsi-pr-nexus>  =>   B<L<"iscsi-pr-nexus">, optional>

=begin html

<br>This is the I_T_Nexus info for an iSCSI type reservation.

=end html

=back



=over 2

=item * I<reservation-key>  =>   B<string, optional>

=begin html

<br>Value of persistent reservation key that is registered for the given lun.

=end html

=back



=over 2

=item * I<reservation-type>  =>   B<string>

=begin html

<br>Type of persistent reservation. Possible values: "fcp", "iscsi".

=end html

=back



=over 2

=item * I<reservation-type-code>  =>   B<string, optional>

=begin html

<br>Type of persistent reservation held by the I_T_Nexus, if any. Please refer to the SCSI Primary Command (SPC) specification for full details on reservation types. Possible values: <ul> <li> "read shared",</li> <li> "write exclusive",</li> <li> "exclusive access",</li> <li> "write exclusive registrants only",</li> <li> "exclusive access registrants only",</li> <li> "write exclusive all registrants",</li> <li> "exclusive access all registrants".</li> </ul>

=end html

=back



=over 2

=item * I<scsi-revision>  =>   B<string>

=begin html

<br>The SCSI specification revision for the reservation. Possible values: "scsi2", "scsi3".

=end html

=back



=head2 qtree-name

=begin html

Qtree Name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 read-histogram-entry

=begin html

Histogram of read operations of size 4k in percentage value.

=end html



B<Fields>

=over 2

=item * I<bin-number>  =>   B<integer, optional>

=begin html

<br>Histogram bin number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bin-value>  =>   B<integer, optional>

=begin html

<br>Read histogram bin percentage value. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 system-api-enum-value-info

=begin html

Enumeration type name/value pair When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Description of the enumeration value Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<value>  =>   B<string, optional>

=begin html

<br>Name of the enumeration value Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 timeticks

=begin html

Time, in seconds Range : [0..2^32-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 write-histogram-entry

=begin html

Histogram of write operations of size 4k in percentage value.

=end html



B<Fields>

=over 2

=item * I<bin-number>  =>   B<integer, optional>

=begin html

<br>Histogram bin number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bin-value>  =>   B<integer, optional>

=begin html

<br>Write histogram bin percentage value. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 config-cluster-attribute-info

=begin html

The name of attribute and its values at source and destination

=end html



B<Fields>

=over 2

=item * I<attribute>  =>   B<string, optional>

=begin html

<br>Attribute of the configuration compared - for example, volume-style in case of volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-cluster-value>  =>   B<string, optional>

=begin html

<br>Value of the configuration attribute at destination cluster Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-cluster-value>  =>   B<string, optional>

=begin html

<br>Value of the configuration attribute at source cluster Attributes: non-creatable, non-modifiable

=end html

=back



=head2 config-cluster-diff-info

=begin html

Check for configuration differences between replicated cluster-domain tables When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<attribute-diff-list>  =>   B<L<"config-cluster-attribute-info">[], optional>

=begin html

<br>The list of attributes that differ

=end html

=back



=over 2

=item * I<destination-cluster-name>  =>   B<string, optional>

=begin html

<br>Name of destination cluster Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-cluster-uuid>  =>   B<uuid, optional>

=begin html

<br>External UUID of destination cluster Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<instance>  =>   B<integer, optional>

=begin html

<br>The count of object instance Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<keys>  =>   B<key-value-pair[], optional>

=begin html

<br>List of key:value pairs of the specific configuration instance compared - for example, volume:vol1 Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object>  =>   B<string, optional>

=begin html

<br>The Cluster-Domain configuration object being compared - for example, aggrView Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<skip-excluded-fields>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to compare configuration attributes which are not explicitly replicated. Default is true. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-cluster-name>  =>   B<string, optional>

=begin html

<br>Name of source cluster Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-cluster-uuid>  =>   B<uuid, optional>

=begin html

<br>External UUID of source cluster Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 key-value-pair

=begin html

Key value pair in the format key:value

=end html



B<Fields>

=over 2

=item * None

=back



=head2 metrocluster-check-aggregate-eligibility-info

=begin html

MetroCluster Config-Replication Aggregate Eligibility Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<aggr-name, optional>

=begin html

<br>The aggregate being evaluated for config-replication volume hosting eligibility. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>If the aggregate is not eligible to host additional config-replication volumes, this comment indicates the reason. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hosted-configuration-replication-volumes>  =>   B<volume-name[], optional>

=begin html

<br>The volumes used for config-replication that are currently hosted by this aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-eligible-to-host-additional-volumes>  =>   B<boolean, optional>

=begin html

<br>Whether or not this aggregate is eligible to host more config-replication volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-check-aggregate-info

=begin html

MetroCluster check aggregate info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<additional-info>  =>   B<string[], optional>

=begin html

<br>Additional information/Recovery steps in case the check find a configuration error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of the aggregate that was checked. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<check>  =>   B<string, optional>

=begin html

<br>Name of the check that was checked. <p> Possible values: <ul> <li>'mirrored' <li>'disk_pool_allocation' </ul> </p> Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "mirroring_status" - Mirroring status, <li> "disk_pool_allocation" - Disk pool allocation, <li> "ownership_state" - Check for left-behind aggregates </ul>

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>Name of the cluster the aggregate belongs to. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node that the aggregate belonged to. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<result>  =>   B<string, optional>

=begin html

<br>Result of the check. <p> Possible values: <ul> <li>'ok', <li>'warning' </ul> </p> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=over 2

=item * I<timestamp>  =>   B<integer, optional>

=begin html

<br>Time at which these results were generated. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-check-capture-status-info

=begin html

MetroCluster Config-Replication Capture in Progress Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-capture-in-progress>  =>   B<boolean, optional>

=begin html

<br>Whether or not a configuration change is actively being captured. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-check-cluster-info

=begin html

MetroCluster check cluster info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<additional-info>  =>   B<string, optional>

=begin html

<br>Additional information/Recovery steps in case the check find a configuration error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<check>  =>   B<string, optional>

=begin html

<br>Name of the check that was checked. <p> Possible values: <ul> <li>'negotiated_switchover_ready' <li>'switchback_ready' <li>'job_schedules' <li>'licenses' </ul> </p> Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "none" - No DR OP-ready check is performed, <li> "negotiated_switchover_ready" - Check if the cluster is ready for a negotiated switchover operation, <li> "switchback_ready" - Check if the cluster is ready for a switchback operation, <li> "job_schedules" - Check if the job schedules between the local and the remote cluster are consistent, <li> "licenses" - Check if the licenses between the local and the remote cluster are consistent, <li> "periodic_check_enabled" - Check if the periodic MetroCluster Check job is enabled </ul>

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>Name of the cluster the aggregate belongs to. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<result>  =>   B<string, optional>

=begin html

<br>Result of the check. <p> Possible values: <ul> <li>'ok', <li>'warning' <li>'not-applicable' </ul> </p> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=over 2

=item * I<timestamp>  =>   B<integer, optional>

=begin html

<br>Time at which these results were generated. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-check-config-replication-info

=begin html

Results of the MetroCluster config replication checks When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster-recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds a problem with configuration replication Cluster streams. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-streams>  =>   B<string, optional>

=begin html

<br>Verifies that MetroCluster configuration replication Cluster streams are healthy. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=over 2

=item * I<heartbeat-recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds a problem with the remote heartbeat. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Verifies that MetroCluster configuration replication is enabled on the cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-running>  =>   B<boolean, optional>

=begin html

<br>Verifies that MetroCluster configuration replication is running on the cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-heartbeat-received>  =>   B<datetime, optional>

=begin html

<br>The timestamp of the last MetroCluster configuration replication hearbeat received from the remote cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-heartbeat-sent>  =>   B<datetime, optional>

=begin html

<br>The timestamp of the last MetroCluster configuration replication heartbeat sent to the remote cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds config replication is not enabled or is enabled but not running. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-heartbeat>  =>   B<string, optional>

=begin html

<br>Verifies that the MetroCluster configuration replication heartbeat with the remote cluster is healthy. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=over 2

=item * I<storage-in-use>  =>   B<string, optional>

=begin html

<br>The location of MetroCluster configuration replication storage. <p> Examples: <ul> <li>Node Local on node-123 <li>Cluster-wide Volume: MDV_CRS_1bc7134a5ddf11e3b63f123478563412_A <li>Unavailable </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-non-healthy-reason>  =>   B<string, optional>

=begin html

<br>The underlying root cause for non-healthy MetroCluster configuration replication storage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds a problem with configuration replication storage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-status>  =>   B<string, optional>

=begin html

<br>Verifies that MetroCluster configuration replication storage is healthy. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=over 2

=item * I<vserver-recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds a problem with configuration replication Vserver streams. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-streams>  =>   B<string, optional>

=begin html

<br>Verifies that MetroCluster configuration replication Vserver streams are healthy. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=head2 metrocluster-check-info

=begin html

MetroCluster check info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<additional-info>  =>   B<string, optional>

=begin html

<br>Additional information/Recovery steps Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<component>  =>   B<string, optional>

=begin html

<br>Name of the component that was checked. <p> Possible values: <ul> <li>'nodes', <li>'aggregates', <li>'clusters' </ul> </p> Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "nodes" - Checks For Nodes In MetroCluster, <li> "lifs" - Checks For LIFs in MetroCluster, <li> "config_replication" - Checks For Config Replication In MetroCluster, <li> "aggregates" - Checks For Aggregates In MetroCluster, <li> "clusters" - Checks For Clusters DR-ready Status </ul>

=end html

=back



=over 2

=item * I<result>  =>   B<string, optional>

=begin html

<br>Result of the check. <p> Possible values: <ul> <li>'ok', <li>'warning' </ul> </p> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=over 2

=item * I<timestamp>  =>   B<integer, optional>

=begin html

<br>Time at which these results were generated. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-check-node-info

=begin html

MetroCluster check node info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<additional-info>  =>   B<string, optional>

=begin html

<br>Additional information/Recovery steps in case the check finds a configuration error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<check>  =>   B<string, optional>

=begin html

<br>Name of the check that was checked. <p> Possible values: <ul> <li>'reachable' <li>'metrocluster_ready', <li>'ha_partner_in_same_cluster', <li>'ha_mirroring', <li>'symmetric_ha_relationship', <li>'dr_partner_in_peer_cluster' <li>'dr_mirroring' <li>'symmetric_dr_relationship' <li>'dr_auxiliary_in_peer_cluster' <li>'symmetric_dr_auxiliary_relationship' </ul> </p> Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "node_reachable" - Is the node reachable, <li> "metrocluster_ready" - Ready for MetroCluster configuration, <li> "local_ha_partner" - HA partner in same cluster, <li> "ha_mirroring_on" - HA mirroring, <li> "ha_mirroring_op_state" - HA mirroring operational state, <li> "symmetric_ha_relationship" - Symmetric HA relationship, <li> "remote_dr_partner" - DR partner in peer cluster, <li> "dr_mirroring_on" - DR Mirroring, <li> "dr_mirroring_op_state" - DR Mirroring operational state, <li> "symmetric_dr_relationship" - Symmetric DR relationship, <li> "remote_dr_auxiliary_partner" - DR Auxiliary in peer cluster, <li> "symmetric_dr_auxiliary_relationship" - Symmetric DR Auxiliary relationship, <li> "storage_failover_enabled" - Is storage failover enabled, <li> "has_intercluster_lif" - Check if the node has an intercluster LIF, <li> "node_object_limit" - Is node object limit option turned on, <li> "automatic_uso" - Is automatic USO enabled </ul>

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>Name of the cluster the node belongs to. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node that was checked. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<result>  =>   B<string, optional>

=begin html

<br>Result of the check. <p> Possible values: <ul> <li>'ok', <li>'warning' </ul> </p> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=over 2

=item * I<timestamp>  =>   B<integer, optional>

=begin html

<br>Time at which these results were generated. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-config-replication-resync-status-info

=begin html

MetroCluster configuration replication synchronization status info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<inbound-completion-percentage>  =>   B<integer, optional>

=begin html

<br>Inbound Completion Percentage Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inbound-sync-state>  =>   B<string, optional>

=begin html

<br>Inbound Synchronization State <p> Possible values: <ul> <li>'messaging', <li>'complete', <li>'failed' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-cluster-name>  =>   B<string, optional>

=begin html

<br>Local Cluster Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<outbound-completion-percentage>  =>   B<integer, optional>

=begin html

<br>Outbound Completion Percentage Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<outbound-sync-state>  =>   B<string, optional>

=begin html

<br>Outbound Synchronization State <p> Possible values: <ul> <li>'messaging', <li>'complete', <li>'failed' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-cluster-name>  =>   B<string, optional>

=begin html

<br>Remote Cluster Name Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-cr-storage-info

=begin html

MetroCluster Config-Replication Cluster Storage Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<disallowed-aggregates>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies the list of aggregates that are disallowed for use by the metrocluster configuration replication. An admin may modify this value to exclude aggregates. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<use-mirrored-aggregate>  =>   B<boolean, optional>

=begin html

<br>Specifies whether mirrored aggregates are currently in use by metrocluster configuration replication. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-info

=begin html

MetroCluster configuration info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<configuration-type>  =>   B<string, optional>

=begin html

<br>MetroCluster configuration type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "invalid" - Invalid topology, <li> "stretch" - Stretch topology, <li> "fabric" - Fabric topology, <li> "two_node_fabric" - Two-node fabric topology, <li> "ip_fabric" - IP fabric topology, <li> "ip_two_node_fabric" - Two-node IP fabric topology </ul>

=end html

=back



=over 2

=item * I<local-auso-failure-domain>  =>   B<string, optional>

=begin html

<br>AUSO Failure Domain on Local Cluster Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Automatic USO trigger criteria could not be determined, <li> "not_reachable" - Cluster is not reachable, <li> "auso_on_cluster_disaster" - Automatic USO will be triggered only if all remote are down, <li> "auso_on_dr_group_disaster" - Automatic USO will be triggered if any HA pair in the remote cluster is down, <li> "auso_disabled" - Automatic USO will not be triggered </ul>

=end html

=back



=over 2

=item * I<local-cluster-name>  =>   B<string, optional>

=begin html

<br>Name of the Local Cluster Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<local-configuration-state>  =>   B<string, optional>

=begin html

<br>State of the Local Cluster Configuration Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Mode could not be determined, <li> "not_reachable" - Cluster is not reachable, <li> "not_configured" - Configuration has not been done, <li> "configuration_error" - MetroCluster is not ready for use. Error in configuration., <li> "partially_configured" - MetroCluster is partially configured, some nodes are not configured., <li> "configured" - MetroCluster is completely configured </ul>

=end html

=back



=over 2

=item * I<local-mode>  =>   B<string, optional>

=begin html

<br>Mode of Operation of Local Cluster Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - State could not be determined, <li> "not_reachable" - Cluster is not reachable, <li> "not_configured" - Configuration has not been done, <li> "normal" - Cluster is in normal mode, <li> "switchover" - Cluster is in switchover mode, <li> "waiting_for_switchback" - Cluster is waiting for switchback, <li> "partial_switchover" - Cluster is in partial switchover mode, <li> "partial_switchback" - Cluster is in partial switchback mode </ul>

=end html

=back



=over 2

=item * I<local-periodic-check-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Periodic Check Enabled on Local Cluster Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-auso-failure-domain>  =>   B<string, optional>

=begin html

<br>AUSO Failure Domain on Remote Cluster Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Automatic USO trigger criteria could not be determined, <li> "not_reachable" - Cluster is not reachable, <li> "auso_on_cluster_disaster" - Automatic USO will be triggered only if all remote are down, <li> "auso_on_dr_group_disaster" - Automatic USO will be triggered if any HA pair in the remote cluster is down, <li> "auso_disabled" - Automatic USO will not be triggered </ul>

=end html

=back



=over 2

=item * I<remote-cluster-name>  =>   B<string, optional>

=begin html

<br>Name of the Remote Cluster Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-configuration-state>  =>   B<string, optional>

=begin html

<br>State of the Remote Cluster Configuration Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Mode could not be determined, <li> "not_reachable" - Cluster is not reachable, <li> "not_configured" - Configuration has not been done, <li> "configuration_error" - MetroCluster is not ready for use. Error in configuration., <li> "partially_configured" - MetroCluster is partially configured, some nodes are not configured., <li> "configured" - MetroCluster is completely configured </ul>

=end html

=back



=over 2

=item * I<remote-mode>  =>   B<string, optional>

=begin html

<br>Mode of Operation of Remote Cluster Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - State could not be determined, <li> "not_reachable" - Cluster is not reachable, <li> "not_configured" - Configuration has not been done, <li> "normal" - Cluster is in normal mode, <li> "switchover" - Cluster is in switchover mode, <li> "waiting_for_switchback" - Cluster is waiting for switchback, <li> "partial_switchover" - Cluster is in partial switchover mode, <li> "partial_switchback" - Cluster is in partial switchback mode </ul>

=end html

=back



=over 2

=item * I<remote-periodic-check-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Periodic Check Enabled on Remote Cluster Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-interconnect-adapter

=begin html

Metrocluster interconnect adapter. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<adapter-name>  =>   B<string, optional>

=begin html

<br>Name of the interconnect adapter. For example: cxgb3_0, fcvi_device_0. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<adapter-type>  =>   B<string, optional>

=begin html

<br>Type of adapter. <p> Possible Values: <ul> <li>'IB', <li>'iWARP', <li>'FC-VI', <li>'M-VIA' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<firmware-version>  =>   B<string, optional>

=begin html

<br>Firmware version of the adapter. For example: 7.7.209, 113.01.00. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ip-address>  =>   B<string, optional>

=begin html

<br>IP address of the adapter. For example: 1.0.12.2. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-ood-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Out-of-Order delivery enabled for the adapter port? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-speed>  =>   B<string, optional>

=begin html

<br>Link speed (in Gbps) configured for the adapter port. <p> Possible Values: <ul> <li>'1G', <li>'2G', <li>'4G', <li>'8G', <li>'16G' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-speed-neg-type>  =>   B<string, optional>

=begin html

<br>Type of negotiation done for adapter port speed. <p> Possible Values: <ul> <li>'Manual', <li>'Auto' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-link-status>  =>   B<string, optional>

=begin html

<br>Physical link status of the adapter port. <p> Possible Values: <ul> <li>'Up', <li>'Down' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-name>  =>   B<string, optional>

=begin html

<br>Name of the adapter port. For example: c0a, 1a. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the adapter. For example: 21:00:00:24:ff:48:ea:d0. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-adapter-list>  =>   B<L<"metrocluster-interconnect-remote-adapter">[], optional>

=begin html

<br>Information about remote metrocluster interconnect adapter.

=end html

=back



=over 2

=item * I<switch-model>  =>   B<string, optional>

=begin html

<br>Model of the switch connected to this adapter port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-name>  =>   B<string, optional>

=begin html

<br>Name of the switch connected to this adapter port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-port-name>  =>   B<string, optional>

=begin html

<br>Name of the switch port connected to this adapter port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-port-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the switch port connected to this adapter port. For example: 20:0d:00:27:f8:47:9e:25. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-status>  =>   B<string, optional>

=begin html

<br>Status of the switch connected to this adapter port. <p> <ul> <li>'Up', <li>'Down' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-vendor>  =>   B<string, optional>

=begin html

<br>Vendor of the switch connected to this adapter port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-wwn>  =>   B<string, optional>

=begin html

<br>World wide name of the switch connected to this adapter port. For example: 10:00:00:27:f8:47:9e:25. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-interconnect-ipfo

=begin html

Metrocluster interconnect ipfo. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>IPFO status of a node. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-timeout-trigger-enabled>  =>   B<boolean, optional>

=begin html

<br>Timeout trigger status of a node. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<timeout-trigger-value>  =>   B<integer, optional>

=begin html

<br>Timeout based trigger in msecs. Attributes: non-creatable, modifiable

=end html

=back



=head2 metrocluster-interconnect-mirror

=begin html

Object for cross-cluster NVRAM mirroring between two nodes in DR partnership. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<adapter-name>  =>   B<string, optional>

=begin html

<br>Name of the adapter. For example: cxgb3_0, fcvi_device_0. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<adapter-type>  =>   B<string, optional>

=begin html

<br>Type of adapter. <p> Possible Values: <ul> <li>'IB', <li>'iWARP', <li>'FC-VI', <li>'M-VIA' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mirroring-admin-status>  =>   B<string, optional>

=begin html

<br>Administrative status of NVRAM mirror. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "enabled" , <li> "disabled" </ul>

=end html

=back



=over 2

=item * I<mirroring-oper-status>  =>   B<string, optional>

=begin html

<br>Operational status of NVRAM mirror. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-name>  =>   B<string, optional>

=begin html

<br>Name of the partner node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-type>  =>   B<string, optional>

=begin html

<br>Type of partner. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "ha" - High Availability Partner, <li> "dr" - Disaster Recovery Partner, <li> "aux" - Disaster Recovery Auxiliary Partner </ul>

=end html

=back



=over 2

=item * I<physical-link-status>  =>   B<string, optional>

=begin html

<br>Physical link status of adapter port. <p> Possible values: <ul> <li>'Up', <li>'Down' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-interconnect-mirror-multipath

=begin html

Metrocluster interconnect mirror multipath. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<multipath-policy>  =>   B<metroclusterinterconnectmppolicy, optional>

=begin html

<br>Multipath policy of the mirror. Attributes: non-creatable, modifiable Possible values: <ul> <li> "no_mp" - No Multipath, <li> "static_map" - Static Map, <li> "dynamic_map" - Dynamic Map, <li> "round_robin" - Round Robin </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-interconnect-remote-adapter

=begin html

Information about remote metrocluster interconnect adapter.

=end html



B<Fields>

=over 2

=item * I<remote-adapter-name>  =>   B<string, optional>

=begin html

<br>Name of the remote adapter connected to this adapter port. For example: cxgb3_0, fcvi_device_0. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-adapter-port-id>  =>   B<integer, optional>

=begin html

<br>ID of the remote adapter port connected to this adapter port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-adapter-port-name>  =>   B<node-name, optional>

=begin html

<br>Remote Adapter Port Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-adapter-port-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the remote adapter connected to this adapter port. For example: 21:00:00:24:ff:48:ff:47. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-partner-node-name>  =>   B<node-name, optional>

=begin html

<br>Name of the remote partner node hosting the remote adapter. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-node-info

=begin html

MetroCluster node configuration info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<additional-configuration-info>  =>   B<string, optional>

=begin html

<br>Specifies additional configuration information Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<automatic-uso>  =>   B<boolean, optional>

=begin html

<br>Specifies if automatic unsigned switchover is enabled Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>Name of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<configuration-state>  =>   B<string, optional>

=begin html

<br>Specifies the state of the node's configuration. <p> Possible values: <ul> <li>'node-unreachable', <li>'configured', <li>'not-configured' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-auxiliary-cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the DR auxiliary partner belongs to Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-auxiliary-partner-node-name>  =>   B<string, optional>

=begin html

<br>Name of the DR auxiliary partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-auxiliary-partner-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the DR auxiliary partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-auxiliary-systemid>  =>   B<integer, optional>

=begin html

<br>System Id of the DR auxiliary partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-cluster-name>  =>   B<string, optional>

=begin html

<br>Name of the DR cluster Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-group-id>  =>   B<integer, optional>

=begin html

<br>Identifier for the DR group that the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-mirroring-state>  =>   B<string, optional>

=begin html

<br>Specifies the state of the node <p> Possible values: <ul> <li>'-', <li>'enabled', <li>'disabled', </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-operation-duration>  =>   B<integer, optional>

=begin html

<br>Specifies the time taken to complete the last DR operation in seconds Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-operation-state>  =>   B<string, optional>

=begin html

<br>State of the DR operation. <p> Possible values: <ul> <li>'normal', <li>'switchover_in progress', <li>'switchover_failed', <li>'switchover_completed', <li>'heal_aggrs_in progress', <li>'heal_aggrs_failed', <li>'heal_aggrs_completed', <li>'heal_roots_in progress', <li>'heal_roots_failed', <li>'heal_roots_completed', <li>'switchback_in_progress', <li>'switchback_failed' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-partner-cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the DR partner belongs to Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-partner-node-name>  =>   B<string, optional>

=begin html

<br>Name of the DR partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-partner-systemid>  =>   B<integer, optional>

=begin html

<br>System Id of the DR partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-partner-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the DR partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<force-node-object-limit>  =>   B<boolean, optional>

=begin html

<br>Specifies if the node object limits are enforced Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ha-partner-cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the HA partner belongs to Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ha-partner-node-name>  =>   B<string, optional>

=begin html

<br>Name of the HA partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ha-partner-systemid>  =>   B<integer, optional>

=begin html

<br>System Id of the HA partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ha-partner-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the HA partner Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the node belongs to Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-systemid>  =>   B<integer, optional>

=begin html

<br>System Id of the node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the node Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-operation-info

=begin html

MetroCluster operation history info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>Name of the cluster the node belongs to Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<command-line>  =>   B<string, optional>

=begin html

<br>Command Line With Options Specified Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<end-time>  =>   B<integer, optional>

=begin html

<br>Time when the operation ended. The value is the number of seconds elapsed since Jan 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-list>  =>   B<string[], optional>

=begin html

<br>List of errors encountered during the operation Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>Identifier for the job Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Name of the node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation>  =>   B<string, optional>

=begin html

<br>Name of the operation. <p> Possible values: <ul> <li>'configure', <li>'modify', <li>'switchover', <li>'switchback', <li>'heal_aggregates', <li>'heal_root_aggregates', <li>'switchback_continuation_agent', <li>'unconfigure' </ul> </p> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown operation, <li> "configure" - MetroCluster configure operation, <li> "modify" - MetroCluster modify operation, <li> "switchover" - MetroCluster switchover operation, <li> "heal_aggregates" - MetroCluster heal aggregates operation, <li> "heal_root_aggregates" - MetroCluster heal root aggregates operation, <li> "switchback" - MetroCluster switchback operation, <li> "switchback_continuation_agent" - MetroCluster switchback continuation agent, <li> "unconfigure" - MetroCluster unconfigure operation, <li> "unconfigure_continuation_agent" - MetroCluster unconfigure continuation agent, <li> "switchover_simulate" - MetroCluster switchover simulation operation, <li> "switchback_simulate" - MetroCluster switchback simulation operation, <li> "check" - MetroCluster check operation, <li> "ip_setup" - MetroCluster IP setup operation, <li> "ip_teardown" - MetroCluster IP teardown operation, <li> "dr_group_create" - MetroCluster configuration-setting DR Group create operation, <li> "dr_group_delete" - MetroCluster configuration-setting DR Group delete operation, <li> "connect" - MetroCluster configuration-setting connect operation, <li> "disconnect" - MetroCluster configuration-setting disconnect operation, <li> "interface_create" - MetroCluster configuration-setting interface create operation, <li> "interface_delete" - MetroCluster configuration-setting interface delete operation, <li> "interface_modify" - MetroCluster configuration-setting interface modify operation </ul>

=end html

=back



=over 2

=item * I<operation-uuid>  =>   B<string, optional>

=begin html

<br>Unique identifier for the operation Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<integer, optional>

=begin html

<br>Time when the operation started. The value is the number of seconds elapsed since Jan 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>State of the operation. <p> Possible values: <ul> <li>'unknown', <li>'in_progress', <li>'partially_successful', <li>'completed_with_manual_recovery_needed', <li>'completed_with_warnings', <li>'successful', <li>'failed' </ul> </p> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Could not determine the state of the operation, <li> "in_progress" - The operation is in progress, <li> "partially_successful" - The operation has ended and it was partially successful, <li> "successful" - The operation has ended and it was successful, <li> "failed" - The operation has ended and it failed, <li> "completed_with_manual_recovery_needed" - The operation has ended but some steps need to be manually run, <li> "completed_with_warnings" - The operation has ended and it was successful but there were some warnings during the operation </ul>

=end html

=back



=head2 metrocluster-operation-statistics-info

=begin html

Metrocluster opertaion statistics info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<failed>  =>   B<integer, optional>

=begin html

<br>Number of failed instances of each operation Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation>  =>   B<string, optional>

=begin html

<br>Name of the operation. <p> Possible values: <ul> <li>'configure', <li>'modify', <li>'switchover', <li>'switchback', <li>'heal_aggregates', <li>'heal_root_aggregates', <li>'switchback_continuation_agent', <li>'unconfigure', <li>'unconfigure_continuation_agent', <li>'switchover-simulate', <li>'switchback-simulate' </ul> </p> Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown operation, <li> "configure" - MetroCluster configure operation, <li> "modify" - MetroCluster modify operation, <li> "switchover" - MetroCluster switchover operation, <li> "heal_aggregates" - MetroCluster heal aggregates operation, <li> "heal_root_aggregates" - MetroCluster heal root aggregates operation, <li> "switchback" - MetroCluster switchback operation, <li> "switchback_continuation_agent" - MetroCluster switchback continuation agent, <li> "unconfigure" - MetroCluster unconfigure operation, <li> "unconfigure_continuation_agent" - MetroCluster unconfigure continuation agent, <li> "switchover_simulate" - MetroCluster switchover simulation operation, <li> "switchback_simulate" - MetroCluster switchback simulation operation, <li> "check" - MetroCluster check operation, <li> "ip_setup" - MetroCluster IP setup operation, <li> "ip_teardown" - MetroCluster IP teardown operation, <li> "dr_group_create" - MetroCluster configuration-setting DR Group create operation, <li> "dr_group_delete" - MetroCluster configuration-setting DR Group delete operation, <li> "connect" - MetroCluster configuration-setting connect operation, <li> "disconnect" - MetroCluster configuration-setting disconnect operation, <li> "interface_create" - MetroCluster configuration-setting interface create operation, <li> "interface_delete" - MetroCluster configuration-setting interface delete operation, <li> "interface_modify" - MetroCluster configuration-setting interface modify operation </ul>

=end html

=back



=over 2

=item * I<succeeded>  =>   B<integer, optional>

=begin html

<br>Number of successful instances of each operation Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-instances>  =>   B<integer, optional>

=begin html

<br>Total number of instances of each operation Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-progress-table-info

=begin html

MetroCluster progress table info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<duration>  =>   B<integer, optional>

=begin html

<br>Time spent by this subsystem processing this operation in seconds Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<entry-name>  =>   B<string, optional>

=begin html

<br>Name of the subsystem Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>Resource Table Index Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>State of the subsystem. <p> Possible values: <ul> <li>'switchover_in_progress', <li>'switchover_failed_or_incomplete_for_some_nodes', <li>'switchover_completed_successfully', <li>'healing_phase_roots_in_progress', <li>'healing_phase_roots_failed_or_incomplete_for_some_nodes', <li>'healing_phase_roots_completed_successfully', <li>'healing_phase_aggregates_in_progress', <li>'healing_phase_aggregates_failed_or_incomplete_for_some_nodes', <li>'healing_phase_aggregates_completed_successfully', <li>'switchback_in_progress', <li>'switchback_failed_or_incomplete_for_some_nodes' </ul> </p Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-show-lif-placement-failures

=begin html

Display LIF placement failures in MetroCluster setup When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<data-protocol>  =>   B<string[], optional>

=begin html

<br>Data Protocol of the sync source Vserver LIF Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "nfs" - Used for NFS connections, <li> "cifs" - Used for CIFS connections, <li> "iscsi" - Used for iSCSI connections, <li> "fcp" - Used for Fibre Channel connections, <li> "fcache" - Used for FlexCache connections, <li> "none" - Used for management. Does not serve any file protocols., <li> "http" - Used for HTTP connections </ul>

=end html

=back



=over 2

=item * I<lif-placement-failure>  =>   B<string, optional>

=begin html

<br>LIF Placement Failures in MetroCluster setup <p> LIF Placement failures: <ul> <li>'Port hosting the sync source vserver FC LIF in the source cluster is not connected to any fabric', <li>'MetroCluster DR Node is offline', <li>'No ports found on MetroCluster DR node connected to fabric with fabric name ', <li>'No ports found on MetroCluster DR node of CNA adapter-type', <li>'No ports found on MetroCluster DR node of FC adapter-type', <li>'No ports found on MetroCluster DR node connected to the required subnet ' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sync-source-vserver>  =>   B<string, optional>

=begin html

<br>sync-source Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sync-source-vserver-lif>  =>   B<string, optional>

=begin html

<br>sync-source Vserver LIF Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-vserver-info

=begin html

Metroclsuter Vserver Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster>  =>   B<cluster-name, optional>

=begin html

<br>Cluster name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<configuration-state>  =>   B<vs-mcc-config-state, optional>

=begin html

<br>This describes the configuration state of the MetroCluster setup. It can have three possible values: healthy, unhealthy, degraded. The configuration-state is described as healthy when both the local and remote streams are up and there are no failed operations in the stream. If either the local stream's or the remote stream's operation state is not up, the configuration-state is unhealthy. If there is a failed operation in the stream, the configuration-state is degraded. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "healthy" , <li> "unhealthy" , <li> "degraded" , <li> "pending_setup" , <li> "syncing" , <li> "replication_paused" , <li> "pending_switchback" </ul>

=end html

=back



=over 2

=item * I<failed-reason>  =>   B<string, optional>

=begin html

<br>Reason for failure Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failed-row>  =>   B<string, optional>

=begin html

<br>This field appears in the output only if the failed operation is configuration_apply. This specifies the row for which the apply has failed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-vserver>  =>   B<string, optional>

=begin html

<br>Partner Vserver in the MetroCluster relationship Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver in the MetroCluster relationship Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 metroclusterinterconnectmppolicy

=begin html

no-mp|static-map|dynamic-map|round-robin Possible values: <ul> <li> "no_mp" - No Multipath, <li> "static_map" - Static Map, <li> "dynamic_map" - Dynamic Map, <li> "round_robin" - Round Robin </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vs-mcc-config-state

=begin html

healthy|unhealthy|degraded|pending-setup|syncing|replication-paused|pending-switchback Possible values: <ul> <li> "healthy" , <li> "unhealthy" , <li> "degraded" , <li> "pending_setup" , <li> "syncing" , <li> "replication_paused" , <li> "pending_switchback" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 metrocluster-configuration-settings-info

=begin html

MetroCluster configuration settings info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster>  =>   B<string, optional>

=begin html

<br>Name of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<config-error-info>  =>   B<string, optional>

=begin html

<br>Configuration error information Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<configuration-status>  =>   B<string, optional>

=begin html

<br>Configuration status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-connection-info

=begin html

MetroCluster Connection configuration info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster>  =>   B<string, optional>

=begin html

<br>Name of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<config-error-info>  =>   B<string, optional>

=begin html

<br>Connection configuration error information Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<config-state>  =>   B<string, optional>

=begin html

<br>Connection configuration state <p> Possible values: <ul> <li>'disconnected', <li>'completed', <li>'connect-check', <li>'connect-nvlog', <li>'connect-storage', <li>'disconnect-storage', <li>'disconnect-nvlog', <li>'connect-prepare', <li>'connect-update' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-address>  =>   B<string, optional>

=begin html

<br>IP address for the port on the partner node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-group-id>  =>   B<integer, optional>

=begin html

<br>Identifier for the DR group that the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<home-port>  =>   B<string, optional>

=begin html

<br>Name of the port on the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the partner node belongs to Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-node>  =>   B<string, optional>

=begin html

<br>Name of the partner node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-node-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the partner node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-type>  =>   B<string, optional>

=begin html

<br>Relationship type of the node with the partner node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-type>  =>   B<string, optional>

=begin html

<br>Relationship type of the node with the partner node Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "self" , <li> "ha" , <li> "dr_primary" , <li> "dr_auxiliary" , <li> "unknown" </ul>

=end html

=back



=over 2

=item * I<source-address>  =>   B<string, optional>

=begin html

<br>IP address for the port on the node Attributes: non-creatable, non-modifiable

=end html

=back



=head2 metrocluster-dr-group-info

=begin html

MetroCluster DR group configuration info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster>  =>   B<string, optional>

=begin html

<br>Name of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-group-id>  =>   B<integer, optional>

=begin html

<br>Identifier for the DR group that the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-partner-node>  =>   B<string, optional>

=begin html

<br>Name of the DR partner node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-partner-node-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the DR partner node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 lif-bindable

=begin html

<netport>|<ifgrp>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 metrocluster-interface-info

=begin html

MetroCluster Interface configuration info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<string, optional>

=begin html

<br>IP address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster>  =>   B<string, optional>

=begin html

<br>Name of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the cluster the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<config-error-info>  =>   B<string, optional>

=begin html

<br>Interface configuration error information Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<config-state>  =>   B<string, optional>

=begin html

<br>Interface configuration state <p> Possible values: <ul> <li>'create-interface', <li>'delete-interface', <li>'setup-storage', <li>'teardown-storage' <li>'completed', <li>'prepare-connection', <li>'disconnect-connection' </ul> </p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dr-group-id>  =>   B<integer, optional>

=begin html

<br>Identifier for the DR group that the node belongs to Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gateway>  =>   B<string, optional>

=begin html

<br>Gateway Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<home-port>  =>   B<string, optional>

=begin html

<br>Name of the port on the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netmask>  =>   B<string, optional>

=begin html

<br>Netmask Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Name of the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<string, optional>

=begin html

<br>UUID of the node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 name-mapping-direction

=begin html

Direction of the name mapping. Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 name-mapping-info

=begin html

Name mapping configuration for Vservers. The possible sources of name mapping information and the order in which they are searched is determined by the Vserver's 'name-mapping-switch' option. If the 'name-mapping-switch' is set to 'file', the rules in this table are used to determine the mapping. Windows user names, UNIX user names and Kerberos principal names can be three disjoint sets of names. A mechanism is needed to map users from one set to another when performing authorization checks. Each name mapping entry represents one such map in a given direction. Name mappings are done using standard UNIX style regular expressions for pattern replacement. For example if a configuration is required to convert any Windows user in the Windows domain name 'EXAMPLE' into a UNIX user with the same name in NIS, the direction entry should be set to 'win-unix', the pattern string should be set to 'EXAMPLE\\(.+)' and the replacement string should be set to '\1'. The double ba) in the pattern matches a single backslash in the source name. The parentheses denote a subexpression but do not match any characters themselves. The 'period' matches any single character. The 'plus' matches one or more characters of the previous expression. The pattern 'EXAMPLE\\(.+)' matches 'EXAMPLE\' followed by one or more of any character. In the replacement, '\1' refers to the string that the first subexpression matched. Assuming the Windows user 'EXAMPLE\user1', the replacement evaluates to 'user1'. If a mapping is required from Windows to UNIX and none of the name mapping entries match, the domain name is stripped from the the username and it is directly mapped to the UNIX user of the same name. Similarly if a mapping is required from a UNIX user to a Windows user and none of the name mapping entries match, the domain name is prefixed to the username and it is directly mapped to a Windows user of the same name. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<ip-and-mask, optional>

=begin html

<br>IP address is an optional parameter which is used to match the client IP address while searching for a pattern that can be used as a replacement. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<direction>  =>   B<name-mapping-direction, optional>

=begin html

<br>Direction in which the name mapping is applied. Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "krb_unix" - Kerberos principal name to UNIX user name mapping, <li> "win_unix" - Windows user name to UNIX user name mapping, <li> "unix_win" - UNIX user name to Windows user name mapping </ul>

=end html

=back



=over 2

=item * I<hostname>  =>   B<string, optional>

=begin html

<br>Hostname is an optional parameter which is used to match the client IP address with the list of IP addresses from mentioned hostname. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<pattern>  =>   B<string, optional>

=begin html

<br>Pattern to use to match the name while searching for a name that can be used as a replacement. The pattern is a UNIX-style regular expression. Regular expressions are case-insensitive when mapping from Windows to UNIX, and they are case-sensitive for mappings from Kerberos to UNIX and UNIX to Windows. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<position>  =>   B<integer, optional>

=begin html

<br>Position of an existing name mapping in the list of name mappings for this Vserver. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<replacement>  =>   B<string, optional>

=begin html

<br>The name that is to be used as a replacement if the pattern associated with this entry matches. The replacement is a string containing escape sequences representing subexpressions from the pattern, as in the UNIX 'sed' program. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the name mapping. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 unix-group-info

=begin html

UNIX group information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<group-id>  =>   B<integer, optional>

=begin html

<br>Specifies an identification number for the UNIX group. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<group-name>  =>   B<string, optional>

=begin html

<br>Specifies UNIX group name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<skip-name-validation>  =>   B<boolean, optional>

=begin html

<br>Specifies if group name validation is skipped. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<users>  =>   B<L<"unix-user-name">[], optional>

=begin html

<br>Specifies the list of UNIX users that belong to the UNIX group.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the group. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 unix-user-info

=begin html

UNIX user information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<full-name>  =>   B<string, optional>

=begin html

<br>Specifies the full name of the UNIX user. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<group-id>  =>   B<integer, optional>

=begin html

<br>Specifies the primary group identification number for the UNIX user. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<skip-name-validation>  =>   B<boolean, optional>

=begin html

<br>Specifies if user name validation is skipped. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<user-id>  =>   B<integer, optional>

=begin html

<br>Specifies an identification number for the UNIX user. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Specifies user's UNIX account name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the UNIX user. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 unix-user-name

=begin html

Specifies user name information.

=end html



B<Fields>

=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Specifies user's UNIX account name. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 address-family

=begin html

ipv4|ipv6|all Possible values: <ul> <li> "ipv4" - Lookup for ipv4 addresses, <li> "ipv6" - Lookup for ipv6 addresses, <li> "all" - Lookup for both ipv4 and ipv6 addresses </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 counter64

=begin html

64-bit Counter Range : [0..2^64-1].

=end html



B<Fields>

=over 2

=item * None

=back



=head2 name-service-cache-group-membership-settings-info

=begin html

Contains name services group membership cache configuration information of a Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<grplist-ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live for Grplist Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 name-service-cache-hosts-settings-info

=begin html

Contains name services hosts cache configuration information of a Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-negative-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Negative Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<negative-ttl>  =>   B<time-interval, optional>

=begin html

<br>Negative Time to Live Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 name-service-cache-netgroup-settings-info

=begin html

Contains name services netgroup cache configuration information of a Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-negative-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Negative Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<negative-ttl>  =>   B<time-interval, optional>

=begin html

<br>Negative Time to Live Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ttl-members>  =>   B<time-interval, optional>

=begin html

<br>TTL for netgroup members Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 name-service-cache-unix-group-settings-info

=begin html

Contains name services UNIX group cache configuration information of a Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-negative-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Negative Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-propagation-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Propagation Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<negative-ttl>  =>   B<time-interval, optional>

=begin html

<br>Negative Time to Live Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 name-service-cache-unix-user-settings-info

=begin html

Contains name services UNIX users cache configuration information of a Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-negative-cache-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Negative Cache Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-propagation-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Propagation Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<negative-ttl>  =>   B<time-interval, optional>

=begin html

<br>Negative Time to Live Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>Time to Live Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 name-service-unix-group-fileonly-info

=begin html

name-service-unix-group-fileonly typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the unix-groups configuration would be controlled only through load-from-uri. Default value is 'false' Attributes: required-for-create, modifiable

=end html

=back



=head2 name-service-unix-user-fileonly-info

=begin html

name-service-unix-user-fileonly typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the unix-users configuration would be controlled only through load-from-uri. Default value is 'false' Attributes: required-for-create, modifiable

=end html

=back



=head2 nameservice-dns-statistics

=begin html

Vserver DNS statistics. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<avg-rtt>  =>   B<counter64, optional>

=begin html

<br>Average Round Trip Time in DNS lookups during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dns-num-host-not-found>  =>   B<counter64, optional>

=begin html

<br>Number of Hosts Not Found While Making DNS queries. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dns-num-timed-out>  =>   B<counter64, optional>

=begin html

<br>Number of DNS queries Timed Out. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<errors>  =>   B<counter64, optional>

=begin html

<br>Number of Unknown Errors Returned during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<format-error>  =>   B<counter64, optional>

=begin html

<br>Number of FORMAT ERROR Rcodes While Making DNS queries. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-rtt>  =>   B<counter64, optional>

=begin html

<br>Maximum time spent in a DNS lookup during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<min-rtt>  =>   B<counter64, optional>

=begin html

<br>Minimum time spent in a DNS lookup during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name-server>  =>   B<ip-address, optional>

=begin html

<br>IP address of the name server. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Name of the Node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<not-implemented>  =>   B<counter64, optional>

=begin html

<br>Number of NOT IMPLEMENTED Rcodes While Making DNS queries. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<queries>  =>   B<counter64, optional>

=begin html

<br>Number of Queries Made during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<refused>  =>   B<counter64, optional>

=begin html

<br>Number of REFUSED Rcodes While Making DNS queries. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<servfail>  =>   B<counter64, optional>

=begin html

<br>Number of SERVFAIL Rcodes While Making DNS queries. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-rtt>  =>   B<counter64, optional>

=begin html

<br>Total time spent in DNS lookup during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 nameservice-nis-statistics

=begin html

Vserver NIS statistics. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<avg-rtt>  =>   B<counter64, optional>

=begin html

<br>Average time spent in YP lookups during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lookups>  =>   B<counter64, optional>

=begin html

<br>Number of YP lookups during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-rtt>  =>   B<counter64, optional>

=begin html

<br>Maximum time spent in a YP lookup during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<min-rtt>  =>   B<counter64, optional>

=begin html

<br>Minimum time spent in a YP lookup during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Name of the Node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-entry-not-found>  =>   B<counter64, optional>

=begin html

<br>Number of entries not found during YP lookup. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-rtx>  =>   B<counter64, optional>

=begin html

<br>Number of retransmits in YP lookups during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server>  =>   B<ip-address, optional>

=begin html

<br>IP address of the NIS server. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-rtt>  =>   B<counter64, optional>

=begin html

<br>Total time spent in YP lookups during data access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 namservice-nsswitch-config-info

=begin html

Name Service Switch Configuration Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<nameservice-database>  =>   B<nss-db-type, optional>

=begin html

<br>Name Service Switch Database. Possible values are hosts, group, passwd, netgroup or name-map Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "hosts" - Hosts Database, <li> "group" - Group Database, <li> "passwd" - Password Database, <li> "netgroup" - Netgroup Database, <li> "namemap" - Name mapping database </ul>

=end html

=back



=over 2

=item * I<nameservice-sources>  =>   B<nss-source-type[], optional>

=begin html

<br>Order of looking up Name Service Switch Sources.Possible values are files, dns, ldap or nis Attributes: required-for-create, modifiable Possible values: <ul> <li> "files" - Local File Name System service setup, <li> "dns" - Domain Name System service setup, <li> "ldap" - Lightweight Directory Access Protocol service setup, <li> "nis" - Network Information Service service setup </ul>

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string, optional>

=begin html

<br>Vserver name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 nis-binding-detail

=begin html

NIS domain show-bound-debug When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<bound-server>  =>   B<string, optional>

=begin html

<br>Specifies the hostname/IP address of the NIS server in the domain. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bound-status>  =>   B<string, optional>

=begin html

<br>Specifies the binding status of the NIS server. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<string, optional>

=begin html

<br>Specifies the NIS domain. For example: 'example.com' Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the NIS domain configuration. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 nis-domain-show-bound

=begin html

NIS domain show-bound When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<bound-servers>  =>   B<ip-address[], optional>

=begin html

<br>Specifies the IP address of one or more bound NIS servers in the domain. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<string, optional>

=begin html

<br>Specifies the NIS domain. For example: 'example.com' Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the NIS domain configuration. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 nss-db-type

=begin html

The type of Name Service database Possible values: <ul> <li> "hosts" - Hosts Database, <li> "group" - Group Database, <li> "passwd" - Password Database, <li> "netgroup" - Netgroup Database, <li> "namemap" - Name mapping database </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 nss-source-type

=begin html

The type of Name Service source Possible values: <ul> <li> "files" - Local File Name System service setup, <li> "dns" - Domain Name System service setup, <li> "ldap" - Lightweight Directory Access Protocol service setup, <li> "nis" - Network Information Service service setup </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndmp-node-session-info

=begin html

NDMP session typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<client-addr>  =>   B<string, optional>

=begin html

<br>NDMP Client Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<client-port>  =>   B<integer, optional>

=begin html

<br>NDMP Client Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-backup-mode>  =>   B<string, optional>

=begin html

<br>Data Backup Mode Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-bytes-processed>  =>   B<integer, optional>

=begin html

<br>Data Bytes Processed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-con-addr>  =>   B<string, optional>

=begin html

<br>Data Server Connect Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-con-addr-type>  =>   B<ndmpd-addr-type, optional>

=begin html

<br>Data Server Connect Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" , <li> "tcp" , <li> "fc" , <li> "ipc" , <li> "tcp_ipv6" </ul>

=end html

=back



=over 2

=item * I<data-con-port>  =>   B<integer, optional>

=begin html

<br>Data Server Connect Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-halt-reason>  =>   B<ndmpd-halt-reason, optional>

=begin html

<br>Data Server Halt Reason Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - Not Available, <li> "connection_closed" - Connection Closed, <li> "aborted" - Aborted, <li> "internal_error" - Internal Error, <li> "connect_error" - Connect Error, <li> "media_error" - Media Error, <li> "successful" - Successful </ul>

=end html

=back



=over 2

=item * I<data-operation>  =>   B<ndmpd-data-oper, optional>

=begin html

<br>Data Operation Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "noaction" - None, <li> "backup" - Backup, <li> "restore" - Restore </ul>

=end html

=back



=over 2

=item * I<data-path>  =>   B<string, optional>

=begin html

<br>Data Path Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-state>  =>   B<ndmpd-state, optional>

=begin html

<br>Data State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "idle" - Idle, <li> "listen" - Listen, <li> "active" - Active, <li> "paused" - Paused, <li> "connected" - Connected, <li> "halted" - Halted </ul>

=end html

=back



=over 2

=item * I<eff-host>  =>   B<ndmpd-host, optional>

=begin html

<br>Effective Host Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "primary" - Primary, <li> "partner" - Partner </ul>

=end html

=back



=over 2

=item * I<is-secure-control-connection>  =>   B<boolean, optional>

=begin html

<br>Is Secure Control Connection Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-bytes-left-to-read>  =>   B<integer, optional>

=begin html

<br>Mover Bytes Left to Read Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-bytes-moved>  =>   B<integer, optional>

=begin html

<br>Mover Bytes Moved Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-con-addr>  =>   B<string, optional>

=begin html

<br>Mover Connect Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-con-addr-type>  =>   B<ndmpd-addr-type, optional>

=begin html

<br>Mover Connect Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" , <li> "tcp" , <li> "fc" , <li> "ipc" , <li> "tcp_ipv6" </ul>

=end html

=back



=over 2

=item * I<mover-con-port>  =>   B<integer, optional>

=begin html

<br>Mover Connect Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-halt-reason>  =>   B<ndmpd-halt-reason, optional>

=begin html

<br>Mover Halt Reason Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - Not Available, <li> "connection_closed" - Connection Closed, <li> "aborted" - Aborted, <li> "internal_error" - Internal Error, <li> "connect_error" - Connect Error, <li> "media_error" - Media Error, <li> "successful" - Successful </ul>

=end html

=back



=over 2

=item * I<mover-mode>  =>   B<ndmpd-mover-mode, optional>

=begin html

<br>Mover Mode Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "read" - Read, <li> "write" - Write, <li> "noaction" - Data, <li> "raw" - Raw </ul>

=end html

=back



=over 2

=item * I<mover-pause-reason>  =>   B<ndmpd-pause-reason, optional>

=begin html

<br>Mover Pause Reason Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - Not Available, <li> "eom" - End of media, <li> "eof" - End of file, <li> "seek" - Seek, <li> "media_error" - Media Error, <li> "eow" - End of window </ul>

=end html

=back



=over 2

=item * I<mover-position>  =>   B<integer, optional>

=begin html

<br>Mover Position Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-record-num>  =>   B<integer, optional>

=begin html

<br>Mover Record Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-record-size>  =>   B<integer, optional>

=begin html

<br>Mover Record Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-seek-position>  =>   B<integer, optional>

=begin html

<br>Mover Seek Position Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-setrecordsize-flag>  =>   B<boolean, optional>

=begin html

<br>Mover SetRecordSize Flag Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-setwindow-flag>  =>   B<boolean, optional>

=begin html

<br>Mover SetWindow Flag Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-state>  =>   B<ndmpd-state, optional>

=begin html

<br>Mover State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "idle" - Idle, <li> "listen" - Listen, <li> "active" - Active, <li> "paused" - Paused, <li> "connected" - Connected, <li> "halted" - Halted </ul>

=end html

=back



=over 2

=item * I<mover-window-length>  =>   B<integer, optional>

=begin html

<br>Mover Window Length Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-window-offset>  =>   B<integer, optional>

=begin html

<br>Mover Window Offset Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ndmp-version>  =>   B<integer, optional>

=begin html

<br>NDMP Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Name of the Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-authorized>  =>   B<boolean, optional>

=begin html

<br>Session Authorized Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>Session Identifier Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-addr>  =>   B<string, optional>

=begin html

<br>NDMP Source Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<spt-device-id>  =>   B<string, optional>

=begin html

<br>SCSI Device ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<spt-ha>  =>   B<integer, optional>

=begin html

<br>SCSI Host Adapter Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<spt-scsi-id>  =>   B<integer, optional>

=begin html

<br>SCSI Target ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<spt-scsi-lun>  =>   B<integer, optional>

=begin html

<br>SCSI LUN ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tape-device>  =>   B<string, optional>

=begin html

<br>Tape Device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tape-mode>  =>   B<ndmpd-mover-mode, optional>

=begin html

<br>Tape Mode Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "read" - Read, <li> "write" - Write, <li> "noaction" - Data, <li> "raw" - Raw </ul>

=end html

=back



=head2 ndmp-password-info

=begin html

Information about generate password When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<password>  =>   B<string, optional>

=begin html

<br>The generated NDMP password for the given user. The command fails if such a user does not exist in the Vserver context. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>The user for which the password is to be generated. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string, optional>

=begin html

<br>The Vserver on which the user password is to be generated for the given user. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ndmp-vserver-attributes-info

=begin html

NDMP vserver attributes When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<abort-on-disk-error>  =>   B<boolean, optional>

=begin html

<br>Enable Abort on Disk Error Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<authtype>  =>   B<ndmpd-authtypes[], optional>

=begin html

<br>Authentication Type Attributes: non-creatable, modifiable Possible values: <ul> <li> "plaintext" - plaintext authtype, <li> "challenge" - challenge authtype, <li> "plaintext_sso" - plaintext_sso authtype </ul>

=end html

=back



=over 2

=item * I<backup-log-enable>  =>   B<boolean, optional>

=begin html

<br>Enable Backup Log Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<data-port-range>  =>   B<string, optional>

=begin html

<br>Data Port Range Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<debug-enable>  =>   B<boolean, optional>

=begin html

<br>Enable Debug Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<debug-filter>  =>   B<string, optional>

=begin html

<br>Debug Filter Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<dump-detailed-stats>  =>   B<boolean, optional>

=begin html

<br>Enable Logging of VM Stats for Dump Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<dump-logical-find>  =>   B<string, optional>

=begin html

<br>Enable Logical Find for Dump Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<enable>  =>   B<boolean, optional>

=begin html

<br>Enable NDMP on Vserver Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<fh-dir-retry-interval>  =>   B<integer, optional>

=begin html

<br>FH Throttle Value for Dir Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<fh-node-retry-interval>  =>   B<integer, optional>

=begin html

<br>FH Throttle Value for Node Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ignore-ctime-enabled>  =>   B<boolean, optional>

=begin html

<br>Ignore Ctime Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-secure-control-connection-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Secure Control Connection Enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<maxversion>  =>   B<integer, optional>

=begin html

<br>NDMP Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<offset-map-enable>  =>   B<boolean, optional>

=begin html

<br>Enable Offset Map Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<per-qtree-exclude-enable>  =>   B<boolean, optional>

=begin html

<br>Enable per Qtree Exclusion Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<preferred-interface-role>  =>   B<netport-role[], optional>

=begin html

<br>Preferred Interface Role Attributes: non-creatable, modifiable Possible values: <ul> <li> "undef" - No defined role, <li> "cluster" - Used for communication using the private cluster network, <li> "data" - Used for communicating with file service clients, <li> "node_mgmt" - Used by administrators to configure the node, <li> "intercluster" - Used for communication with a different cluster, <li> "cluster_mgmt" - Used by administrators to configure the cluster </ul>

=end html

=back



=over 2

=item * I<restore-vm-cache-size>  =>   B<integer, optional>

=begin html

<br>Restore VM File Cache Size Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<secondary-debug-filter>  =>   B<string, optional>

=begin html

<br>Secondary Debug Filter Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<tcpnodelay>  =>   B<boolean, optional>

=begin html

<br>Enable TCP Nodelay Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<tcpwinsize>  =>   B<integer, optional>

=begin html

<br>TCP Window Size Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name-data-admin, optional>

=begin html

<br>Name of the Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ndmp-vserver-session-info

=begin html

NDMP session typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<client-addr>  =>   B<string, optional>

=begin html

<br>NDMP Client Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<client-port>  =>   B<integer, optional>

=begin html

<br>NDMP Client Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-backup-mode>  =>   B<string, optional>

=begin html

<br>Data Backup Mode Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-bytes-processed>  =>   B<integer, optional>

=begin html

<br>Data Bytes Processed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-con-addr>  =>   B<string, optional>

=begin html

<br>Data Server Connect Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-con-addr-type>  =>   B<ndmpd-addr-type, optional>

=begin html

<br>Data Server Connect Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" , <li> "tcp" , <li> "fc" , <li> "ipc" , <li> "tcp_ipv6" </ul>

=end html

=back



=over 2

=item * I<data-con-port>  =>   B<integer, optional>

=begin html

<br>Data Server Connect Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-halt-reason>  =>   B<ndmpd-halt-reason, optional>

=begin html

<br>Data Server Halt Reason Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - Not Available, <li> "connection_closed" - Connection Closed, <li> "aborted" - Aborted, <li> "internal_error" - Internal Error, <li> "connect_error" - Connect Error, <li> "media_error" - Media Error, <li> "successful" - Successful </ul>

=end html

=back



=over 2

=item * I<data-operation>  =>   B<ndmpd-data-oper, optional>

=begin html

<br>Data Operation Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "noaction" - None, <li> "backup" - Backup, <li> "restore" - Restore </ul>

=end html

=back



=over 2

=item * I<data-path>  =>   B<string, optional>

=begin html

<br>Data Path Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-state>  =>   B<ndmpd-state, optional>

=begin html

<br>Data State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "idle" - Idle, <li> "listen" - Listen, <li> "active" - Active, <li> "paused" - Paused, <li> "connected" - Connected, <li> "halted" - Halted </ul>

=end html

=back



=over 2

=item * I<eff-host>  =>   B<ndmpd-host, optional>

=begin html

<br>Effective Host Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "primary" - Primary, <li> "partner" - Partner </ul>

=end html

=back



=over 2

=item * I<is-secure-control-connection>  =>   B<boolean, optional>

=begin html

<br>Is Secure Control Connection Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-bytes-left-to-read>  =>   B<integer, optional>

=begin html

<br>Mover Bytes Left to Read Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-bytes-moved>  =>   B<integer, optional>

=begin html

<br>Mover Bytes Moved Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-con-addr>  =>   B<string, optional>

=begin html

<br>Mover Connect Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-con-addr-type>  =>   B<ndmpd-addr-type, optional>

=begin html

<br>Mover Connect Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "local" , <li> "tcp" , <li> "fc" , <li> "ipc" , <li> "tcp_ipv6" </ul>

=end html

=back



=over 2

=item * I<mover-con-port>  =>   B<integer, optional>

=begin html

<br>Mover Connect Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-halt-reason>  =>   B<ndmpd-halt-reason, optional>

=begin html

<br>Mover Halt Reason Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - Not Available, <li> "connection_closed" - Connection Closed, <li> "aborted" - Aborted, <li> "internal_error" - Internal Error, <li> "connect_error" - Connect Error, <li> "media_error" - Media Error, <li> "successful" - Successful </ul>

=end html

=back



=over 2

=item * I<mover-mode>  =>   B<ndmpd-mover-mode, optional>

=begin html

<br>Mover Mode Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "read" - Read, <li> "write" - Write, <li> "noaction" - Data, <li> "raw" - Raw </ul>

=end html

=back



=over 2

=item * I<mover-pause-reason>  =>   B<ndmpd-pause-reason, optional>

=begin html

<br>Mover Pause Reason Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - Not Available, <li> "eom" - End of media, <li> "eof" - End of file, <li> "seek" - Seek, <li> "media_error" - Media Error, <li> "eow" - End of window </ul>

=end html

=back



=over 2

=item * I<mover-position>  =>   B<integer, optional>

=begin html

<br>Mover Position Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-record-num>  =>   B<integer, optional>

=begin html

<br>Mover Record Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-record-size>  =>   B<integer, optional>

=begin html

<br>Mover Record Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-seek-position>  =>   B<integer, optional>

=begin html

<br>Mover Seek Position Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-setrecordsize-flag>  =>   B<boolean, optional>

=begin html

<br>Mover SetRecordSize Flag Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-setwindow-flag>  =>   B<boolean, optional>

=begin html

<br>Mover SetWindow Flag Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-state>  =>   B<ndmpd-state, optional>

=begin html

<br>Mover State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "idle" - Idle, <li> "listen" - Listen, <li> "active" - Active, <li> "paused" - Paused, <li> "connected" - Connected, <li> "halted" - Halted </ul>

=end html

=back



=over 2

=item * I<mover-window-length>  =>   B<integer, optional>

=begin html

<br>Mover Window Length Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mover-window-offset>  =>   B<integer, optional>

=begin html

<br>Mover Window Offset Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ndmp-version>  =>   B<integer, optional>

=begin html

<br>NDMP Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Name of the Node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-authorized>  =>   B<boolean, optional>

=begin html

<br>Session Authorized Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-id>  =>   B<string, optional>

=begin html

<br>Session Identifier Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-addr>  =>   B<string, optional>

=begin html

<br>NDMP Source Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<spt-device-id>  =>   B<string, optional>

=begin html

<br>SCSI Device ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<spt-ha>  =>   B<integer, optional>

=begin html

<br>SCSI Host Adapter Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<spt-scsi-id>  =>   B<integer, optional>

=begin html

<br>SCSI Target ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<spt-scsi-lun>  =>   B<integer, optional>

=begin html

<br>SCSI LUN ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tape-device>  =>   B<string, optional>

=begin html

<br>Tape Device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tape-mode>  =>   B<ndmpd-mover-mode, optional>

=begin html

<br>Tape Mode Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "read" - Read, <li> "write" - Write, <li> "noaction" - Data, <li> "raw" - Raw </ul>

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Name of the Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ndmpd-addr-type

=begin html

address type Possible values: <ul> <li> "local" , <li> "tcp" , <li> "fc" , <li> "ipc" , <li> "tcp_ipv6" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndmpd-authtypes

=begin html

NDMP Authentication types Possible values: <ul> <li> "plaintext" - plaintext authtype, <li> "challenge" - challenge authtype, <li> "plaintext_sso" - plaintext_sso authtype </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndmpd-data-oper

=begin html

data operation Possible values: <ul> <li> "noaction" - None, <li> "backup" - Backup, <li> "restore" - Restore </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndmpd-halt-reason

=begin html

halt reason Possible values: <ul> <li> "na" - Not Available, <li> "connection_closed" - Connection Closed, <li> "aborted" - Aborted, <li> "internal_error" - Internal Error, <li> "connect_error" - Connect Error, <li> "media_error" - Media Error, <li> "successful" - Successful </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndmpd-host

=begin html

host type Possible values: <ul> <li> "primary" - Primary, <li> "partner" - Partner </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndmpd-mover-mode

=begin html

mover mode Possible values: <ul> <li> "read" - Read, <li> "write" - Write, <li> "noaction" - Data, <li> "raw" - Raw </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndmpd-pause-reason

=begin html

pause reason Possible values: <ul> <li> "na" - Not Available, <li> "eom" - End of media, <li> "eof" - End of file, <li> "seek" - Seek, <li> "media_error" - Media Error, <li> "eow" - End of window </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndmpd-state

=begin html

component state Possible values: <ul> <li> "idle" - Idle, <li> "listen" - Listen, <li> "active" - Active, <li> "paused" - Paused, <li> "connected" - Connected, <li> "halted" - Halted </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 netport-role

=begin html

cluster|data|node-mgmt|intercluster|cluster-mgmt Possible values: <ul> <li> "undef" - No defined role, <li> "cluster" - Used for communication using the private cluster network, <li> "data" - Used for communicating with file service clients, <li> "node_mgmt" - Used by administrators to configure the node, <li> "intercluster" - Used for communication with a different cluster, <li> "cluster_mgmt" - Used by administrators to configure the cluster </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 adapter-type

=begin html

Adapter types of physical and logical network ports capable of hosting LIFs. Possible values: <ul> <li> "fc" - Used for FC Adapters, <li> "cna" - Used for CNA Adapters, <li> "nic" - Used for NIC Adapters, <li> "ifgrp" - Used for Interface Groups, <li> "cna_or_nic" - Used for CNA and NIC Adapters </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 broadcast-domain-name

=begin html

Name of Broadcast Domain

=end html



B<Fields>

=over 2

=item * None

=back



=head2 broadcast-domain-port-status

=begin html

Possible port update states for a broadcast domain operation Possible values: <ul> <li> "complete" - Port updates are complete and values match the broadcast domain, <li> "in_progress" - Port values are being updated to match the broadcast domain, <li> "error" - An error was encountered and values do not match the broadcast domain, <li> "overridden_while_offline" - Port values were overriden while offline </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cluster-name

=begin html

Name of the Peer Cluster

=end html



B<Fields>

=over 2

=item * None

=back



=head2 csm-session-type

=begin html

AsyncMirrorLocal|AsyncMirrorRemote|RemoteDataTransfer Possible values: <ul> <li> "asyncmirrorlocal" - Intra-cluster Async Mirror, <li> "asyncmirrorremote" - Inter-cluster Async Mirror, <li> "remotedatatransfer" - Intra-cluster File/Lun Read/Write </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 data-lif-capacity-details-info

=begin html

Information Regarding Data LIF Capacity When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<capacity-for-node>  =>   B<integer, optional>

=begin html

<br>Specifies the number of IP data LIFs that can be configured on the nblade of this node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<count-for-node>  =>   B<integer, optional>

=begin html

<br>Specifies the number of IP data LIFs that are currently homed on this node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<limit-for-node>  =>   B<integer, optional>

=begin html

<br>Specifies the number of IP data LIFs that are supported on this node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Specifies the node for which the capacity details are provided. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 data-lif-capacity-info

=begin html

Information Regarding Data LIF Capacity When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<count>  =>   B<integer, optional>

=begin html

<br>Specifies the number of IP data LIFs that are currently configured in the cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<limit>  =>   B<integer, optional>

=begin html

<br>Specifies the number of IP data LIFs that are supported in the cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 data-protocol

=begin html

nfs|cifs|iscsi|fcp|fcache|none Possible values: <ul> <li> "nfs" - Used for NFS connections, <li> "cifs" - Used for CIFS connections, <li> "iscsi" - Used for iSCSI connections, <li> "fcp" - Used for Fibre Channel connections, <li> "fcache" - Used for FlexCache connections, <li> "none" - Used for management. Does not serve any file protocols., <li> "http" - Used for HTTP connections </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 detect-switchless-cluster-info

=begin html

Network options detect-switchless-cluster typedef

=end html



B<Fields>

=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>Enable Switchless Cluster Detection Attributes: non-creatable, modifiable

=end html

=back



=head2 device-capability

=begin html

router|trans-bridge|source-route-bridge|switch|host|igmp|repeater|phone Possible values: <ul> <li> "router" - Router, <li> "trans_bridge" - Trans Bridge, <li> "source_route_bridge" - Source Route Bridge, <li> "switch" - Switch, <li> "host" - Host, <li> "igmp" - IGMP, <li> "repeater" - Repeater, <li> "phone" - Phone </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 dns-status

=begin html

DNS Configuration Check When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<name-server>  =>   B<string, optional>

=begin html

<br>Specifies the IP address of a DNS configuration. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Specifies the status of a DNS configuration. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status-details>  =>   B<string, optional>

=begin html

<br>Specifies additional information about the status of a DNS configuration. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the DNS configuration. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 dns-zone

=begin html

Specifies the unique, fully qualified domain name of the DNS zone of this LIF.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 external-route-table-info

=begin html

External Routing Table Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<route-table-id>  =>   B<string, optional>

=begin html

<br>Route Table ID Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 failover-group

=begin html

Specifies the failover group name.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fw-service

=begin html

null

=end html



B<Fields>

=over 2

=item * None

=back



=head2 hosts-info

=begin html

Name attributes for one host When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aliases>  =>   B<string[], optional>

=begin html

<br>The list of aliases such as 'host1.sales.foo.com'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<host-ip-address>  =>   B<ip-address, optional>

=begin html

<br>IPv4 address in dotted form as '123.123.123.123'. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<hostname>  =>   B<string, optional>

=begin html

<br>Canonical hostname in a simple string or in FQDN Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ip-and-mask

=begin html

4-byte IP address followed by 4-byte mask

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ip-range

=begin html

IPv4 and IPv6 address range containing a start address and an end address. The start and end addresses themselves are included in the range. <p> An example of a valid IPv4 address range is: '192.168.1.100-192.168.1.150'. An example of a valid IPv6 address range is: '4:3:2:1:d:c:b:b-4:3:2:1:d:c:b:c'

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ipaddresstype

=begin html

ipv4|ipv6|ipv6z Possible values: <ul> <li> "unknown" , <li> "ipv4" , <li> "ipv6" , <li> "ipv4z" , <li> "ipv6z" , <li> "dns" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ipv6-options-info

=begin html

Network options ipv6 typedef

=end html



B<Fields>

=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>IPv6 Enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-ipv6-ra-processing-enabled>  =>   B<boolean, optional>

=begin html

<br>Router Advertisement (RA) Processing Enabled Attributes: non-creatable, modifiable

=end html

=back



=head2 lif-capacity-info

=begin html

Information Regarding Potentially Over-Provisioned LIFs When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<destination-nodes>  =>   B<filer-id[], optional>

=begin html

<br>This represents the set of nodes a given LIF or LIFs could fail over to. Each node in the list contains at least one port in the given LIF's set of failover targets. Filtering on this field will select only LIFs whose set of failover targets matches the query. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failover-group>  =>   B<failover-group, optional>

=begin html

<br>Specifies the name of an at-risk LIF's failover group. Filtering on this field will select only LIFs whose failover-group attribute matches the query. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failover-policy>  =>   B<string, optional>

=begin html

<br>Specifies the failover policy for an at-risk LIF. Filtering on this field will select only LIFs whose failover-policy attribute matches the query. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif-name>  =>   B<lif-name, optional>

=begin html

<br>Specifies the name of an at-risk LIF. Filtering on this field will select only LIFs whose name matches the query. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<over-amount>  =>   B<integer, optional>

=begin html

<br>Indicates the number of LIFs over capacity for a given set of destination-nodes. For all rows returned, this value shall be greater than zero. Filtering on this field will select only LIFs associated with a set of destination nodes whose amount over capacity matches the query. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vif-owner-name, optional>

=begin html

<br>Specifies the name of the vserver which owns the LIF. Filtering on this field will select only LIFs whose vserver matches the query. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 lif-placement-info

=begin html

SAN LIF placement When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<home-node>  =>   B<node-name, optional>

=begin html

<br>Home node info Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<home-port>  =>   B<string, optional>

=begin html

<br>Port info Attributes: non-creatable, non-modifiable

=end html

=back



=head2 mac-address

=begin html

MAC Address

=end html



B<Fields>

=over 2

=item * None

=back



=head2 nd-state

=begin html

<nostate|incomplete|reachable|stale|delay|probe|unknown> Possible values: <ul> <li> "nostate" - No State, <li> "incomplete" - Incomplete, <li> "reachable" - Reachable, <li> "stale" - Stale, <li> "delay" - Delay, <li> "probe" - Probe, <li> "unknown" - Unknown State </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndp-expire-time

=begin html

Expire Time Interval

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndp-neighbor-info

=begin html

NDP Neighbor Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<mac-address>  =>   B<mac-address, optional>

=begin html

<br>Specifies the neighbor's MAC Address. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<neighbor-address>  =>   B<ip-address, optional>

=begin html

<br>Specifies the neighbor's IPv6 Address. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Specifies the Vserver name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ndp-prefix-flag

=begin html

none|on-link|autonomous|on-link-autonomous Possible values: <ul> <li> "none" - None, <li> "on_link" - On-link Prefix, <li> "autonomous" - Autonomous Prefix, <li> "on_link_autonomous" - On-link and Autonomous Prefix </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndp-prefix-lifetime

=begin html

Prefix Lifetime in seconds

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndp-prefix-origin

=begin html

router-advertise|renumber-request|static|kernel|unknown Possible values: <ul> <li> "unknown" - Unknow, <li> "router_advertise" - Router Advertise, <li> "renumber_request" - Renumber Request, <li> "static" - Static, <li> "kernel" - Kernel </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ndp-ra-flag

=begin html

none|managed-address-DHCPv6|other-DHCPv6 Possible values: <ul> <li> "none" - None, <li> "managed_address_dhcpv6" - Managed Address from DHCPv6, <li> "other_dhcpv6" - Other Configuration from DHCPv6 </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 net-active-routes-info

=begin html

Active Routes Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address-type>  =>   B<ipaddresstype, optional>

=begin html

<br>Specify the address type. Possible values are ipv4 and ipv6. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "ipv4" , <li> "ipv6" , <li> "ipv4z" , <li> "ipv6z" , <li> "dns" </ul>

=end html

=back



=over 2

=item * I<destination>  =>   B<string, optional>

=begin html

<br>Specify the route destination. Example: 10.7.125.5/20, fd20:13::/64 Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flags>  =>   B<string, optional>

=begin html

<br>Specify the route's flags. Possible values for flags are U(Usable), G(Gateway), H(Host), R(Reject), D(Dynamic), S(Static), 1(Protocol1), 2(Protocol2), L(Llinfo), and C(Clone). Multiple values can be specified. Example: UHS, UC Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gateway>  =>   B<string, optional>

=begin html

<br>Specify the gateway. Example: 10.7.125.1, fd20:13::1 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<string, optional>

=begin html

<br>Specify the route's interface. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lookup-count>  =>   B<integer, optional>

=begin html

<br>Specify the count of lookups for the route. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<metric>  =>   B<integer, optional>

=begin html

<br>Specify the route metric. Default: 30 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Specify the name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<path-mtu>  =>   B<integer, optional>

=begin html

<br>Specify the Maximum Transmission Unit for the Path. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<reference-count>  =>   B<integer, optional>

=begin html

<br>Specify the route's reference count. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<route-interface-address>  =>   B<string, optional>

=begin html

<br>Specify the Route Interface Address. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<subnet-group>  =>   B<ip-and-mask, optional>

=begin html

<br>Specify the name of the subnet group. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name, optional>

=begin html

<br>Specify the name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-arp-info

=begin html

ARP Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ip-space>  =>   B<string, optional>

=begin html

<br>IPspace from which to get the ARP entry. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mac-address>  =>   B<mac-address, optional>

=begin html

<br>MAC address of remote host. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<remote-host>  =>   B<ip-address, optional>

=begin html

<br>Remote IP address for which to get the ARP entry. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver from which to get the ARP entry. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-arp-operational-info

=begin html

ARP Active-entry Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<mac-address>  =>   B<string, optional>

=begin html

<br>MAC address of remote host. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node from which to get the ARP active entry. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port-name>  =>   B<string, optional>

=begin html

<br>Port name from which to get the ARP active entry. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<remote-host>  =>   B<string, optional>

=begin html

<br>Remote IP address for which to get the ARP active entry. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<subnet-group>  =>   B<ip-and-mask, optional>

=begin html

<br>Subnet group from which to get the ARP active entry. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name, optional>

=begin html

<br>System or Admin Vserver from which to get the ARP active entry. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-ddns-info

=begin html

Contains Dynamic DNS Update configuration information of a Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<domain-name>  =>   B<string, optional>

=begin html

<br>Vserver FQDN to Be Used for DNS Updates Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Dynamic DNS Update Enabled? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<skip-fqdn-validation>  =>   B<boolean, optional>

=begin html

<br>Specifies if the Vserver FQDN name validation is skipped. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ttl>  =>   B<time-interval, optional>

=begin html

<br>TTL For the Dynamically Updated DNS Records. Maximum Supported Value Is 720h. Default: 24h. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-secure>  =>   B<boolean, optional>

=begin html

<br>Use Secure Dynamic DNS Updates? Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-device-discovery-info

=begin html

Information about discovered devices When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<capabilities>  =>   B<device-capability[], optional>

=begin html

<br>Capabilities of the discovered devices. For example: switch, igmp. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "router" - Router, <li> "trans_bridge" - Trans Bridge, <li> "source_route_bridge" - Source Route Bridge, <li> "switch" - Switch, <li> "host" - Host, <li> "igmp" - IGMP, <li> "repeater" - Repeater, <li> "phone" - Phone </ul>

=end html

=back



=over 2

=item * I<device-ip>  =>   B<ip-address[], optional>

=begin html

<br>IP address(es) of the discovered device. At present, only IPv4 addresses are included. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<discovered-device>  =>   B<string, optional>

=begin html

<br>Device discovered by the physical network port. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hold-time-remaining>  =>   B<integer, optional>

=begin html

<br>Remaining packet hold time in seconds for the discovered device. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<string, optional>

=begin html

<br>Interface port of the discovered device. The format is dependent on the reporting device. For example: FastEthernet0/12 or e0a Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>The node on which the network port resides. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<platform>  =>   B<string, optional>

=begin html

<br>Platform of the discovered device. For example: N5K-C5010P-BF Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<string, optional>

=begin html

<br>The name of the physical network port for device discovery. For example: e0a Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<string, optional>

=begin html

<br>The name of the discovery protocol. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "cdp" , <li> "lldp" </ul>

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Software version of the discovered device. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 net-dns-info

=begin html

Contains DNS configuration information of a Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<attempts>  =>   B<integer, optional>

=begin html

<br>Max number of trials before giving up and returning error. Default is one. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<dns-state>  =>   B<enable, optional>

=begin html

<br>Enable/Disable DNS. Possible values are 'enabled' or 'disabled'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<domains>  =>   B<string[], optional>

=begin html

<br>List of DNS domains such as 'sales.bar.com'. The first domain is the one that the Vserver belongs to. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<is-tld-query-enabled>  =>   B<boolean, optional>

=begin html

<br>Use this parameter to enable or disable top-level domain (TLD) queries. TLD is a name that contains no dots. Default is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<name-servers>  =>   B<ip-address[], optional>

=begin html

<br>IPv4 addresses of name servers such as '123.123.123.123'. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<require-packet-query-match>  =>   B<boolean, optional>

=begin html

<br>Require query sections of query and response packets to match. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<require-source-address-match>  =>   B<boolean, optional>

=begin html

<br>Require source IP address of reply to match the name-server address. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>Skip Configuration Validation Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<timeout>  =>   B<integer, optional>

=begin html

<br>Number of seconds to wait for a response from a name server before trying a different name server. Default is two seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-failover-group-info

=begin html

Failover Group Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name, optional>

=begin html

<br>Broadcast Domain Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failover-group>  =>   B<string, optional>

=begin html

<br>The failover group. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The node on which the failover target (a network port or interface group) is located. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<string, optional>

=begin html

<br>The network port or interface group in the failover group. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<targets>  =>   B<net-qualified-port-name[], optional>

=begin html

<br>The list of potential failover targets to be used. Lifs within the specified vserver and assigned to the specified failover-group will use this list of failover targets as needed. Format: node-name:port-name Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name, optional>

=begin html

<br>The vserver for which the failover group is defined. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-firewall-config-info

=begin html

Firewall configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether firewall protection is enabled (true) or disabled (false) for the node's network ports. The default setting is true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-logging>  =>   B<boolean, optional>

=begin html

<br>This parameter has been deprecated in Data ONTAP 9.0, but is still returned for compatibility and may be removed in a future release. Specifies whether logging is enabled (true) or disabled (false) for the firewall service. The default setting is false. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Specifies the node on which the firewall configiration is set. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-firewall-config-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against firewall configuration object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<net-firewall-config-key>  =>   B<L<"net-firewall-config-info">>

=begin html

<br>The keys for the firewall configuration object to which the modify operation applies.

=end html

=back



=head2 net-firewall-policy-info

=begin html

Firewall policy When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<allow-list>  =>   B<ip-and-mask[], optional>

=begin html

<br>Specifies the list of client IPs that are permitted to access the specified service running on LIFs with the specified policy. Format: <IP Address/Mask> Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>Specifies the ipspace of the vserver for which the policy is defined. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Specifies the name of the firewall policy Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<service>  =>   B<fw-service, optional>

=begin html

<br>Specifies the network service that is associated with the firewall policy. A firewall policy can be associated with multiple services. Possible values include: <ul> <li> 'http: - The HTTP protocol', <li> 'https: - The HTTPS protocol', <li> 'ntp: - The NTP protocol', <li> 'rsh: - The RSH protocol', <li> 'snmp: - The SNMP protocol', <li> 'ssh: - The SSH protocol', <li> 'telnet: - The Telnet protocol', </ul> Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Specifies the name of the vserver on which the firewall policy is defined. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-ifgrp-info

=begin html

Network interface group information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<distribution-function>  =>   B<string, optional>

=begin html

<br>Specifies the traffic distribution function for the ifgrp. Attributes: required-for-create, non-modifiable Possible values: <ul> <li> "mac" - Network traffic is distributed on the basis of MAC addresses, <li> "ip" - Network traffic is distributed on the basis of IP addresses, <li> "sequential" - Network traffic is distributed round-robin to each interface, <li> "port" - Network traffic is distributed by transport layer address 4-tuple </ul>

=end html

=back



=over 2

=item * I<down-ports>  =>   B<lif-bindable[], optional>

=begin html

<br>Specifies all inactive ports of an ifgrp. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ifgrp-name>  =>   B<lif-bindable, optional>

=begin html

<br>Specifies the interface group name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<mac-address>  =>   B<string, optional>

=begin html

<br>Specifies the MAC address of the ifgrp. For example: '02:0c:29:78:e1:b7' Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>Specifies the link policy for the ifgrp. Possible values: <ul> <li> 'multimode - All links are simultaneously active', <li> 'multimode_lacp - Link state is managed by the switch using link aggregation control protocol (LACP) (IEEE 802.3ad)', <li> 'singlemode - Only one link is active at a time' </ul> Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Specifies the name of node. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port-participation>  =>   B<string, optional>

=begin html

<br>Port participation state of the ifgrp. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "full" - Indicates all the ifgrp ports are active, <li> "partial" - Indicates not all the ifgrp ports are active, <li> "none" - Indicates none of the ifgrp ports is active </ul>

=end html

=back



=over 2

=item * I<ports>  =>   B<lif-bindable[], optional>

=begin html

<br>List of ports associated with this ifgrp. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<up-ports>  =>   B<lif-bindable[], optional>

=begin html

<br>Specifies all active ports of an ifgrp. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 net-interface-info

=begin html

Network interface information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>Specifies the LIF's IP address. This element is valid for all data protocols except FCP. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<address-family>  =>   B<string, optional>

=begin html

<br>Address family Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<administrative-status>  =>   B<string, optional>

=begin html

<br>Specifies the administrative status of the LIF. The administrative status can differ from the operational status; for instance, if you specify the status as up but a network problem prevents the interface from functioning, the operational status remains as down. Possible values: <ul> <li> 'up', <li> 'down', </ul> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<current-node>  =>   B<string, optional>

=begin html

<br>The node on which the LIF currently resides. Upon LIF migration 'current-node' may be different from 'home-node'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-port>  =>   B<string, optional>

=begin html

<br>The port on which the LIF currently resides. Upon LIF migration 'current-port' may be different from 'home-port'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<data-protocols>  =>   B<data-protocol[], optional>

=begin html

<br>Specifies the list of data protocols configured on the LIF. By default, the values in this element are nfs, cifs and fcache. Other supported protocols are iscsi and fcp. A LIF can be configured to not support any data protocols by specifying 'none'. Protocol values of none, iscsi or fcp can't be combined with any other data protocol(s). Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "nfs" - Used for NFS connections, <li> "cifs" - Used for CIFS connections, <li> "iscsi" - Used for iSCSI connections, <li> "fcp" - Used for Fibre Channel connections, <li> "fcache" - Used for FlexCache connections, <li> "none" - Used for management. Does not serve any file protocols., <li> "http" - Used for HTTP connections </ul>

=end html

=back



=over 2

=item * I<dns-domain-name>  =>   B<dns-zone, optional>

=begin html

<br>Specifies the unique, fully qualified domain name of the DNS zone of this LIF. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<extended-status>  =>   B<string, optional>

=begin html

<br>Specifies an extended description of why the LIF has an operational status of down. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failover-group>  =>   B<failover-group, optional>

=begin html

<br>Specifies the failover group name. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<failover-policy>  =>   B<string, optional>

=begin html

<br>Specifies the failover policy for the LIF. For FCP and iSCSI LIFs, the only failover policy is 'disabled'; for NFS, CIFs and fcache LIFs, the default policy is 'nextavail'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<firewall-policy>  =>   B<string, optional>

=begin html

<br>Specifies the firewall policy for the LIF. Default firewall-policy is set as per the following table: <ul> <li> 'LIF Role Protocols Default policy', <li> '------- --------- --------------', <li> 'data none mgmt', <li> 'data any (except fcp) data', <li> 'node_mgmt any mgmt', <li> 'cluster_mgmt any mgmt', <li> 'cluster any cluster', <li> 'intercluster any intercluster' </ul> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<force-subnet-association>  =>   B<boolean, optional>

=begin html

<br>Force the LIF's Subnet Association Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<home-node>  =>   B<string, optional>

=begin html

<br>Specifies the LIF's home node. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<home-port>  =>   B<string, optional>

=begin html

<br>Specifies the LIF's home port. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string, optional>

=begin html

<br>Specifies the logical interface (LIF) name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace of LIF Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-auto-revert>  =>   B<boolean, optional>

=begin html

<br>If true, data LIF will revert to its home node under certain circumstances such as startup, and load balancing migration capability is disabled automatically. Default: false Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-dns-update-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if DNS update is enabled for this LIF. Dynamic updates will be sent for this LIF if updates are enabled at Vserver level Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-home>  =>   B<boolean, optional>

=begin html

<br>True if LIF is currently on 'home-node' and 'home-port'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-ipv4-link-local>  =>   B<boolean, optional>

=begin html

<br>If true, automatically configure an interface with an IPv4 address. User can configure an interface by explicitly specifying &lt;address&gt; and &lt;netmask&gt (or &lt;netmask-length&gt;); or by enabling is-ipv4-link-local to true. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<lif-uuid>  =>   B<uuid, optional>

=begin html

<br>Available in Data ONTAP 8.2 and later. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<listen-for-dns-query>  =>   B<boolean, optional>

=begin html

<br>If True, this IP address will listen for DNS queries for the dns-zone specified. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<netmask>  =>   B<ip-address, optional>

=begin html

<br>Specifies the LIF's netmask. This element is valid for all data protocols except FCP. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<netmask-length>  =>   B<integer, optional>

=begin html

<br>Specifies number of bits in the netmask. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<operational-status>  =>   B<string, optional>

=begin html

<br>Specifies the operational status of the LIF. Possible values: <ul> <li> 'up', <li> 'down', </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<role>  =>   B<string, optional>

=begin html

<br>Specifies the role of the LIF. Default: data Attributes: required-for-create, non-modifiable Possible values: <ul> <li> "undef" - No defined role, <li> "cluster" - Used for communication using the private cluster network, <li> "data" - Used for communicating with file service clients, <li> "node_mgmt" - Used by administrators to configure the node, <li> "intercluster" - Used for communication with a different cluster, <li> "cluster_mgmt" - Used by administrators to configure the cluster </ul>

=end html

=back



=over 2

=item * I<routing-group-name>  =>   B<routing-group-type, optional>

=begin html

<br>Specifies the routing group, which enables multiple logical interfaces to share a set of routing table entries. For example: d192.168.1.0/24 ('d' stands for data LIF and 192.168.1.0/24 is subnet) c192.168.1.0/24 ('c' stands for cluster LIF and 192.168.1.0/24 is subnet) n192.168.1.0/24 ('n' stands for node management LIF and 192.168.1.0/24 is subnet) dfd20:13::0/50 ('d' stands for data LIF and fd20:13::0/50 is IPv6 subnet) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name, optional>

=begin html

<br>Subnet where the interface address is allocated from. If the option is not used, the IP address will need to be provided by the administrator during configuration. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-failover-group>  =>   B<string, optional>

=begin html

<br>Specifies whether failover rules are automatically created, manually created by the administrator, or disabled. For FCP and iSCSI LIFs, the default policy is 'disabled'; for NFS, CIFs and fcache LIFs, the default policy is 'system_defined'. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "system_defined" - Failover targets generated automatically by the system, <li> "disabled" - Failover targets generated manually by the admin, <li> "enabled" - Failover targets defined by failover-group, <li> "unused" - Failover targets are not generated based on this field </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>Specifies the LIF's WWPN. This element is valid for FCP LIFs only. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 net-interface-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against given network interface object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<net-key>  =>   B<L<"net-interface-info">>

=begin html

<br>The keys for the given network interface object to which the modify operation applies.

=end html

=back



=head2 net-ipspaces-info

=begin html

IPspace Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<broadcast-domains>  =>   B<broadcast-domain-name[], optional>

=begin html

<br>The broadcast domains that belong to the IPspace Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<id>  =>   B<integer, optional>

=begin html

<br>The ID of the IPspace. The system will assign a unique id. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<ports>  =>   B<net-qualified-port-name[], optional>

=begin html

<br>The ports that have been assigned to the IPspace. This field must be specified with the following format: <node>:<port> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>The uuid of the IPspace. The system will assign a unique uuid. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vservers>  =>   B<vserver-name[], optional>

=begin html

<br>The vservers that have been assigned to the IPspace Attributes: non-creatable, non-modifiable

=end html

=back



=head2 net-ndp-default-router-info

=begin html

Default Router Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<expire-time>  =>   B<ndp-expire-time, optional>

=begin html

<br>Specify the expire time of the default router entry. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flag>  =>   B<ndp-ra-flag, optional>

=begin html

<br>Specify the flag of the default router. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "managed_address_dhcpv6" - Managed Address from DHCPv6, <li> "other_dhcpv6" - Other Configuration from DHCPv6 </ul>

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>Specify the name of the Ipspace. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Specify the name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<lif-bindable, optional>

=begin html

<br>Specify the physical interface. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<router-addr>  =>   B<ip-address, optional>

=begin html

<br>Specify the default router IPv6 address. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-ndp-neighbor-cache-info

=begin html

Neighbor Cache Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<expire-time>  =>   B<ndp-expire-time, optional>

=begin html

<br>Specify the expire time of the neighbor cache entry. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-router>  =>   B<boolean, optional>

=begin html

<br>Specify whether the neighbor is a router. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mac-address>  =>   B<mac-address, optional>

=begin html

<br>Specify the MAC address of the neighbor. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<neighbor>  =>   B<ip-address, optional>

=begin html

<br>Specify the neighbor IPv6 address. Example: fd20:13::1 Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Specify the name of the node. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<lif-bindable, optional>

=begin html

<br>Specify the physical port. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<probe-count>  =>   B<integer, optional>

=begin html

<br>Specify how many times the neighbor MAC are requested for. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<nd-state, optional>

=begin html

<br>Specify the state of the neighbor cache entry. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "nostate" - No State, <li> "incomplete" - Incomplete, <li> "reachable" - Reachable, <li> "stale" - Stale, <li> "delay" - Delay, <li> "probe" - Probe, <li> "unknown" - Unknown State </ul>

=end html

=back



=over 2

=item * I<subnet-group>  =>   B<ip-and-mask, optional>

=begin html

<br>Subnet Group Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vif-owner-name, optional>

=begin html

<br>Specify the name of a System or Admin Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-ndp-prefix-info

=begin html

Prefix Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<advertising-router>  =>   B<ip-address[], optional>

=begin html

<br>Specify the routers who advertise the prefix. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<expire-time>  =>   B<ndp-expire-time, optional>

=begin html

<br>Specify the expire time of the prefix entry. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flag>  =>   B<ndp-prefix-flag, optional>

=begin html

<br>Specify the flag of the prefix entry. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - None, <li> "on_link" - On-link Prefix, <li> "autonomous" - Autonomous Prefix, <li> "on_link_autonomous" - On-link and Autonomous Prefix </ul>

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>Specify the name of the Ipspace. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Specify the name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<origin>  =>   B<ndp-prefix-origin, optional>

=begin html

<br>Specify where the prefix assigned from. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknow, <li> "router_advertise" - Router Advertise, <li> "renumber_request" - Renumber Request, <li> "static" - Static, <li> "kernel" - Kernel </ul>

=end html

=back



=over 2

=item * I<port>  =>   B<lif-bindable, optional>

=begin html

<br>Specify the physical port. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<preferred-lifetime>  =>   B<ndp-prefix-lifetime, optional>

=begin html

<br>Specify the preferred lifetime of the prefix entry. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<prefix>  =>   B<ip-and-mask, optional>

=begin html

<br>Specify the prefix. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<valid-lifetime>  =>   B<ndp-prefix-lifetime, optional>

=begin html

<br>Specify the valid lifetime of the prefix entry. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 net-options

=begin html

Network Options Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<detect-switchless-cluster-info>  =>   B<L<"detect-switchless-cluster-info">, optional>

=begin html

<br>Network options detect-switchless-cluster

=end html

=back



=over 2

=item * I<ipv6-options-info>  =>   B<L<"ipv6-options-info">, optional>

=begin html

<br>Network options ipv6

=end html

=back



=over 2

=item * I<switchless-cluster-info>  =>   B<L<"switchless-cluster-info">, optional>

=begin html

<br>Network options switchless-cluster

=end html

=back



=head2 net-options-hypervisor-uplink-monitoring-info

=begin html

Hypervisor Uplink Monitoring Information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>Hypervisor Uplink Monitoring Attributes: non-creatable, modifiable

=end html

=back



=head2 net-placement-cache

=begin html

Network interface (LIF) placement cached information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>The IP address that was searched. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<found>  =>   B<boolean, optional>

=begin html

<br>Whether the subnet described was found on this port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netmask-length>  =>   B<integer, optional>

=begin html

<br>The number of bits in the subnet mask (i.e. 24 or 64). Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Specifies the name of the node. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<string, optional>

=begin html

<br>The port name on the node. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Name Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 net-port-broadcast-domain-info

=begin html

Layer 2 broadcast domain configuration and status information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name, optional>

=begin html

<br>The name of the layer 2 broadcast domain. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<failover-groups>  =>   B<failover-group[], optional>

=begin html

<br>The list of failover groups associated with the layer 2 broadcast domain. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name that the layer 2 broadcast domain belongs to. The default value for this parameter is 'Default'. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mtu>  =>   B<integer, optional>

=begin html

<br>Maximum Transmission Unit (MTU) of the layer 2 broadcast domain. The MTU will be applied to all ports that belong to the layer 2 broadcast domain. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<port-update-status-combined>  =>   B<broadcast-domain-port-status, optional>

=begin html

<br>Overall status of the port updates. The value is 'in-progress' if any port is in progress, 'complete' if all port updates complete, or 'error' if any port update is unsuccessful. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "complete" - Port updates are complete and values match the broadcast domain, <li> "in_progress" - Port values are being updated to match the broadcast domain, <li> "error" - An error was encountered and values do not match the broadcast domain, <li> "overridden_while_offline" - Port values were overriden while offline </ul>

=end html

=back



=over 2

=item * I<ports>  =>   B<L<"port-info">[], optional>

=begin html

<br>Port information.

=end html

=back



=over 2

=item * I<subnet-names>  =>   B<subnet-name[], optional>

=begin html

<br>The list of subnet names associated with the layer 2 broadcast domain. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 net-port-health-monitor-info

=begin html

Network Port Health Monitor Information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<health-monitors>  =>   B<netport-degraded-reason[], optional>

=begin html

<br>List of Enabled Port Health Monitors Attributes: non-creatable, modifiable Possible values: <ul> <li> "l2_reachability" - L2 reachability, <li> "link_flapping" - Link flapping, <li> "crc_errors" - CRC errors, <li> "vswitch_link" - vSwitch link </ul>

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-port-info

=begin html

Network port information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<administrative-duplex>  =>   B<string, optional>

=begin html

<br>Specifies the user preferred duplex setting of the port. Attributes: required-for-create, modifiable Possible values: <ul> <li> "undef" - No defined duplex, <li> "auto" - Auto-negotiate duplex setting for link, <li> "half" - Half-duplex link usage, <li> "full" - Full-duplex link usage </ul>

=end html

=back



=over 2

=item * I<administrative-flowcontrol>  =>   B<string, optional>

=begin html

<br>Specifies the user preferred flow control setting of the port. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<administrative-speed>  =>   B<string, optional>

=begin html

<br>Specifies the user preferred speed setting of the port. Attributes: required-for-create, modifiable Possible values: <ul> <li> "undef" - No defined speed, <li> "auto" - Auto-negotiate speed for link, <li> "10" - 10 megabits per second, <li> "100" - 100 megabits per second, <li> "1000" - 1 gigabit per second, <li> "10000" - 10 gigabits per second, <li> "40000" - 40 gigabits per second, <li> "100000" - 100 gigabits per second, <li> "25000" - 25 gigabits per second </ul>

=end html

=back



=over 2

=item * I<autorevert-delay>  =>   B<integer, optional>

=begin html

<br>For a port with role 'cluster', specifies the delay in seconds before autoreverting a LIF to this port. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name, optional>

=begin html

<br>Specifies the port's associated Broadcast Domain. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<health-degraded-reasons>  =>   B<netport-degraded-reason[], optional>

=begin html

<br>Specifies the list of reasons which cause port marked as degraded Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "l2_reachability" - L2 reachability, <li> "link_flapping" - Link flapping, <li> "crc_errors" - CRC errors, <li> "vswitch_link" - vSwitch link </ul>

=end html

=back



=over 2

=item * I<health-status>  =>   B<netport-health-status, optional>

=begin html

<br>Specifies the health status of the given port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "healthy" , <li> "degraded" </ul>

=end html

=back



=over 2

=item * I<ifgrp-distribution-function>  =>   B<string, optional>

=begin html

<br>For a port of type 'ifgrp', specifies the traffic distribution function. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "mac" - Network traffic is distributed on the basis of MAC addresses, <li> "ip" - Network traffic is distributed on the basis of IP addresses, <li> "sequential" - Network traffic is distributed round-robin to each interface, <li> "port" - Network traffic is distributed by transport layer address 4-tuple </ul>

=end html

=back



=over 2

=item * I<ifgrp-mode>  =>   B<string, optional>

=begin html

<br>For a port of type 'ifgrp', specifies the link policy. Possible values: <ul> <li> 'multimode - All links are simultaneously active', <li> 'multimode_lacp - Link state is managed by the switch using link aggregation control protocol (LACP) (IEEE 802.3ad)', <li> 'singlemode - Only one link is active at a time' </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ifgrp-node>  =>   B<string, optional>

=begin html

<br>For a port of type 'physical' that is a member of an interface group (ifgrp), specifies the name of the node on which the interface group was created. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ifgrp-port>  =>   B<string, optional>

=begin html

<br>For a port of type 'physical' that is a member of an interface group (ifgrp), specifies the name of the interface group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ignore-health-status>  =>   B<boolean, optional>

=begin html

<br>Use this parameter to specify that the system ignore network port health status of the specified port for the purpose of hosting a logical interface. The default value for this parameter is false. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>Specifies the port's associated IPspace name. Note: the 'Cluster' ipspace is reserved for cluster ports. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-administrative-auto-negotiate>  =>   B<boolean, optional>

=begin html

<br>Enables or disables Ethernet auto-negotiation of speed, duplex and flow control. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<is-administrative-up>  =>   B<boolean, optional>

=begin html

<br>If true, it changes the state of the port to 'up'. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<is-operational-auto-negotiate>  =>   B<boolean, optional>

=begin html

<br>True if Ethernet auto negotiation is successful, false otherwise. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-status>  =>   B<string, optional>

=begin html

<br>Specifies the link status of the port. Possible values: <ul> <li> 'unknown - Port status unknown', <li> 'up - Port is up', <li> 'down - Port is down' </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mac-address>  =>   B<string, optional>

=begin html

<br>Specifies the MAC address of the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mtu>  =>   B<integer, optional>

=begin html

<br>Specifies the maximum transmission unit (MTU) reported by the port. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<mtu-admin>  =>   B<integer, optional>

=begin html

<br>Specifies the user preferred maximum transmission unit (MTU) of the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Specifies the name of node. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<operational-duplex>  =>   B<string, optional>

=begin html

<br>Duplex setting reported by the port after Ethernet auto-negotiation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "undef" - No defined duplex, <li> "auto" - Auto-negotiate duplex setting for link, <li> "half" - Half-duplex link usage, <li> "full" - Full-duplex link usage </ul>

=end html

=back



=over 2

=item * I<operational-flowcontrol>  =>   B<string, optional>

=begin html

<br>Flow control setting reported by the port after Ethernet auto-negotiation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operational-speed>  =>   B<string, optional>

=begin html

<br>Speed setting reported by the port after Ethernet auto-negotiation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "undef" - No defined speed, <li> "auto" - Auto-negotiate speed for link, <li> "10" - 10 megabits per second, <li> "100" - 100 megabits per second, <li> "1000" - 1 gigabit per second, <li> "10000" - 10 gigabits per second, <li> "40000" - 40 gigabits per second, <li> "100000" - 100 gigabits per second, <li> "25000" - 25 gigabits per second </ul>

=end html

=back



=over 2

=item * I<port>  =>   B<string, optional>

=begin html

<br>Specifies the name of port. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port-type>  =>   B<string, optional>

=begin html

<br>Specifies the type of port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "physical" - Physical network interface, <li> "if_group" - Logical interface group (IEEE 802.3, section 43), <li> "vlan" - Virtual LAN (IEEE 802.1Q), <li> "undef" - No defined port type </ul>

=end html

=back



=over 2

=item * I<remote-device-id>  =>   B<string, optional>

=begin html

<br>Remote device ID reported by L2 discovery protocol Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<role>  =>   B<string, optional>

=begin html

<br>This parameter has been deprecated in Data ONTAP 8.3, but is still returned for compatibility and may be removed in a future release. Prefer instead to use the 'ipspace' parameter. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vlan-id>  =>   B<integer, optional>

=begin html

<br>For a port of type 'vlan', specifies the vlan identification number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vlan-node>  =>   B<string, optional>

=begin html

<br>Specifies the name of the node on which vlan is created. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vlan-port>  =>   B<string, optional>

=begin html

<br>For a port of type 'vlan', specifies the name of the physical port on which the vlan is created. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 net-port-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against given network port object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<net-key>  =>   B<L<"net-port-info">>

=begin html

<br>The keys for the given network port object to which the modify operation applies.

=end html

=back



=head2 net-qualified-port-name

=begin html

A node and port specification in the following format: <node>:<port>.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 net-subnet-info

=begin html

Layer 3 subnet configuration and status information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<available-count>  =>   B<integer, optional>

=begin html

<br>Number of available pre-allocated addresses for the subnet. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<broadcast-domain>  =>   B<broadcast-domain-name, optional>

=begin html

<br>Layer 2 broadcast domain name that the subnet belongs to. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<force-update-lif-associations>  =>   B<boolean, optional>

=begin html

<br>This command will fail if any service processor interfaces or network interfaces are using the IP addresses in the ranges provided. Setting this value to true will associate any manually addressed interfaces with the subnet and will allow the command to succeed. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address, optional>

=begin html

<br>The gateway for the default route of the subnet. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ip-ranges>  =>   B<ip-range[], optional>

=begin html

<br>The list of IP address ranges associated with the subnet. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name that the subnet belongs to. The default value for this parameter is the default IPspace, named 'Default'. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<subnet>  =>   B<ip-and-mask, optional>

=begin html

<br>Layer 3 Subnet Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<subnet-name, optional>

=begin html

<br>Layer 3 subnet. A specific subnet name, for example 'Mgmt' or 'Data', or a specific subnet IP value, 198.18.10.0/24 is allowed. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<total-count>  =>   B<integer, optional>

=begin html

<br>Number of addresses pre-allocated for the subnet. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-count>  =>   B<integer, optional>

=begin html

<br>Number of addresses used from pre-allocated addresses for the subnet. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 net-tuning-icmp-options

=begin html

ICMP Tuning Options Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-drop-redirect-enabled>  =>   B<boolean, optional>

=begin html

<br>Drop redirect ICMP Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<redirect-timeout>  =>   B<integer, optional>

=begin html

<br>Maximum seconds for route redirect timeout Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<tx-icmp-limit>  =>   B<integer, optional>

=begin html

<br>Maximum number of ICMP packets sent per second Attributes: non-creatable, modifiable

=end html

=back



=head2 net-tuning-icmp6-options

=begin html

ICMPv6 Tuning Options Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-v6-redirect-accepted>  =>   B<boolean, optional>

=begin html

<br>Accept redirects via ICMPv6 Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<redirect-v6-timeout>  =>   B<integer, optional>

=begin html

<br>Maximum seconds for route redirect timeout Attributes: non-creatable, modifiable

=end html

=back



=head2 net-tuning-tcp-options

=begin html

TCP Tuning Options Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-path-mtu-discovery-enabled>  =>   B<boolean, optional>

=begin html

<br>Path MTU discovery enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-rfc3390-enabled>  =>   B<boolean, optional>

=begin html

<br>RFC3390 enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-rfc3465-enabled>  =>   B<boolean, optional>

=begin html

<br>RFC3465 enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-sack-enabled>  =>   B<boolean, optional>

=begin html

<br>SACK supoort enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-cwnd-increment>  =>   B<integer, optional>

=begin html

<br>Maximum congestion window segments incrementation Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-vs-routes-info

=begin html

Vserver routes information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address-family>  =>   B<ipaddresstype, optional>

=begin html

<br>Address family of the route Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "ipv4" , <li> "ipv6" , <li> "ipv4z" , <li> "ipv6z" , <li> "dns" </ul>

=end html

=back



=over 2

=item * I<destination>  =>   B<ip-and-mask, optional>

=begin html

<br>Specify the route destination. Example: 10.7.125.5/20, fd20:13::/64 Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address, optional>

=begin html

<br>Specify the route gateway. Example: 10.7.125.1, fd20:13::1 Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<metric>  =>   B<integer, optional>

=begin html

<br>Specify the route metric. If this field is not provided the default will be set to 30 Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 net-vs-routes-lif-info

=begin html

Logical Interfaces associated with a route When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address-family>  =>   B<ipaddresstype, optional>

=begin html

<br>Address Family Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "ipv4" , <li> "ipv6" , <li> "ipv4z" , <li> "ipv6z" , <li> "dns" </ul>

=end html

=back



=over 2

=item * I<destination>  =>   B<ip-and-mask, optional>

=begin html

<br>Specify the route destination. Example: 10.7.125.5/20, fd20:13::/64 Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<gateway>  =>   B<ip-address, optional>

=begin html

<br>Specify the route gateway. Example: 10.7.125.1, fd20:13::1 Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif-names>  =>   B<lif-name[], optional>

=begin html

<br>Specify the Logical Interface(s). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 netport-degraded-reason

=begin html

l2-reachability|link-flapping|crc-errors|vswitch-link Possible values: <ul> <li> "l2_reachability" - L2 reachability, <li> "link_flapping" - Link flapping, <li> "crc_errors" - CRC errors, <li> "vswitch_link" - vSwitch link </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 netport-health-status

=begin html

healthy|degraded Possible values: <ul> <li> "healthy" , <li> "degraded" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 network-type

=begin html

The network topology classification Possible values: <ul> <li> "wan" , <li> "lan" , <li> "undefined" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 port-info

=begin html

Port information.

=end html



B<Fields>

=over 2

=item * I<port>  =>   B<net-qualified-port-name, optional>

=begin html

<br>Ports added to the layer 2 broadcast domain. Ports added to a new layer 2 broadcast domain will be removed from their current layer 2 broadcast domain. Format: node-name:port-name Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port-update-status>  =>   B<broadcast-domain-port-status, optional>

=begin html

<br>Status for each port's updates to match the broadcast domain. See port-update-status-details for detailed error text. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "complete" - Port updates are complete and values match the broadcast domain, <li> "in_progress" - Port values are being updated to match the broadcast domain, <li> "error" - An error was encountered and values do not match the broadcast domain, <li> "overridden_while_offline" - Port values were overriden while offline </ul>

=end html

=back



=over 2

=item * I<port-update-status-details>  =>   B<string, optional>

=begin html

<br>Descriptions of each port's update status. When the status is 'error', this field will contain text describing the error. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 protocol-layer4

=begin html

The network layer 4 protocol type Possible values: <ul> <li> "udp" - UDP, <li> "tcp" - TCP, <li> "na" - not_available </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 qos-marking

=begin html

QoS Marking Table When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<dscp>  =>   B<integer, optional>

=begin html

<br>DSCP marking value. Default value for NFS, CIFS, iSCSI, HTTP-fileserv, NDMP, and SnapMirror is 10 and for FTP, HTTP-admin, SSH, Telnet, and SNMP is 48. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace Name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>QoS Marking status. Default setting is false. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<string, optional>

=begin html

<br>Protocol name. Supported values are NFS, CIFS, iSCSI, SnapMirror, NDMP, FTP, HTTP-admin, HTTP-fileserv, SSH, Telnet, and SNMP. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 receive-buffer

=begin html

Receive buffer window size configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<network>  =>   B<network-type, optional>

=begin html

<br>The network topology classification Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "wan" , <li> "lan" , <li> "undefined" </ul>

=end html

=back



=over 2

=item * I<protocol>  =>   B<protocol-layer4, optional>

=begin html

<br>The network layer 4 protocol type Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "udp" - UDP, <li> "tcp" - TCP, <li> "na" - not_available </ul>

=end html

=back



=over 2

=item * I<receive-auto-tune>  =>   B<boolean, optional>

=begin html

<br>If true, allow the system to automatically adjust the receive buffer size. The default value is false for the ctlopcp service using the LAN network type, and true in all other cases. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<receive-buffer>  =>   B<integer, optional>

=begin html

<br>If receive-auto-tune is false, receive buffer size in kilobytes (1024). If receive-auto-tune flag is true, this value has no effect. The default value is 2048 for the ctlopcp service using the WAN network type, and 256 in other cases. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<service>  =>   B<stream-protocol-service, optional>

=begin html

<br>The stream protocol connection classification Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "mount" - Mount stream protocol, <li> "nfs" - NFS stream protocol, <li> "nfs_v3" - NFS version 3 stream protocol, <li> "nlm_v4" - Network lock manager stream protocol, <li> "sm" - Session Manager stream protocol, <li> "ftp_ctrl" - FTP control stream protocol, <li> "ftp_data" - FTP data stream protocol, <li> "http_1_0" - HTTP version 1 stream protocol, <li> "http_1_1" - HTTP version 1.1 stream protocol, <li> "iscsi" - ISCSI stream protocol, <li> "cifs_srv" - CIFS server stream protocol, <li> "cifs_nam" - CIFS name server stream protocol, <li> "loopback" - loopback stream protocol, <li> "rf" - RC stream protocol, <li> "rawscp" - Raw secure copy stream protocol, <li> "discard" - Descard stream protocol, <li> "port_map" - Port map stream protocol, <li> "pass_thru" - Passthru stream protocol, <li> "rclopcp" - Rc connection stream protocol, <li> "nfs_v4" - NFS version 4 stream protocol, <li> "fcache" - Flex cache stream protocol, <li> "ctlopcp" - Ct connection stream protocol, <li> "rquota" - Rquota stream protocol, <li> "cifs_msrpc" - CIFS MsRpc stream protocol, <li> "http" - HTTP stream protocol, <li> "unknown" - unknown protocol </ul>

=end html

=back



=head2 routing-group-route-info

=begin html

Routing group route information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address-family>  =>   B<string, optional>

=begin html

<br>Address Family. Possible values: ipv4, ipv6 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-address>  =>   B<string, optional>

=begin html

<br>Specifies the IP address and subnet mask of destination. For example: '198.18.10.0/24', 'fd20:13::0/64' Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<gateway-address>  =>   B<string, optional>

=begin html

<br>Specifies the IP address of gateway. For example: '198.18.0.0', 'fd20:13::1' Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<metric>  =>   B<integer, optional>

=begin html

<br>Specifies the metric (hop count) of the LIF. The default value is determined by the LIF role as follows: <ul> <li> If the LIF role is 'node_mgmt' or 'cluster_mgmt': 10, <li> If the LIF role is 'data' or 'undef': 20, <li> If the LIF role is 'cluster': 30, <li> If the LIF role is 'intercluster': 40 </ul> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<routing-group>  =>   B<string, optional>

=begin html

<br>Specifies the name of routing group. For example: <ul> <li> d192.168.1.0/24 ('d' stands for data LIF and 192.168.1.0/24 is subnet), <li> c192.168.1.0/24 ('c' stands for cluster LIF and 192.168.1.0/24 is subnet), <li> n192.168.1.0/24 ('n' stands for node management LIF and 192.168.1.0/24 is subnet) <li> dfd20:13::0/64 ('d' stands for data LIF and fd20:13::0/64 is IPv6 subnet) </ul> Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 routing-group-type

=begin html

Specifies the name of routing group. For example: <ul> <li> d192.168.1.0/24 ('d' stands for data LIF and 192.168.1.0/24 is subnet), <li> c192.168.1.0/24 ('c' stands for cluster LIF and 192.168.1.0/24 is subnet), <li> n192.168.1.0/24 ('n' stands for node management LIF and 192.168.1.0/24 is subnet) </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 stream-protocol-service

=begin html

The stream protocol connection classification Possible values: <ul> <li> "mount" - Mount stream protocol, <li> "nfs" - NFS stream protocol, <li> "nfs_v3" - NFS version 3 stream protocol, <li> "nlm_v4" - Network lock manager stream protocol, <li> "sm" - Session Manager stream protocol, <li> "ftp_ctrl" - FTP control stream protocol, <li> "ftp_data" - FTP data stream protocol, <li> "http_1_0" - HTTP version 1 stream protocol, <li> "http_1_1" - HTTP version 1.1 stream protocol, <li> "iscsi" - ISCSI stream protocol, <li> "cifs_srv" - CIFS server stream protocol, <li> "cifs_nam" - CIFS name server stream protocol, <li> "loopback" - loopback stream protocol, <li> "rf" - RC stream protocol, <li> "rawscp" - Raw secure copy stream protocol, <li> "discard" - Descard stream protocol, <li> "port_map" - Port map stream protocol, <li> "pass_thru" - Passthru stream protocol, <li> "rclopcp" - Rc connection stream protocol, <li> "nfs_v4" - NFS version 4 stream protocol, <li> "fcache" - Flex cache stream protocol, <li> "ctlopcp" - Ct connection stream protocol, <li> "rquota" - Rquota stream protocol, <li> "cifs_msrpc" - CIFS MsRpc stream protocol, <li> "http" - HTTP stream protocol, <li> "unknown" - unknown protocol </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 subnet-name

=begin html

Name of Subnet

=end html



B<Fields>

=over 2

=item * None

=back



=head2 switchless-cluster-info

=begin html

Network options switchless-cluster typedef

=end html



B<Fields>

=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>Enable Switchless Cluster Attributes: non-creatable, modifiable

=end html

=back



=head2 vif-owner-name

=begin html

Vserver

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vlan-info

=begin html

vlan

=end html



B<Fields>

=over 2

=item * I<gvrp-enabled>  =>   B<boolean, optional>

=begin html

<br>true: GVRP is enabled. Default is false. GVRP is deprecated and this attribute is ignored in cluster mode. GVRP is a standard vlan trunking protocol that enables a port to advertise which vlans it trunks, thereby decreasing traffic over the trunk. This protocol eliminates the need to manually configure vlan information on each switch in the network.

=end html

=back



=over 2

=item * I<interface-name>  =>   B<string, optional>

=begin html

<br>Name of vlan interface. The name must be of the format &lt;parent-inteface&gt;-&lt;vlanid&gt;

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node name of vlan interface.

=end html

=back



=over 2

=item * I<parent-interface>  =>   B<string>

=begin html

<br>The interface that hosts the vlan interface.

=end html

=back



=over 2

=item * I<vlanid>  =>   B<integer>

=begin html

<br>The vlan id. Range: 1..4094.

=end html

=back



=head2 netgroups-file-config-info

=begin html

Netgroups file configuration information When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<domain>  =>   B<string, optional>

=begin html

<br>Specifies the domain name component of (host, user, domain) tuple where the tuple is a member of the specified netgroup. The domain name may be empty to specify a 'wildcard' value or may consist of the string '-' to specify 'no valid value'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<host>  =>   B<string, optional>

=begin html

<br>Specifies the host name component of (host, user, domain) tuple where the tuple is a member of the specified netgroup. The host name may be empty to specify a 'wildcard' value or may consist of the string '-' to specify 'no valid value'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<member-netgroup>  =>   B<string, optional>

=begin html

<br>Specifies the name of a member netgroup contained within this netgroup. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netgroup-name>  =>   B<string, optional>

=begin html

<br>Specifies the name of a netgroup within the Vserver's local netgroup file. Each netgroup is composed of a list of members. Each member can be either the name of another netgroup or a specification of a tuple as follows: (host, user, domain). All of these members are given similar network access. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<user>  =>   B<string, optional>

=begin html

<br>Specifies the user name component of (host, user, domain) tuple where the tuple is a member of the specified netgroup. The user name may be empty to specify a 'wildcard' value or may consist of the string '-' to specify 'no valid value'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the local netgroup file. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 export-lookup-protos

=begin html

TCP|UDP Possible values: <ul> <li> "tcp" , <li> "udp" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 exports-hostname-info

=begin html

Structure containing information pertaining to a host.

=end html



B<Fields>

=over 2

=item * I<all-hosts>  =>   B<boolean, optional>

=begin html

<br>Default value is false. If true, enables all hosts to have this rule's access rights. A hostname of 'all-hosts' must exist as the only non-negated element in a hostname array.

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>A hostname can be ONE of the following formats. If 'all-hosts' is true, 'name' must not have a value. machine-name: Alphanumeric string based on DNS. netgroup: Alphanumeric string describing a group of &nbsp; machine names ip: An IP address in dotted decimal format AAA.BBB.CCC.DDD subnet: "[network] subnet [netmask] netmask" ip-subnet: IP/numbits. The IP is a subnet number and the &nbsp; numbits specifies the size of the subnet by the &nbsp; number of leading bits of the netmask. dns: A DNS domain. An Alphanumeric starting with a '.'

=end html

=back



=over 2

=item * I<negate>  =>   B<boolean, optional>

=begin html

<br>In Data ONTAP 7-Mode, default is false. If true, the rule applies to every host but this one. Used most commonly when adding a group minus a few hosts. In Data ONTAP Cluster-Mode, negations are not supported. An error will be returned if true.

=end html

=back



=head2 exports-rule-info

=begin html

Information necessary to create a new rule in the etc/exports file or for just adding a rule similar to the exportfs command. ORDER MATTERS for the hostnames in 'read-only' and 'read-write' privileges. Please see documentation for exportfs command or etc/exports file for complete details.

=end html



B<Fields>

=over 2

=item * I<actual-pathname>  =>   B<string, optional>

=begin html

<br>In Data ONTAP 7-Mode, it must be pathname inside of the filer which is being exported. The default for this is value in 'pathname'. In Data ONTAP Cluster-Mode, this value must be an empty string.

=end html

=back



=over 2

=item * I<anon>  =>   B<string, optional>

=begin html

<br>All hosts with this user-id or username have root access to this directory.

=end html

=back



=over 2

=item * I<nosuid>  =>   B<boolean, optional>

=begin html

<br>If true, causes the server file system to silently ignore any attempt to enable the setuid or setgid mode bits. Default value is false.

=end html

=back



=over 2

=item * I<pathname>  =>   B<string>

=begin html

<br>In Data ONTAP 7-Mode, it must be directory name or file to export. In Data ONTAP Cluster-Mode the pathname for a volume must be specified using the junction path (&quot;/junction&quot;). The pathname for a qtree must be specified as (&quot;/vol/volname/qtreename0&quot;) or (&quot;/junction/qtreename0&quot;).

=end html

=back



=over 2

=item * I<read-only>  =>   B<L<"exports-hostname-info">[], optional>

=begin html

<br>An array of hostnames which only have read privileges.

=end html

=back



=over 2

=item * I<read-write>  =>   B<L<"exports-hostname-info">[], optional>

=begin html

<br>An array of hostnames which have read and write privileges. Any hostname in read-only must not be in read-write also. By default, if no 'read-only' or 'read-write' hosts are given, then 'read-write' contains a hostname of 'all-hosts'.

=end html

=back



=over 2

=item * I<root>  =>   B<L<"exports-hostname-info">[], optional>

=begin html

<br>Array of hostnames which have roots with 'read-write' or 'read-only' privileges.

=end html

=back



=over 2

=item * I<sec-flavor>  =>   B<L<"sec-flavor-info">[], optional>

=begin html

<br>List of possible security flavors this rule supports. Default security is &quot;sys&quot;. Possible values are: <ul> <li> "none" </li> <li> "sys" </li> <li> "krb5" </li> <li> "krb5i" </li> <li> "krb5p" </li> </ul>

=end html

=back



=head2 exports-rule-info-2

=begin html

Information necessary to create a new rule in the etc/exports file or for just adding a rule similar to the exportfs command.

=end html



B<Fields>

=over 2

=item * I<actual-pathname>  =>   B<string, optional>

=begin html

<br>In Data ONTAP 7-Mode, it must be pathname inside of the filer which is being exported. The default for this is value in 'pathname'. In Data ONTAP Cluster-Mode, this value must be an empty string.

=end html

=back



=over 2

=item * I<pathname>  =>   B<string>

=begin html

<br>In Data ONTAP 7-Mode, it must be directory name or file to export. In Data ONTAP Cluster-Mode the pathname for a volume must be specified using the junction path (&quot;/junction&quot;). The pathname for a qtree must be specified as (&quot;/vol/volname/qtreename0&quot;) or (&quot;/junction/qtreename0&quot;).

=end html

=back



=over 2

=item * I<security-rules>  =>   B<L<"security-rule-info">[]>

=begin html

<br>Access block information for lists of hosts.

=end html

=back



=head2 nfs-info

=begin html

Information about NFS server configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<auth-sys-extended-groups>  =>   B<boolean, optional>

=begin html

<br>If 'true', auxillary groups up to 'extended-groups-limit' are fetched from the name service rather than the RPC header for AUTH_SYS. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<cached-cred-negative-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Negative Cached Credential. The range is 60000 ms to 604800000 ms. The default value is 7200000 ms. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<cached-cred-positive-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Positive Cached Credential. The range is 60000 ms to 604800000 ms. The default value is 86400000 ms. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<cached-transient-err-ttl>  =>   B<integer, optional>

=begin html

<br>Time To Live Value (in msecs) of a Cached Entry for a Transient Error. The range is 30000 ms to 300000 ms. The default is 30000 ms. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<chown-mode>  =>   B<nfschownmode, optional>

=begin html

<br>Vserver Change Ownership Mode. Possible values are 'ignore', 'fail', 'use_export_policy'. If 'use_export_policy' is set, export policy option is used. Default value is 'use_export_policy'. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "restricted" , <li> "unrestricted" , <li> "use_export_policy" </ul>

=end html

=back



=over 2

=item * I<default-windows-group>  =>   B<string, optional>

=begin html

<br>The default windows group for CIFS access. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<default-windows-user>  =>   B<string, optional>

=begin html

<br>The default windows user for CIFS access. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<enable-ejukebox>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the NFS server will send EJUKEBOX error on server delays. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<extended-groups-limit>  =>   B<integer, optional>

=begin html

<br>Maximum auxillary groups supported over AUTH_SYS and RPCSEC_GSS. This value always applies for RPCSEC_GSS and applies to AUTH_SYS only when 'auth-sys-extended-groups' is set to 'enabled'. Range is 32 to 1024. Default value is 32. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-session-io-grouping-count>  =>   B<integer, optional>

=begin html

<br>Number of I/O operations on a file to be grouped and considered as one session for event generation applications, such as FPolicy. The range is 1000 to 20000. The default is 5000. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-session-io-grouping-duration>  =>   B<integer, optional>

=begin html

<br>The duration for which I/O operations on a file will be grouped and considered as one session for event generation applications, such as FPolicy. The range is 60 seconds to 600 seconds. The default is 120s. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ignore-nt-acl-for-root>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows the 'root' user to ignore the NT ACLs Check. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-checksum-enabled-for-replay-cache>  =>   B<boolean, optional>

=begin html

<br>Use Checksum for Replay-Cache, in order to identify invalid retransmitted requests. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-mount-rootonly-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the vserver allows MOUNT protocol calls only from privileged ports (port numbers less than 1024). Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-netgroup-dns-domain-search>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows for searching various DNS domains during netgroup lookup. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfs-access-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true',then NFS server access is enabled. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfs-rootonly-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the vserver allows NFS protocol calls only from privileged ports (port numbers less than 1024). Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv2-enabled>  =>   B<boolean, optional>

=begin html

<br>Starting Data ONTAP 8.2, NFS v2 is no longer supported. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv3-64bit-identifiers-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv3 clients see 64-bit values for FSID and File Identifiers. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv3-connection-drop-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then connection is dropped when an NFSv3 request is dropped. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv3-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 3 is enabled. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv3-fsid-change-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv3 clients see change in FSID as they traverse filesystems. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv4-fsid-change-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then clients see change in FSID as NFSv4 clients traverse filesystems. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv4-numeric-ids-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4 support for Numeric Owner IDs is enabled. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv40-acl-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 ACL feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv40-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 4.0 is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv40-migration-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 Migration feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv40-read-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.0 read delegation feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv40-referrals-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.0 Referrals feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv40-req-open-confirm-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the server will require an OPEN_CONFIRM operation for all NFSv4.0 clients. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv40-write-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.0 write delegation feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-acl-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 ACL feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-acl-preserve-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', the NFSv4 server will preserve and modify ACL when chmod <mode> is done. Default value is 'true'. This is applicable to all NFSv4.x instances. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFS version 4.1 is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-migration-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 Migration feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-pnfs-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then Parallel NFS support for NFS version 4.1 is enabled. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-pnfs-striped-volumes-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', Striped volume support for Parallel NFS is enabled . Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-read-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.1 read delegation feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-referrals-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 Referrals feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-state-protection-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then NFSv4.1 State Protection is enabled. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-nfsv41-write-delegation-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', NFSv4.1 write delegation feature is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-qtree-export-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows qtree exports (read-only). Default value is 'false'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-rquota-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then rquota is enabled. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-tcp-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enable NFS access over TCP. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-udp-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enable NFS access over UDP. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-v3-ms-dos-client-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows NFSv3 access for Windows clients. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-validate-qtree-export-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver performs additional validation for qtree. Default value is 'true'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-vstorage-enabled>  =>   B<boolean, optional>

=begin html

<br>If 'true', then enables the usage of vStorage protocol for server side copies, which is mostly used in hypervisors. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<map-unknown-uid-to-default-windows-user>  =>   B<boolean, optional>

=begin html

<br>Map Unknown UID to Default Windows User Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<mountd-port>  =>   B<integer, optional>

=begin html

<br>Port that NFS mount daemon is listening to. Default value is 635. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<name-service-lookup-protocol>  =>   B<export-lookup-protos, optional>

=begin html

<br>Set the protocol used for name service lookups for exports. Valid inputs are TCP and UDP. Default value is UDP. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "tcp" , <li> "udp" </ul>

=end html

=back



=over 2

=item * I<netgroup-trust-any-ns-switch-no-match>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver will consider a no-match from any one of the netgroup ns-switch sources to be authoritative even though other sources could not be consulted. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv4-acl-max-aces>  =>   B<integer, optional>

=begin html

<br>Maximum Number of ACEs allowed in an ACL. Range is 192 to 1024. Default value is 400. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv4-grace-seconds>  =>   B<integer, optional>

=begin html

<br>NFSv4 Grace timeout value in seconds. Default value is 45 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv4-id-domain>  =>   B<string, optional>

=begin html

<br>NFSv4 ID mapping domain. Default value is 'defaultv4iddomain.com'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv4-lease-seconds>  =>   B<integer, optional>

=begin html

<br>NFSv4 Lease timeout value in seconds. Default value is 30 seconds. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-domain>  =>   B<string, optional>

=begin html

<br>NFSv4.1 Implementation id domain. Default value is 'defaultv41impliddomain.com'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-name>  =>   B<string, optional>

=begin html

<br>NFSv4.1 Implementation id name. Default value is 'defaultv41implidname'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv41-implementation-id-time>  =>   B<date, optional>

=begin html

<br>NFSv4.1 Implementation id time.The number of seconds since January 1, 1970. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv4x-session-num-slots>  =>   B<integer, optional>

=begin html

<br>Number of Slots in the NFSv4.x Session Slot Tables. Default value is 180. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nfsv4x-session-slot-reply-cache-size>  =>   B<integer, optional>

=begin html

<br>Size of the Reply that will be Cached in Each NFSv4.x Session Slot (in bytes). Default value is 640. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nlm-port>  =>   B<integer, optional>

=begin html

<br>Port that network lock manager is listening to. Default value is 4045. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nsm-port>  =>   B<integer, optional>

=begin html

<br>Port that network status monitor is listening to. Default value is 4046. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ntacl-display-permissive-perms>  =>   B<boolean, optional>

=begin html

<br>This optional parameter controls the permissions that are displayed to NFS clients on a file or directory that has an NT ACL set. If 'true', the displayed permissions are based on the maximum access granted by the NT ACL to any user. When false, the displayed permissions are based on the minimum access granted by the NT ACL to any user. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ntfs-unix-security-ops>  =>   B<string, optional>

=begin html

<br>Ignore/Fail unix security operations on NTFS volumes. Possible values are 'ignore', 'fail','use_export_policy'. If 'use_export_policy' is set, export policy option is used. Default value is 'use_export_policy'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<permitted-enc-types>  =>   B<string[], optional>

=begin html

<br>List of permitted encryption types for Kerberos over NFS. Default values are des, des3. Valid inputs are des, des-3, aes-128, and aes-256. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rpcsec-ctx-high>  =>   B<integer, optional>

=begin html

<br>High water mark for the RPCSEC_GSS Context Cache. Default value is 0. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rpcsec-ctx-idle>  =>   B<integer, optional>

=begin html

<br>Time in seconds before an idle entry in RPCSEC_GSS context cache is deleted. Default value is 0. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<rquotad-port>  =>   B<integer, optional>

=begin html

<br>Port that NFS quota daemon is listening to. Default value is 4049. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<showmount>  =>   B<boolean, optional>

=begin html

<br>If 'true', then the Vserver allows showmount. Default value is 'enabled'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<showmount-timestamp>  =>   B<integer, optional>

=begin html

<br>timestamp to indicate whether we want to update exports data file or not Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<skip-root-owner-write-perm-check>  =>   B<boolean, optional>

=begin html

<br>If 'true', then permission check will be avoided for NFS Write requests from root/owner. For copying read-only files, this must be true. Default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<v3-search-unconverted-filename>  =>   B<boolean, optional>

=begin html

<br>Whether to continue the search as an unconverted name while doing lookup in a directory. Default value is disabled. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<v4-inherited-acl-preserve>  =>   B<boolean, optional>

=begin html

<br>Whether client specified mode bits should be ignored and inherited NFSv4 ACL should be preserved during creation of file or directory. Default value is disabled. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 nfschownmode

=begin html

restricted|unrestricted|use-export-policy Possible values: <ul> <li> "restricted" , <li> "unrestricted" , <li> "use_export_policy" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 pathname-info

=begin html

Information about a pathname.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>In Data ONTAP 7-Mode, it must be the name of the path, such as &quot;/vol/vol0&quot;. In Data ONTAP Cluster-Mode the pathname for a volume must be specified using the junction path (&quot;/junction&quot;). The pathname for a qtree must be specified as (&quot;/vol/volname/qtreename0&quot;) or (&quot;/junction/qtreename0&quot;).

=end html

=back



=head2 sec-flavor-info

=begin html

Security flavor information for RPC. Only hosts connecting using the proper security can access the directory.

=end html



B<Fields>

=over 2

=item * I<flavor>  =>   B<string>

=begin html

<br>Current possible values can be found using the 'nfs-get-supported-sec-flavors' command. Possible values are: <ul> <li> "none" </li> <li> "sys" </li> <li> "krb5" </li> <li> "krb5i" </li> <li> "krb5p" </li> </ul>

=end html

=back



=head2 security-rule-info

=begin html

Information on hostnames and security availability for the hosts. ORDER MATTERS for the hostnames in 'read-only' and 'read-write' privileges. Please see documentation for exportfs command or etc/exports file for complete details.

=end html



B<Fields>

=over 2

=item * I<anon>  =>   B<string, optional>

=begin html

<br>All hosts with this user-id or username have root access to this directory.

=end html

=back



=over 2

=item * I<nosuid>  =>   B<boolean, optional>

=begin html

<br>If true, causes the server file system to silently ignore any attempt to enable the setuid or setgid mode bits. Default value is false.

=end html

=back



=over 2

=item * I<read-only>  =>   B<L<"exports-hostname-info">[], optional>

=begin html

<br>An array of hostnames which only have read privileges for all the security flavors found in the sec-flavor list.

=end html

=back



=over 2

=item * I<read-write>  =>   B<L<"exports-hostname-info">[], optional>

=begin html

<br>An array of hostnames which have read and write privileges for all the security flavors found in the 'sec-flavor list'. Any hostname in 'read-only' must not be in 'read-write' also. By default, if no 'read-only' or 'read-write' hosts are given, then 'read-write' contains a hostname of 'all-hosts'.

=end html

=back



=over 2

=item * I<root>  =>   B<L<"exports-hostname-info">[], optional>

=begin html

<br>Array of hostnames which have roots with 'read-write' or 'read-only' privileges.

=end html

=back



=over 2

=item * I<sec-flavor>  =>   B<L<"sec-flavor-info">[], optional>

=begin html

<br>List of possible security flavors this rule supports. Default security is &quot;sys&quot;. Possible values are: <ul> <li> "none" </li> <li> "sys" </li> <li> "krb5" </li> <li> "krb5i" </li> <li> "krb5p" </li> </ul>

=end html

=back



=head2 nis-domain-config-info

=begin html

NIS domain configuration information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-active>  =>   B<boolean, optional>

=begin html

<br>(DEPRECATED)-Specifies whether the NIS domain configuration is active or inactive. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<string, optional>

=begin html

<br>Specifies the NIS domain. For example: 'example.com' Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<nis-fqdn>  =>   B<string[], optional>

=begin html

<br>Specifies the hostname/IP address of one or more NIS servers in the domain. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<nis-servers>  =>   B<ip-address[], optional>

=begin html

<br>(DEPRECATED)-Specifies the IP address of one or more NIS servers in the domain. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<skip-config-validation>  =>   B<boolean, optional>

=begin html

<br>If true, validation of the the corresponding NIS configuration will be skipped. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the Vserver for the NIS domain configuration. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 double

=begin html

Floating point number

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ntp-server-info

=begin html

Network Time Protocol (NTP) Server Configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-preferred>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the server is preferred as a time source. By default, this value is false. Only one NTP server may be preferred. All other servers will have preferred set to false when this is set. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-public-default>  =>   B<boolean, optional>

=begin html

<br>Specifies if the time server was provided as a default public NTP server by Data ONTAP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server-name>  =>   B<string, optional>

=begin html

<br>Host name, IPv4 address or IPv6 address for the external NTP time server Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>NTP protocol version which can be '3', '4' or 'auto'. The 'auto' value uses Data ONTAP's best practice value. Attributes: optional-for-create, modifiable

=end html

=back



=head2 ntp-server-security-info

=begin html

NTP Server Security Settings When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-query-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Querying of NTP Server Enabled? Attributes: non-creatable, modifiable

=end html

=back



=head2 ntp-server-status-info

=begin html

NTP Server Status Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-peer-reachable>  =>   B<boolean, optional>

=begin html

<br>Is Peer Reachable and Responding to Polls? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<offset>  =>   B<double, optional>

=begin html

<br>Offset from Server Time (ms) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<selection-state>  =>   B<string, optional>

=begin html

<br>Description of Server Selection State Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server>  =>   B<string, optional>

=begin html

<br>Host name, IPv4 address or IPv6 address for the external NTP time server Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 option-info

=begin html

null

=end html



B<Fields>

=over 2

=item * I<cluster-constraint>  =>   B<string, optional>

=begin html

<br>Indicates the cluster-specific constraints of option. <ul> <li> "none" - no constraint. <li> "same_preferred" - same value should be used on both nodes of a HA pair. <li> "same_required" - same value must be used on both nodes of a HA pair. <li> "only_one" - value is used for both nodes of a HA pair, when in takeover mode. <li> "unknown" - value is not valid. </ul> In Data ONTAP Cluster-Mode, this field will always be "none". This field is optional in Data ONTAP Cluster-Mode, but required in Data ONTAP 7-Mode.

=end html

=back



=over 2

=item * I<data-type>  =>   B<string, optional>

=begin html

<br>Data type of the option 'name'. Possible values are: <ul> <li>"bool" - A boolean true / false value, <li>"integer" - A decimal integer value, <li>"unsigned" - A non-negative decimal integer value, <li>"string" - A UTF-8 character string. </ul>

=end html

=back



=over 2

=item * I<default-value>  =>   B<string, optional>

=begin html

<br>Default initial value of this option. The field 'value' contains the current set value and could be different from this.

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Brief description of this option.

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the option. This field is optional in Data ONTAP Cluster-Mode, but required in Data ONTAP 7-Mode.

=end html

=back



=over 2

=item * I<priv-level>  =>   B<string, optional>

=begin html

<br>The privilege level of this option. Possible values are: <ul> <li> admin <li> advanced <li> diagnostic <li> test </ul>

=end html

=back



=over 2

=item * I<value>  =>   B<string, optional>

=begin html

<br>Value of the option. This field is optional in Data ONTAP Cluster-Mode, but required in Data ONTAP 7-Mode.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The name of the vserver to which this option belongs to.

=end html

=back



=head2 options-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against options object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<options-key>  =>   B<L<"option-info">>

=begin html

<br>The keys for the options object to which the modify operation applies.

=end html

=back



=head2 aggregation-data

=begin html

Information related to aggregation that was done.

=end html



B<Fields>

=over 2

=item * I<constituent-count>  =>   B<integer, optional>

=begin html

<br>Number of constituents used to aggregate this instance.

=end html

=back



=over 2

=item * I<result>  =>   B<string, optional>

=begin html

<br>Each counter for an instance can be part of an aggregation set. Each counter can either have a strict or permissive aggregation. (Basically whether an aggregation with missing data samples in the aggregation set can be considered valid.) <br>Possible values: "complete_aggregation", "partial_aggregation" <ul> <li>If aggregation is 'strict', and we have all of the data samples, we return: complete_aggregation <li>If aggregation is 'strict' and we DON'T have all of the data samples, we return: partial_aggregation <li>If aggregation is 'strict' and we only have one instance (such as a flex vole) we return: complete_aggregation <li>If aggregation is 'permissive', we always return: complete_aggregation (since the results are always valid) </ul> NOTE: Since a given node DOES NOT have enough information to determine all of the members of the set, we have to assume if we can't contact a given node/process that may contain a piece to be aggregated, the aggregation is incomplete. (For example, if we're trying to aggregate 'volume' stats, and we can't contact the local dblade or a remote node, we'll mark it as incomplete.)

=end html

=back



=head2 archive-config-info

=begin html

Performance Archive Configuration Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<asup-file-rotation>  =>   B<integer, optional>

=begin html

<br>Minutes Between ASUP Data File Rotations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<asup-max-retention>  =>   B<integer, optional>

=begin html

<br>Days to Retain ASUP Archive Data Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<datastore-file-rotation>  =>   B<integer, optional>

=begin html

<br>Minutes Between Performance Archive Data File Rotations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<datastore-max-percent>  =>   B<integer, optional>

=begin html

<br>Maximum Percentage of Root Volume Used for Performance Archive Data Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<datastore-max-retention>  =>   B<integer, optional>

=begin html

<br>Days to Retain Performance Archive Data Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<datastore-path>  =>   B<string, optional>

=begin html

<br>Base Path of Performance Archive Datastore Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<enabled-presets>  =>   B<L<"enabled-preset">[], optional>

=begin html

<br>Archive-Enabled Performance Preset Info

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is the Performance Archive Enabled? Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<opm-file-rotation>  =>   B<integer, optional>

=begin html

<br>Minutes Between OPM Data File Rotations Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<perfstat-duration>  =>   B<integer, optional>

=begin html

<br>Minutes after Which Perfstat Collection Is Stopped Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<perfstat-end-date>  =>   B<datetime, optional>

=begin html

<br>Date Perfstat Collection Will Be Turned off Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<perfstat-sampling-period>  =>   B<integer, optional>

=begin html

<br>Minutes Between Perfstat Collections Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Data ONTAP Version of Installed Configuration Attributes: non-creatable, non-modifiable

=end html

=back



=head2 ccma-datafile-state

=begin html

Performance Archive Datafile State Possible values: <ul> <li> "partial" - datafile is incomplete, <li> "unlocked" - datafile is complete but may be deleted, <li> "locked" - datafile is complete and protected from deletion </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 counter

=begin html

Counter name.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 counter-data

=begin html

Value of a single counter of an instance of an object at the time of the call.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the counter

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value of the counter. If the counter type is array, this is a comma separated list of values. The counter properties and units must be known in order to interpret this value. Refer to the perf API discussion for details on how raw counter values are interpreted.

=end html

=back



=head2 counter-info

=begin html

Information about a single counter.

=end html



B<Fields>

=over 2

=item * I<aggregation-style>  =>   B<string, optional>

=begin html

<br>For counters that can be aggregated, this element decribes the style. If the element is absent, no aggregation is available for this counter. Valid values include: [ strict, permissive ]. "strict" aggregation requires all items of a set to perform aggregation. If any item is missing, the aggregation will be rejected. "permissive" aggregation is a best effort aggregation. All available items of a set will be aggregated.<br><br> Aggregation-style is <b>deprecated</b> in Data ONTAP 8.2 and later. This field has never been used.

=end html

=back



=over 2

=item * I<base-counter>  =>   B<string, optional>

=begin html

<br>Name of the counter used as the denominator to calculate values of counters involving averages and percentages.

=end html

=back



=over 2

=item * I<desc>  =>   B<string>

=begin html

<br>Description of the counter

=end html

=back



=over 2

=item * I<is-deprecated>  =>   B<boolean, optional>

=begin html

<br>True if the counter is deprecated.

=end html

=back



=over 2

=item * I<is-key>  =>   B<boolean, optional>

=begin html

<br>True if the counter is a key counter. A set of key counters for an object can be used to uniquely identify instances of an object.

=end html

=back



=over 2

=item * I<labels>  =>   B<label-info[], optional>

=begin html

<br>List of labels of an array type counter.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the counter.

=end html

=back



=over 2

=item * I<privilege-level>  =>   B<string>

=begin html

<br>Privilege level of the counter. Any counter with a privilege level of "diag" is not guaranteed to work, to exist in future releases, or to remain unchanged. <br> Possible values: basic, admin, advanced or diag.

=end html

=back



=over 2

=item * I<properties>  =>   B<string, optional>

=begin html

<br>Comma separated list of properties of the counter. The counter properties determine how raw counter values should be interpreted. <br> Possible values: raw, rate, delta, percent, string, no-display and no-zero-values.

=end html

=back



=over 2

=item * I<replaced-by>  =>   B<string, optional>

=begin html

<br>Replacement counter if this counter is deprecated.

=end html

=back



=over 2

=item * I<translation-input-counter>  =>   B<string, optional>

=begin html

<br>Name of counter that is used as input for translation. Translation is needed for some counters because the precise value is unknown at the moment of sampling, and must be determined from another counter at a later time. Note that the time frame is still within a single request and response from the ZAPI client's point of view.<br><br> Translation-input-counter is <b>deprecated</b> in Data ONTAP 8.2 and later. This field does not convey necessary information for about counters. It was previously used for diagnostic purposes, but it is no longer needed.

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>Indicator for whether counter is a scalar or array. If this element is absent,the counter is a scalar.<br> Possible values: array

=end html

=back



=over 2

=item * I<unit>  =>   B<string, optional>

=begin html

<br>Unit of the counter<br> Possible values: per_sec, b_per_sec (bytes/s), kb_per_sec (Kbytes/s), mb_per_sec (Mbytes/s), percent, millisec, microsec, sec, or none

=end html

=back



=head2 enabled-preset

=begin html

Archive-Enabled Performance Preset Info

=end html



B<Fields>

=over 2

=item * I<preset>  =>   B<string, optional>

=begin html

<br>Enabled Performance Preset Names Attributes: non-creatable, non-modifiable

=end html

=back



=head2 filename

=begin html

File Name (including extension)

=end html



B<Fields>

=over 2

=item * None

=back



=head2 filter

=begin html

Instance filter specified as a comma-seperated list of "counter=value" pairs.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 filter-data

=begin html

A string, representing filter data, in the format of counter_name=counter_value clauses. Multiple pairs can be specified via comma (",") or pipe ("|") separation. The applied filter is a combination of ANDing and ORing the clauses.<p> A comma indicates ANDing, a pipe indicates ORing, and the order of precedence is AND and then OR. For example, "<tt>instance_name=volA,vserver_name=vs1|vserver_name=vs2</tt>" equates to "<tt>(instance_name=volA &amp;&amp; vserver_name=vs1) | (vserver_name=vs2)</tt>". This would return instances on Vserver <tt>vs1</tt> with the name <tt>volA</tt>, as well as all of the instances on Vserver <tt>vs2</tt>.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 instance

=begin html

Instance name.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 instance-data

=begin html

Instance name and counter values.

=end html



B<Fields>

=over 2

=item * I<aggregation>  =>   B<L<"aggregation-data">, optional>

=begin html

<br>Information related to aggregation that was done. If element is absent, no aggregation was performed on this instance.

=end html

=back



=over 2

=item * I<counters>  =>   B<L<"counter-data">[]>

=begin html

<br>List of counter values of this instance. Each element of this list contains the value of a single counter.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the instance

=end html

=back



=over 2

=item * I<sort-id>  =>   B<integer>

=begin html

<br>Sort ID of the instance

=end html

=back



=over 2

=item * I<uuid>  =>   B<string>

=begin html

<br>UUID of the instance

=end html

=back



=head2 instance-info

=begin html

Information about an object's instance When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the instance Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<uuid>  =>   B<string, optional>

=begin html

<br>UUID of the instance Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 instance-uuid

=begin html

Instance UUID.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 label-info

=begin html

Comma separated list of labels of an array type counter.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 object-info

=begin html

Description of a performance object.

=end html



B<Fields>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Description of the object

=end html

=back



=over 2

=item * I<get-instances-preferred-counter>  =>   B<string, optional>

=begin html

<br>Name of the counter, either instance_name or instance_uuid, which should be used for perf-object-get-instances ZAPI for optimal performance. If this element is absent for an object, the value of this element defaults to instance_name counter. This element is a performance hint for getting optimal performance for the perf-object-get-instances ZAPI. If the value of this element is set to instance UUID counter of an object, using the instance UUID counter in the perf-object-get-instances query will return the counter information faster than using instance name counter. Otherwise, instance_name will yield faster results.

=end html

=back



=over 2

=item * I<is-deprecated>  =>   B<boolean, optional>

=begin html

<br>True if the object is deprecated.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the object

=end html

=back



=over 2

=item * I<privilege-level>  =>   B<string>

=begin html

<br>The object privilege level. Any object with a privilege level of "diag" is not guaranteed to work, to exist in future releases, or to remain unchanged. <br> Possible values: basic, admin, advanced or diag.

=end html

=back



=over 2

=item * I<replaced-by>  =>   B<string, optional>

=begin html

<br>Replacement object if this object is deprecated.

=end html

=back



=head2 perf-archive-datafile-age-filter

=begin html

The filter limits output such that all datafiles, only the newest datafile, or only the oldest datafile is returned. Possible values: <ul> <li> "all" - no filter--return all datafiles, <li> "newest" - only return newest datafile, <li> "oldest" - only return oldest datafile </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 perf-archive-datafile-info

=begin html

Information about a single performance archive datafile within a datastore.

=end html



B<Fields>

=over 2

=item * I<duration>  =>   B<integer, optional>

=begin html

<br>Length of time between the first and last record stored in the datafile (ms). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<filenames>  =>   B<filename[], optional>

=begin html

<br>Names of the individual files which comprise the datafile. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>Internal quota management index of the datafile. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-period>  =>   B<perf-archive-sample-period, optional>

=begin html

<br>Longest performance archive sample period stored in the datafile--all shorter periods will also be in the datafile. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size>  =>   B<size, optional>

=begin html

<br>Size of the datafile (bytes). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<ccma-datafile-state, optional>

=begin html

<br>State of the datafile. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "partial" - datafile is incomplete, <li> "unlocked" - datafile is complete but may be deleted, <li> "locked" - datafile is complete and protected from deletion </ul>

=end html

=back



=over 2

=item * I<timestamp>  =>   B<datetime, optional>

=begin html

<br>Timestamp of when the datafile was written to disk (UTC). Attributes: non-creatable, non-modifiable

=end html

=back



=head2 perf-archive-datastore-info

=begin html

Information about a single performance archive datastore in the Data ONTAP cluster. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<datastore>  =>   B<string, optional>

=begin html

<br>Name of the datastore. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is the datastore currently collecting data? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Name of Data ONTAP node owning the datastore. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<oldest-timestamp>  =>   B<datetime, optional>

=begin html

<br>Timestamp of the oldest datafile in the datastore (UTC). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path to the datastore directory on the owning node's root volume. For example: /mroot/etc/log/stats/ccma/kernel/ Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<perf-archive-datafile-infos>  =>   B<L<"perf-archive-datafile-info">[], optional>

=begin html

<br>Information about a single performance archive datafile within a datastore.

=end html

=back



=over 2

=item * I<process>  =>   B<process-name, optional>

=begin html

<br>Name of Data ONTAP system process owning the datastore. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size>  =>   B<size, optional>

=begin html

<br>Total size of the datastore (bytes). Attributes: non-creatable, non-modifiable

=end html

=back



=head2 perf-archive-info

=begin html

Performance Archive Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<archive>  =>   B<string, optional>

=begin html

<br>Performance Archive Name Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<case-number>  =>   B<string, optional>

=begin html

<br>Support Case Number Associated with Archive Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Performance Archive Comment Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<end-time>  =>   B<integer, optional>

=begin html

<br>End of Performance Archive's time range (UTC) Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string[], optional>

=begin html

<br>Path to Archive File(s) on Disk Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size>  =>   B<size, optional>

=begin html

<br>Size of Archive File(s) on Disk Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-nodes>  =>   B<node-name[], optional>

=begin html

<br>Originating Nodes for Archive Data Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<integer, optional>

=begin html

<br>Start of Performance Archive's time range (UTC) Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<perf-archive-state, optional>

=begin html

<br>State of Performance Archive Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "create_calculating" - Archive properties being calculated, <li> "create_queueing" - Archive waiting to be created, <li> "create_packaging" - Archive files being packaged on source nodes, <li> "create_incomplete" - Not all requested nodes included in saved Archive, <li> "created" - Successfully saved Archive to disk, <li> "create_failed" - Errors occurred while saving Archive to disk, <li> "destroy_queueing" - Archive waiting to be destroyed, <li> "destroy_cleaning" - Archive actively being destroyed and removed from disk, <li> "destroy_incomplete" - Archive not completely removed from all nodes, <li> "destroyed" - Archive successfully removed from the cluster, <li> "destroy_failed" - Errors occurred while destroying Archive, <li> "invalid_state" - Invalid state that should not be reached </ul>

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>Performance Archive UUID Attributes: non-creatable, non-modifiable

=end html

=back



=head2 perf-archive-sample-period

=begin html

The performance archive sample period is the amount of time between data samples in the performance archive.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 perf-archive-state

=begin html

The state of a performance archive tracks each of the phases of the archive life-cycle. Possible values: <ul> <li> "create_calculating" - Archive properties being calculated, <li> "create_queueing" - Archive waiting to be created, <li> "create_packaging" - Archive files being packaged on source nodes, <li> "create_incomplete" - Not all requested nodes included in saved Archive, <li> "created" - Successfully saved Archive to disk, <li> "create_failed" - Errors occurred while saving Archive to disk, <li> "destroy_queueing" - Archive waiting to be destroyed, <li> "destroy_cleaning" - Archive actively being destroyed and removed from disk, <li> "destroy_incomplete" - Archive not completely removed from all nodes, <li> "destroyed" - Archive successfully removed from the cluster, <li> "destroy_failed" - Errors occurred while destroying Archive, <li> "invalid_state" - Invalid state that should not be reached </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 preset-detail-info

=begin html

Performance Preset Detail information, including specific objects, counter sets, instance filters, and associated sample period information for the Performance Archive.

=end html



B<Fields>

=over 2

=item * I<counter-set>  =>   B<counter[]>

=begin html

<br>Counter Name Set

=end html

=back



=over 2

=item * I<generation-id>  =>   B<integer, optional>

=begin html

<br>Preset Detail Generation ID <br/>As input, this field must not be specified; as output, this field is always present.

=end html

=back



=over 2

=item * I<instance-filters>  =>   B<filter[], optional>

=begin html

<br>Instance Filters

=end html

=back



=over 2

=item * I<object>  =>   B<string>

=begin html

<br>Performance Object

=end html

=back



=over 2

=item * I<sample-period>  =>   B<string, optional>

=begin html

<br>Performance Archive Sample Period <br/>As input, this field is optional; as output, this field is always present. <br/>Possible Values: none, 1s, 5s, 10s, 30s, 1m, 5m, 10m, 30m, 1h, 6h, 12h, 1d, 1w, config <br/>Default: none

=end html

=back



=head2 preset-info

=begin html

Performance Preset information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Preset Description Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<expiration-end-date>  =>   B<datetime, optional>

=begin html

<br>Date/Time Preset Expires Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<expiration-length>  =>   B<integer, optional>

=begin html

<br>Default Expiration Length (Minutes) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<generation-id>  =>   B<integer, optional>

=begin html

<br>Preset Generation ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-archive-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Preset Archive-Enabled? Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-read-only>  =>   B<boolean, optional>

=begin html

<br>Is Preset Read-Only? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<new-name>  =>   B<string, optional>

=begin html

<br>New Preset Name Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<preset>  =>   B<string, optional>

=begin html

<br>Preset Name Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<privilege>  =>   B<privilege-level, optional>

=begin html

<br>Preset Privilege Level Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>Preset UUID Attributes: non-creatable, non-modifiable

=end html

=back



=head2 privilege-level

=begin html

Level of Privilege

=end html



B<Fields>

=over 2

=item * None

=back



=head2 process-name

=begin html

Name of Data ONTAP process

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sample-info

=begin html

Sample Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<counter>  =>   B<string[], optional>

=begin html

<br>List of Counters Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<duration>  =>   B<integer, optional>

=begin html

<br>Sample Duration in Minutes Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-description>  =>   B<string, optional>

=begin html

<br>Error in Sample Collection Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<filter>  =>   B<string, optional>

=begin html

<br>Filter Data Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<instance>  =>   B<string[], optional>

=begin html

<br>List of Instances Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max>  =>   B<integer, optional>

=begin html

<br>Maximum Number of Instances Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object>  =>   B<string[], optional>

=begin html

<br>List of Objects Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<privilege>  =>   B<privilege-level, optional>

=begin html

<br>Privilege Level Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sample-id>  =>   B<string, optional>

=begin html

<br>Sample Identifier Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sample-status>  =>   B<sample-status, optional>

=begin html

<br>Sample Collection Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ready" , <li> "processing" , <li> "error" , <li> "deleting" </ul>

=end html

=back



=over 2

=item * I<sample-type>  =>   B<sample-type, optional>

=begin html

<br>Sample Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "user" , <li> "system" </ul>

=end html

=back



=over 2

=item * I<sort-key>  =>   B<string, optional>

=begin html

<br>Counter Used For Sorting Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sort-order>  =>   B<sort-order, optional>

=begin html

<br>Sort Order Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ascending" - Ascending, <li> "descending" - Descending </ul>

=end html

=back



=over 2

=item * I<start-time>  =>   B<integer, optional>

=begin html

<br>Sample Start Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<stop-time>  =>   B<integer, optional>

=begin html

<br>Sample Stop Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 sample-status

=begin html

Ready|Processing|Error|Deleting Possible values: <ul> <li> "ready" , <li> "processing" , <li> "error" , <li> "deleting" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sample-type

=begin html

User|System Possible values: <ul> <li> "user" , <li> "system" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sort-order

=begin html

ascending|descending Possible values: <ul> <li> "ascending" - Ascending, <li> "descending" - Descending </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 platform-cap-info

=begin html

Platform Capability Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<capability-id>  =>   B<integer, optional>

=begin html

<br>Capability ID Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Capability Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<supported>  =>   B<string, optional>

=begin html

<br>Supported? Attributes: non-creatable, non-modifiable

=end html

=back



=head2 initiator-group-name

=begin html

The name of an initiator group

=end html



B<Fields>

=over 2

=item * None

=back



=head2 portset-info

=begin html

Information about a port set.

=end html



B<Fields>

=over 2

=item * I<initiator-group-info>  =>   B<initiator-group-name[], optional>

=begin html

<br>Information about the initiator group(s) that are bound to the portset.

=end html

=back



=over 2

=item * I<portset-name>  =>   B<string>

=begin html

<br>Name of this port set.

=end html

=back



=over 2

=item * I<portset-port-info>  =>   B<portset-port-name[], optional>

=begin html

<br>Information about the ports belonging to the set.

=end html

=back



=over 2

=item * I<portset-port-total>  =>   B<integer>

=begin html

<br>Total number of ports in the port set.

=end html

=back



=over 2

=item * I<portset-type>  =>   B<string>

=begin html

<br>Possible values: "fcp", "iscsi", "mixed".

=end html

=back



=over 2

=item * I<portset-uuid>  =>   B<uuid, optional>

=begin html

<br>The Universally Unique Identifier of the portset. This field is available in Data ONTAP 8.3.0 and later.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>Vserver containing this portset.

=end html

=back



=head2 portset-port-name

=begin html

String representing a member of a portset. In Data ONTAP 7-Mode, the port name is of the format "filer:slotletter" or "slotletter". In Data ONTAP Cluster-Mode, the port name is the name of an FCP data lif or iSCSI target portal group.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cache-info

=begin html

QoS cache policy typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cache-class>  =>   B<qos-class, optional>

=begin html

<br>Cache Policy Class Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "undefined" - undefined, <li> "preset" - Preset, <li> "user_defined" - User Defined, <li> "system_defined" - System Defined, <li> "autovolume" - Autovolume </ul>

=end html

=back



=over 2

=item * I<cache-policy-name>  =>   B<string, optional>

=begin html

<br>Name of the QoS Cache policy Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<is-default>  =>   B<boolean, optional>

=begin html

<br>Identifies the default Cache policy. If this field is true then QoS workloads with the special value 'default' in the cache field will use this cache policy. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<is-lopri-data>  =>   B<boolean, optional>

=begin html

<br>Cache Lopri Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-meta-data>  =>   B<boolean, optional>

=begin html

<br>Cache Metadata Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-normal-data>  =>   B<boolean, optional>

=begin html

<br>Cache Normal Data Blocks Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-randomwrite-data>  =>   B<boolean, optional>

=begin html

<br>Cache Random Write Blocks Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-readahead-data>  =>   B<boolean, optional>

=begin html

<br>Cache Readahead Blocks Attributes: non-creatable, non-modifiable

=end html

=back



=head2 cache-policy-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against qos-settings-cache object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<qos-settings-cache-key>  =>   B<L<"cache-info">>

=begin html

<br>The keys for the qos-settings-cache object to which the modify operation applies.

=end html

=back



=head2 qos-adaptive-policy-group-delete-iter-info

=begin html

Information about the operation that was attempted/performed against qos-adaptive-policy-group object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<qos-adaptive-policy-group-key>  =>   B<L<"qos-adaptive-policy-group-info">>

=begin html

<br>The keys for the qos-adaptive-policy-group object to which the operation applies.

=end html

=back



=head2 qos-adaptive-policy-group-info

=begin html

Information about a QoS adaptive policy group When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<absolute-min-iops>  =>   B<qos-tput, optional>

=begin html

<br>Absolute Minimum IOPS. Specifies the absolute minimum IOPS which is used as an override when the expected_iops is less than this value. The default value is computed as follows: if expected-iops >= 6144/TB, then absolute-min-iops = 1000; if expected-iops >= 2048/TB and expected-iops < 6144/TB, then absolute-min-iops = 500; if expected-iops >= 1/MB and expected-iops < 2048/TB, then absolute-min-iops = 75. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<expected-iops>  =>   B<qos-tput-capacity, optional>

=begin html

<br>Expected IOPS. Specifies the minimum expected IOPS per TB|GB allocated based on volume allocated size. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<num-workloads>  =>   B<integer, optional>

=begin html

<br>Number of workloads under this adaptive policy group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peak-iops>  =>   B<qos-tput-capacity, optional>

=begin html

<br>Peak IOPS. Specifies the maximum possible IOPS per TB|GB allocated based on volume allocated size or volume used size. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<peak-iops-allocation>  =>   B<qos-peak-iops-allocation, optional>

=begin html

<br>Peak IOPS Allocation. Specifies the peak-iops allocation policy. The allocation policy is either allocated-space or used-space. When the peak-iops-allocation policy is set to allocated-space, the peak-iops is calculated based on the size of the volume. When the peak-iops-allocation policy is set to used-space, the peak-iops is calculated based on the amount of data stored in the volume taking into account storage efficiencies. The default value is used-space. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "allocated_space" , <li> "used_space" </ul>

=end html

=back



=over 2

=item * I<pgid>  =>   B<integer, optional>

=begin html

<br>The ID used to identify the adaptive policy group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string, optional>

=begin html

<br>Name of the adaptive policy group. Adaptive policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>Universally unique identifier for the adaptive policy group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The Data Vserver to which the adaptive policy group belongs. Attributes: required-for-create, non-modifiable

=end html

=back



=head2 qos-adaptive-policy-group-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against qos-adaptive-policy-group object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<qos-adaptive-policy-group-key>  =>   B<L<"qos-adaptive-policy-group-info">>

=begin html

<br>The keys for the qos-adaptive-policy-group object to which the modify operation applies.

=end html

=back



=head2 qos-class

=begin html

preset|user-defined|system-defined|autovolume Possible values: <ul> <li> "undefined" - undefined, <li> "preset" - Preset, <li> "user_defined" - User Defined, <li> "system_defined" - System Defined, <li> "autovolume" - Autovolume </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 qos-peak-iops-allocation

=begin html

used-space|allocated-space Possible values: <ul> <li> "allocated_space" , <li> "used_space" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 qos-policy-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against qos-policy object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<qos-policy-key>  =>   B<L<"qos-policy-info">>

=begin html

<br>The keys for the qos-policy object to which the deletion applies.

=end html

=back



=head2 qos-policy-group-delete-iter-info

=begin html

Information about the operation that was attempted/performed against qos-policy-group object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<qos-policy-group-key>  =>   B<L<"qos-policy-group-info">>

=begin html

<br>The keys for the qos-policy-group object to which the operation applies.

=end html

=back



=head2 qos-policy-group-info

=begin html

Information about a QoS policy group When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<max-throughput>  =>   B<qos-tput, optional>

=begin html

<br>Maximum throughput defined by this policy. It is specified in terms of IOPS or MB/s or a combination of comma separated IOPS and MB/s, and the range is zero to infinity. The values entered here are case-insensitive, and the units are base ten. There should be no space between the number and the units. The default value for max-throughput is infinity. The default unit is IOPS. Two reserved keywords, 'none' and 'INF', are available for the situation that requires removal of a value, and the situation that needs to specify the maximum available value. Examples of valid specifications are: 100B/s, 10KB/s, 1gb/s, 500MB/s, 1tb/s, 100iops. Examples of valid specification of combination of iops and throughput are 100iops,400KB/s, and 800KB/s,800iops. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-throughput>  =>   B<qos-tput, optional>

=begin html

<br>Minimum throughput defined by this policy. It is specified in terms of IOPS. The values entered here are case-insensitive, and the units are base ten. There should be no space between the number and the units. The default value for min-throughput is 0. The default unit is IOPS. One reserved keywords, 'none' is available for the situation that requires removal of a value. Examples of valid specifications are: 100iops and 100. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<num-workloads>  =>   B<integer, optional>

=begin html

<br>Number of workloads under this policy group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<pgid>  =>   B<integer, optional>

=begin html

<br>The ID used to identify the policy group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string, optional>

=begin html

<br>Name of the policy group. Policy group names must be unique and are restricted to 127 alphanumeric characters, '-', and '_', and must start with an alphanumeric character (a-z, A-Z, or 0-9) or '-'. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<policy-group-class>  =>   B<qos-class, optional>

=begin html

<br>Class for the policy group. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "undefined" - undefined, <li> "preset" - Preset, <li> "user_defined" - User Defined, <li> "system_defined" - System Defined, <li> "autovolume" - Autovolume </ul>

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>Universally unique identifier for the QoS policy group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The Data Vserver to which the policy group belongs. Attributes: required-for-create, non-modifiable

=end html

=back



=head2 qos-policy-group-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against qos-policy-group object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<qos-policy-group-key>  =>   B<L<"qos-policy-group-info">>

=begin html

<br>The keys for the qos-policy-group object to which the modify operation applies.

=end html

=back



=head2 qos-policy-info

=begin html

QoS policy typedef When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cache-policy-name>  =>   B<string, optional>

=begin html

<br>Name of an entry in the cache policy table. Identifies cache settings that will be used by workloads using this policy. If this field contains the special value 'default' then the default cache policies will be used. Modifying this field is not recommended. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-class>  =>   B<qos-class, optional>

=begin html

<br>Identifies how policy was created. Preset polices may not be modified or destroyed. Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "preset" - Preset, <li> "user_defined" - User Defined </ul>

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string, optional>

=begin html

<br>User visible name of QoS policy. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-uuid>  =>   B<uuid, optional>

=begin html

<br>Universally unique identifier for the QoS policy. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<read-ahead-policy-name>  =>   B<string, optional>

=begin html

<br>Name of an entry in the read-ahead policy table. Identifies read-ahead settings that will be used by workloads using this policy. If this field contains the special value 'default' then the default read-ahead policies will be used. Modifying this field is not recommended. Attributes: optional-for-create, modifiable

=end html

=back



=head2 qos-policy-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against qos-policy object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<qos-policy-key>  =>   B<L<"qos-policy-info">>

=begin html

<br>The keys for the qos-policy object to which the modify operation applies.

=end html

=back



=head2 qos-policy-read-ahead-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against qos-policy-read-ahead object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<qos-policy-read-ahead-key>  =>   B<L<"qos-policy-read-ahead-info">>

=begin html

<br>The keys for the qos-policy-read-ahead object to which the deletion applies.

=end html

=back



=head2 qos-policy-read-ahead-info

=begin html

QoS read-ahead policy typedef When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<align-blocks>  =>   B<integer, optional>

=begin html

<br>Block Alignment Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<default>  =>   B<boolean, optional>

=begin html

<br>Default Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<disk-response-factor>  =>   B<integer, optional>

=begin html

<br>Disk Response Time Factor Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<disk-response-weight>  =>   B<integer, optional>

=begin html

<br>Weight for Disk Response Time Aging (%) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<early-count>  =>   B<integer, optional>

=begin html

<br>Number of IO Operations Cautiously Predicted Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<force-dump>  =>   B<boolean, optional>

=begin html

<br>Force DUMP-Style Readahead Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<force-full>  =>   B<boolean, optional>

=begin html

<br>Force Full-File Readahead Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<force-none>  =>   B<boolean, optional>

=begin html

<br>Disable Readahead Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<interarrival-weight>  =>   B<integer, optional>

=begin html

<br>Weight for Interarrival Time Aging (%) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<jitter>  =>   B<integer, optional>

=begin html

<br>Threshold for Detecting Jitter (%) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum Blocks to Speculate Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-deadline>  =>   B<integer, optional>

=begin html

<br>Maximum Deadline Offset (us) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Maximum Disk Response Time (us) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-gap>  =>   B<integer, optional>

=begin html

<br>Maximum Speculative Blocks Outstanding Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-range>  =>   B<integer, optional>

=begin html

<br>Maximum Range Used When Aging Streams (Blocks) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-retire-time>  =>   B<integer, optional>

=begin html

<br>Maximum Time Before a Stream is Retired (us) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<metadata-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum Blocks for Which Metadata is Predicted Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum Blocks to Speculate Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Minimum Disk Response Time (us) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-range>  =>   B<integer, optional>

=begin html

<br>Minimum Range Used When Aging Streams (Blocks) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-retire-time>  =>   B<integer, optional>

=begin html

<br>Minimum Time Before a Stream is Retired (us) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<overshoot>  =>   B<integer, optional>

=begin html

<br>Allowable Overshoot (%) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<read-ahead-class>  =>   B<qos-class, optional>

=begin html

<br>Readahead Policy Class Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "preset" - Preset, <li> "user_defined" - User Defined </ul>

=end html

=back



=over 2

=item * I<read-ahead-policy-name>  =>   B<string, optional>

=begin html

<br>Name of QoS Readahead Policy. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<smallfile-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum Blocks for Small-File Handling Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-async>  =>   B<boolean, optional>

=begin html

<br>Use Asynchronous Speculation Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-feedback>  =>   B<boolean, optional>

=begin html

<br>Provide Cache-Miss Feedback Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-timing>  =>   B<boolean, optional>

=begin html

<br>Use Timing Algorithms Attributes: optional-for-create, modifiable

=end html

=back



=head2 qos-policy-read-ahead-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against qos-policy-read-ahead object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<qos-policy-read-ahead-key>  =>   B<L<"qos-policy-read-ahead-info">>

=begin html

<br>The keys for the qos-policy-read-ahead object to which the modify operation applies.

=end html

=back



=head2 qos-settings-archived-workload-info

=begin html

Archival settings for QoS workload Objects. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<max-workloads>  =>   B<integer, optional>

=begin html

<br>Maximum Number of Workloads to be Archived Attributes: non-creatable, modifiable

=end html

=back



=head2 qos-settings-control-info

=begin html

Information about QoS control settings. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<enforcement>  =>   B<boolean, optional>

=begin html

<br>Cluster-wide QoS enforcement Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<policy-deactivation>  =>   B<boolean, optional>

=begin html

<br>Deactivation of QoS policies on lower priority policy groups Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ratebucket-rebalance>  =>   B<boolean, optional>

=begin html

<br>Manage QoS ratebucket budgets across the cluster Attributes: non-creatable, modifiable

=end html

=back



=head2 qos-settings-read-ahead-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against qos-settings-read-ahead object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<qos-settings-read-ahead-key>  =>   B<L<"qos-settings-read-ahead-info">>

=begin html

<br>The keys for the qos-settings-read-ahead object to which the deletion applies.

=end html

=back



=head2 qos-settings-read-ahead-info

=begin html

QoS read-ahead setting typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<align-blocks>  =>   B<integer, optional>

=begin html

<br>Block alignment Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<default>  =>   B<boolean, optional>

=begin html

<br>Specifies whether this is the default readahead setting Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<disk-response-factor>  =>   B<integer, optional>

=begin html

<br>Disk response time factor Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<disk-response-weight>  =>   B<integer, optional>

=begin html

<br>Weight for disk response time aging (%) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<early-count>  =>   B<integer, optional>

=begin html

<br>Number of IO operations cautiously predicted Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<force-dump>  =>   B<boolean, optional>

=begin html

<br>Force DUMP-style readahead Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<force-full>  =>   B<boolean, optional>

=begin html

<br>Force full-file readahead Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<force-none>  =>   B<boolean, optional>

=begin html

<br>Disable readahead Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<interarrival-weight>  =>   B<integer, optional>

=begin html

<br>Weight for interarrival time aging (%) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<jitter>  =>   B<integer, optional>

=begin html

<br>Threshold for detecting jitter (%) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum blocks to speculate Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-deadline>  =>   B<integer, optional>

=begin html

<br>Maximum deadline Offset (ms) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Maximum disk response time (ms) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-gap>  =>   B<integer, optional>

=begin html

<br>Maximum speculative blocks outstanding Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-range>  =>   B<integer, optional>

=begin html

<br>Maximum range used when aging streams (Blocks) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-retire-time>  =>   B<integer, optional>

=begin html

<br>Maximum Time Before a Stream is Retired (us) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<metadata-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum blocks for which metadata is predicted Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-blocks>  =>   B<integer, optional>

=begin html

<br>Minimum blocks to speculate Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-disk-response-time>  =>   B<integer, optional>

=begin html

<br>Minimum disk response time (ms) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-file-histogram>  =>   B<integer, optional>

=begin html

<br>Minimum filesize for Histogram-based predictions (blocks) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-range>  =>   B<integer, optional>

=begin html

<br>Minimum range used when aging streams (Blocks) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-retire-time>  =>   B<integer, optional>

=begin html

<br>Minimum Time Before a Stream is Retired (us) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<overshoot>  =>   B<integer, optional>

=begin html

<br>Allowable overshoot (%) Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<read-ahead-class>  =>   B<qos-class, optional>

=begin html

<br>Readahead setting class Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "undefined" - undefined, <li> "preset" - Preset, <li> "user_defined" - User Defined, <li> "system_defined" - System Defined, <li> "autovolume" - Autovolume </ul>

=end html

=back



=over 2

=item * I<read-ahead-setting-name>  =>   B<string, optional>

=begin html

<br>Name of QoS Readahead Setting. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<smallfile-blocks>  =>   B<integer, optional>

=begin html

<br>Maximum blocks for small-file handling Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-async>  =>   B<boolean, optional>

=begin html

<br>Use asynchronous speculation Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-feedback>  =>   B<boolean, optional>

=begin html

<br>Provide cache-miss feedback Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-histogram>  =>   B<boolean, optional>

=begin html

<br>Use Histogram-based predictions Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<use-timing>  =>   B<boolean, optional>

=begin html

<br>Use timing algorithms Attributes: optional-for-create, modifiable

=end html

=back



=head2 qos-settings-read-ahead-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against qos-settings-read-ahead object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<qos-settings-read-ahead-key>  =>   B<L<"qos-settings-read-ahead-info">>

=begin html

<br>The keys for the qos-settings-read-ahead object to which the modify operation applies.

=end html

=back



=head2 qos-stream-characteristics

=begin html

QoS stream characteristics. The set of parameters that defines this stream.

=end html



B<Fields>

=over 2

=item * I<lun>  =>   B<string, optional>

=begin html

<br>Lun Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<qtree>  =>   B<string, optional>

=begin html

<br>Qtree Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: optional-for-create, non-modifiable

=end html

=back



=head2 qos-stream-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against qos-stream object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<qos-stream-key>  =>   B<L<"qos-stream-info">>

=begin html

<br>The keys for the qos-stream object to which the deletion applies.

=end html

=back



=head2 qos-stream-info

=begin html

QoS stream typedef When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<characteristics>  =>   B<L<"qos-stream-characteristics">, optional>

=begin html

<br>QoS stream characteristics. The set of parameters that defines this stream.

=end html

=back



=over 2

=item * I<stream-id>  =>   B<integer, optional>

=begin html

<br>Identifier for this stream. Together with the workload-uuid, uniquely identifies the stream. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<workload-uuid>  =>   B<uuid, optional>

=begin html

<br>Universally unique identifier for the workload to which the stream is attached. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 qos-tput

=begin html

QoS throughput type

=end html



B<Fields>

=over 2

=item * None

=back



=head2 qos-tput-capacity

=begin html

QoS throughput per capacity unit type

=end html



B<Fields>

=over 2

=item * None

=back



=head2 qos-workload-delete-iter-info

=begin html

Information about the deletion operation that was attempted/performed against qos-workload object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<qos-workload-key>  =>   B<L<"qos-workload-info">>

=begin html

<br>The keys for the qos-workload object to which the deletion applies.

=end html

=back



=head2 qos-workload-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against qos-workload object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<qos-workload-key>  =>   B<L<"qos-workload-info">>

=begin html

<br>The keys for the qos-workload object to which the deletion applies.

=end html

=back



=head2 qos-workload-info

=begin html

Information about a QoS workload When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<category>  =>   B<string, optional>

=begin html

<br>Category used to identify the workload. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file>  =>   B<string, optional>

=begin html

<br>Name for a file workload. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<is-adaptive>  =>   B<boolean, optional>

=begin html

<br>Type of policy group the workload belongs to. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-constituent>  =>   B<boolean, optional>

=begin html

<br>Whether the storage object is a constituent of another volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lun>  =>   B<string, optional>

=begin html

<br>Name for a lun workload. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<match-priority>  =>   B<integer, optional>

=begin html

<br>Priority of workload if a request can be classified into multiple workloads. The request will be classified to the workload with the highest match-priority. If the workloads have the same match priority then default matching rules are used. Modifying this field is not recommended. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-throughput>  =>   B<qos-tput, optional>

=begin html

<br>Maximum throughput for the workload. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<min-throughput>  =>   B<qos-tput, optional>

=begin html

<br>Minimum throughput for the workload. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-group>  =>   B<string, optional>

=begin html

<br>Name for a QoS policy group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-uuid>  =>   B<uuid, optional>

=begin html

<br>Universally unique identifier of the policy that the workload is using. If not set, the 'Default' policy will be used. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<qtree>  =>   B<string, optional>

=begin html

<br>Name for a qtree workload. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<read-ahead>  =>   B<string, optional>

=begin html

<br>Name for a read-ahead tunable policy. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Name for a volume workload. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name for a vserver workload. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<wid>  =>   B<integer, optional>

=begin html

<br>Internal identifier for workload. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<workload-class>  =>   B<qos-class, optional>

=begin html

<br>Class for the workload. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "undefined" - undefined, <li> "preset" - Preset, <li> "user_defined" - User Defined, <li> "system_defined" - System Defined, <li> "autovolume" - Autovolume </ul>

=end html

=back



=over 2

=item * I<workload-name>  =>   B<string, optional>

=begin html

<br>User visible name of QoS workload. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<workload-uuid>  =>   B<uuid, optional>

=begin html

<br>Universally unique identifier for the QoS workload. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 qos-workload-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against qos-workload object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<qos-workload-key>  =>   B<L<"qos-workload-info">>

=begin html

<br>The keys for the qos-workload object to which the modify operation applies.

=end html

=back



=head2 qos-workload-policy-count-info

=begin html

Information about QoS policy-groups and workloads. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<max-user-policies>  =>   B<integer, optional>

=begin html

<br>Max supported user-defined policy groups Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-user-workloads>  =>   B<integer, optional>

=begin html

<br>Max supported user-defined workloads Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-user-policies>  =>   B<integer, optional>

=begin html

<br>Total configured user-defined policy groups Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-user-workloads>  =>   B<integer, optional>

=begin html

<br>Total configured user-defined workloads Attributes: non-creatable, non-modifiable

=end html

=back



=head2 qtree-info

=begin html

Information about a single qtree.

=end html



B<Fields>

=over 2

=item * I<export-policy>  =>   B<string, optional>

=begin html

<br>Export policy of the qtree.

=end html

=back



=over 2

=item * I<id>  =>   B<integer>

=begin html

<br>Id of the qtree (unique within the volume), which is 0 if qtree is the volume itself.

=end html

=back



=over 2

=item * I<is-export-policy-inherited>  =>   B<boolean, optional>

=begin html

<br>If true, this qtree inherits the export policy of the parent volume.

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>The file permission bits of the qtree. Similar to UNIX permission bits: 0755 gives read/write/execute permissions to owner and read/execute to group and other users. It consists of 4 octal digits derived by adding up bits 4, 2, and 1. Omitted digits are assumed to be zeros. First digit selects the set user ID (4), set group ID (2), and sticky (1) attributes. The second digit selects permissions for the owner of the file: read (4), write (2), and execute (1); the third selects permissions for other users in the same group; the fourth for other users not in the group. This value is applicable and will be returned only if the security style of qtree is "unix" or "mixed".

=end html

=back



=over 2

=item * I<oplocks>  =>   B<string>

=begin html

<br>Indicates whether opportunistic locks are enabled on the qtree. Possible values: "enabled", "disabled".

=end html

=back



=over 2

=item * I<qtree>  =>   B<string>

=begin html

<br>Name of the qtree, blank if qtree is the volume itself

=end html

=back



=over 2

=item * I<security-style>  =>   B<string>

=begin html

<br>Security style of the qtree. Possible values are "unix", "ntfs", or "mixed".

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>Status of the qtree. Possible values include: "normal", or "readonly".

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume containing the qtree

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The vserver in which the volume belongs

=end html

=back



=head2 quota

=begin html

Information about a single quota.

=end html



B<Fields>

=over 2

=item * I<disk-limit>  =>   B<string>

=begin html

<br>Maximum amount of disk space, in kilobytes, allowed for the quota target (hard disk space limit). The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<disk-used>  =>   B<string>

=begin html

<br>Current amount of disk space, in kilobytes, used by the quota target.

=end html

=back



=over 2

=item * I<disk-used-pct-disk-limit>  =>   B<integer, optional>

=begin html

<br>Current disk space used expressed as a percentage of hard disk limit.

=end html

=back



=over 2

=item * I<disk-used-pct-soft-disk-limit>  =>   B<integer, optional>

=begin html

<br>Current disk space used expressed as a percentage of soft disk limit.

=end html

=back



=over 2

=item * I<disk-used-pct-threshold>  =>   B<integer, optional>

=begin html

<br>Current disk space used expressed as a percentage of threshold.

=end html

=back



=over 2

=item * I<file-limit>  =>   B<string>

=begin html

<br>Maximum number of files allowed for the quota target (hard files limit). The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<files-used>  =>   B<string>

=begin html

<br>Current number of files used by the quota target.

=end html

=back



=over 2

=item * I<files-used-pct-file-limit>  =>   B<integer, optional>

=begin html

<br>Current number of files used expressed as a percentage of hard file limit.

=end html

=back



=over 2

=item * I<files-used-pct-soft-file-limit>  =>   B<integer, optional>

=begin html

<br>Current number of files used expressed as a percentage of soft file limit.

=end html

=back



=over 2

=item * I<quota-target>  =>   B<string>

=begin html

<br>For an explicit quota, this value is a fully qualified quota target in the quota policy rule. Mulitple targets are comma separated. For a derived quota, the field is blank.

=end html

=back



=over 2

=item * I<quota-type>  =>   B<string>

=begin html

<br>The type of quota: user, group, or tree.

=end html

=back



=over 2

=item * I<quota-users>  =>   B<L<"quota-user">[], optional>

=begin html

<br>A list of quota users and group.

=end html

=back



=over 2

=item * I<soft-disk-limit>  =>   B<string>

=begin html

<br>Soft disk space limit, in kilobytes, for the quota target. The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<soft-file-limit>  =>   B<string>

=begin html

<br>Soft file limit, in number of files, for the quota target. The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<threshold>  =>   B<string>

=begin html

<br>Disk space threshold, in kilobytes, for the quota target. The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<tree>  =>   B<string>

=begin html

<br>Name of the qtree to which the quota is applied.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume to which the quota is applied.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The vserver name in which the volume belongs, for which the quota is applicable

=end html

=back



=head2 quota-entry

=begin html

Information about a single quota rule.

=end html



B<Fields>

=over 2

=item * I<disk-limit>  =>   B<string, optional>

=begin html

<br>Maximum amount of disk space, in kilobytes, allowed for the quota target (hard disk space limit). The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<file-limit>  =>   B<string, optional>

=begin html

<br>Maximum number of files allowed for the quota target (hard files limit). The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<perform-user-mapping>  =>   B<boolean, optional>

=begin html

<br>If the value is true, user mapping will be performed for this rule.

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>The quota policy to which the rule belongs.

=end html

=back



=over 2

=item * I<qtree>  =>   B<string, optional>

=begin html

<br>Name of the qtree for the quota. It can be the qtree name or "" if no qtree. If there is an error in the quota entry, this value might not present. For tree rules, this field will be "".

=end html

=back



=over 2

=item * I<quota-error>  =>   B<L<"quota-error">, optional>

=begin html

<br>This value is only present if there is an error, and gives complete details for an error for a specific quota entry.

=end html

=back



=over 2

=item * I<quota-target>  =>   B<string, optional>

=begin html

<br>The quota target of the type specified. The value will be one of: &lt;name&gt;, &lt;number&gt;, or &lt;path name&gt;. Mulitple targets can be specified by a comma-separated list. Quota directives in quota policy rules are used to form the quota target. If there is an error in the quota entry, this value might not present. For explicit tree rules, this field will indicate the qtree name in the format "/vol/< volume name >/ < qtree name >".

=end html

=back



=over 2

=item * I<quota-type>  =>   B<string, optional>

=begin html

<br>The type of quota rule. Possible values are "user", "group", or "tree". If there is an error in the quota entry, this value might not present.

=end html

=back



=over 2

=item * I<soft-disk-limit>  =>   B<string, optional>

=begin html

<br>Soft disk space limit, in kilobytes, for the quota target. The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<soft-file-limit>  =>   B<string, optional>

=begin html

<br>Soft file limit, in number of files, for the quota target. The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<threshold>  =>   B<string, optional>

=begin html

<br>Disk space threshold, in kilobytes, for the quota target. The value is "-" if the limit is unlimited.

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Name of the volume for the quota. If there is an error in the quota entry, this value might not present.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>The vserver name.

=end html

=back



=head2 quota-error

=begin html

Information about a single quota error.

=end html



B<Fields>

=over 2

=item * I<detail>  =>   B<string>

=begin html

<br>More details about the error.

=end html

=back



=over 2

=item * I<errno>  =>   B<integer>

=begin html

<br>The error number.

=end html

=back



=over 2

=item * I<reason>  =>   B<string>

=begin html

<br>A human-readable concise reason for the error.

=end html

=back



=head2 quota-error-msg

=begin html

Information about the single quota error.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 quota-policy-delete-iter-info

=begin html

Information about the deletion operation that was attempted/performed against quota-policy object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<quota-policy-key>  =>   B<L<"quota-policy-info">>

=begin html

<br>The keys for the quota-policy object to which the deletion applies.

=end html

=back



=head2 quota-policy-info

=begin html

Info about a quota policy When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<last-modified>  =>   B<datetime, optional>

=begin html

<br>Last Modified Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string, optional>

=begin html

<br>Policy Name Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 quota-policy-rule-count-info

=begin html

Quota policy rule count(s) When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<count-where-policy>  =>   B<integer, optional>

=begin html

<br>Total rule count matching the given Vserver and quota policy. All volumes, qtrees, and quota rule types are included. If specified as input, only matching totals are returned. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<count-where-policy-volume>  =>   B<integer, optional>

=begin html

<br>Subtotal of rules matching the given Vserver, quota policy, and volume. All qtrees and quota rule types are included. If specified as input, only matching totals are returned. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<count-where-policy-volume-qtree>  =>   B<integer, optional>

=begin html

<br>Subtotal of rules matching the given Vserver, quota policy, volume, and qtree. All quota rule types are included. If specified as input, only matching totals are returned. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<count-where-policy-volume-qtree-type>  =>   B<integer, optional>

=begin html

<br>Subtotal of rules matching the given Vserver, quota policy, volume, qtree, and quota rule type. If specified as input, only matching totals are returned. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<count-where-policy-volume-type>  =>   B<integer, optional>

=begin html

<br>Subtotal of rules matching the given Vserver, quota policy, volume, and quota rule type. All qtrees are included. If specified as input, only matching totals are returned. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Policy Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<qtree>  =>   B<qtree-name, optional>

=begin html

<br>Qtree Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<quota-type>  =>   B<quota-type, optional>

=begin html

<br>Type Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "tree" , <li> "user" , <li> "group" </ul>

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 quota-status-attributes

=begin html

Attributes of quota status

=end html



B<Fields>

=over 2

=item * I<percent-complete>  =>   B<integer, optional>

=begin html

<br>The percentage complete for an "on" or "resize" operation. This is present when the status is "upgrading", "resizing" or "initializing".

=end html

=back



=over 2

=item * I<quota-error-msgs>  =>   B<quota-error-msg[], optional>

=begin html

<br>Collection of quota errors including the value of the reason tag above. Since the quota parser does not stop when a parsing error occurs, this tag returns all the errors from the quota parser. <p> This field is not populated for FlexGroups.

=end html

=back



=over 2

=item * I<reason>  =>   B<quota-error-msg, optional>

=begin html

<br>The last quota error message. If not present, there are no errors.

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>Primary status of quotas on the indicated volume; Possible values: <ul> <li> "corrupt" </li> <li> "initializing" </li> <li> "mixed" </li> <li> "off" </li> <li> "on" </li> <li> "resizing" </li> <li> "reverting" </li> <li> "unknown" </li> <li> "upgrading" </li> </ul> <p> If a FlexGroup's constituents have differing quota statuses, the FlexGroup will return a 'mixed' quota status. If one or more of a FlexGroup's constituents are not online or otherwise cannot be reached, the FlexGroup will return an 'unknown' quota status.

=end html

=back



=over 2

=item * I<substatus>  =>   B<string>

=begin html

<br>Minor quota status on the indicated volume. This status is only valid when primary status is "resizing" or "initializing". Possible values are: <ul> <li> "done" </li> <li> "etc_scanning" </li> <li> "finishing" </li> <li> "mixed" </li> <li> "none" </li> <li> "queue_scan" </li> <li> "scanning" </li> <li> "setup" </li> <li> "transferring_rules" </li> <li> "unknown" </li> <li> "upgrading" </li> </ul> <p> If a FlexGroup's constituents have differing quota substatuses, the FlexGroup will return a 'mixed' quota substatus. If one or more of a FlexGroup's constituents are not online or otherwise cannot be reached, the FlexGroup will return an 'unknown' quota substatus.

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of the volume to which the quota is applied.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string>

=begin html

<br>The vserver name in which the volume belongs, for which the quota is applicable

=end html

=back



=head2 quota-type

=begin html

tree|user|group Possible values: <ul> <li> "tree" , <li> "user" , <li> "group" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 quota-user

=begin html

Information about a quota user or group.

=end html



B<Fields>

=over 2

=item * I<quota-user-id>  =>   B<string>

=begin html

<br>The id of the user. The quota-user-type determines the format. For uid and gid, the format is an integer. For sid, the format is the usual "S-*" style.

=end html

=back



=over 2

=item * I<quota-user-name>  =>   B<string>

=begin html

<br>Name of the user, group, or sid.

=end html

=back



=over 2

=item * I<quota-user-type>  =>   B<string>

=begin html

<br>The type of quota user. There are two possible values: sid (for Windows users), uid (for UNIX users), and gid (for UNIX groups).

=end html

=back



=head2 unsigned64-or-dash

=begin html

null

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sectrace-protocol

=begin html

cifs|nfs Possible values: <ul> <li> "cifs" - CIFS Protocol, <li> "nfs" - NFS Protocol </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 security-style

=begin html

Effective security style on file Possible values: <ul> <li> "security_none" - Security not Set, <li> "security_unix_modebits" - UNIX and UNIX permissions, <li> "security_unix_acl" - UNIX and NFSv4 ACL, <li> "security_unix_sd" - UNIX and NT ACL, <li> "security_mixed_modebits" - MIXED and UNIX permissions, <li> "security_mixed_acl" - MIXED and NFSv4 ACL, <li> "security_mixed_sd" - MIXED and NT ACL, <li> "security_ntfs_modebits" - NTFS and UNIX permissions, <li> "security_ntfs_acl" - NTFS and NT ACL, <li> "security_ntfs_sd" - NTFS and NT ACL, <li> "security_unix" - UNIX, <li> "security_mixed" - MIXED, <li> "security_ntfs" - NTFS, <li> "security_modebits" - UNIX permissions, <li> "security_acl" - ACL, <li> "security_sd" - SD </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 security-trace-filter-attributes

=begin html

Security trace configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<client-ip>  =>   B<ip-address, optional>

=begin html

<br>The IP address of the client. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<enabled>  =>   B<enable, optional>

=begin html

<br>This is used to enable or disable the filter. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>internally created index for the filter. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path to match. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<protocols>  =>   B<sectrace-protocol[], optional>

=begin html

<br>The protocols for which the permission tracing is applicable. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "cifs" - CIFS Protocol, <li> "nfs" - NFS Protocol </ul>

=end html

=back



=over 2

=item * I<time-enabled>  =>   B<integer, optional>

=begin html

<br>The admin can specify a timeout for this filter after which it would be disabled. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<trace-allow>  =>   B<boolean, optional>

=begin html

<br>The deny events are traced by default. This option is to record trace results for allow events as well. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<unix-name>  =>   B<string, optional>

=begin html

<br>UNIX user name or user ID to trace. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver on which the permission tracing is applied. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<windows-name>  =>   B<string, optional>

=begin html

<br>Windows User Name to trace. Attributes: optional-for-create, modifiable

=end html

=back



=head2 security-trace-results-logs

=begin html

List of security tracing results. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<client-ip>  =>   B<ip-address, optional>

=begin html

<br>The IP address of the client that triggered the permission tracing event. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>The index of the filter corresponding to the permission tracing event. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<keytime>  =>   B<date, optional>

=begin html

<br>The date and time of day when the persmission tracing event occured. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The cluster node on which the permission tracing event occured. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>The path of the file whose access triggered the permission tracing event. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<sectrace-protocol, optional>

=begin html

<br>Protocol for which the permission tracing is configured. Attributes: required-for-create, non-modifiable Possible values: <ul> <li> "cifs" - CIFS Protocol, <li> "nfs" - NFS Protocol </ul>

=end html

=back



=over 2

=item * I<result>  =>   B<string, optional>

=begin html

<br>A brief explanation of the result of the security check. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<security-style>  =>   B<security-style, optional>

=begin html

<br>The security style of the file system where the persmission tracing event occured. Attributes: required-for-create, non-modifiable Possible values: <ul> <li> "security_none" - Security not Set, <li> "security_unix_modebits" - UNIX and UNIX permissions, <li> "security_unix_acl" - UNIX and NFSv4 ACL, <li> "security_unix_sd" - UNIX and NT ACL, <li> "security_mixed_modebits" - MIXED and UNIX permissions, <li> "security_mixed_acl" - MIXED and NFSv4 ACL, <li> "security_mixed_sd" - MIXED and NT ACL, <li> "security_ntfs_modebits" - NTFS and UNIX permissions, <li> "security_ntfs_acl" - NTFS and NT ACL, <li> "security_ntfs_sd" - NTFS and NT ACL, <li> "security_unix" - UNIX, <li> "security_mixed" - MIXED, <li> "security_ntfs" - NTFS, <li> "security_modebits" - UNIX permissions, <li> "security_acl" - ACL, <li> "security_sd" - SD </ul>

=end html

=back



=over 2

=item * I<seqnum>  =>   B<integer, optional>

=begin html

<br>The sequence number of the permission tracing event. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>The unique identifier for the CIFS session. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<share-name>  =>   B<string, optional>

=begin html

<br>CIFS Share name which has been accessed. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<unix-user>  =>   B<string, optional>

=begin html

<br>Mapped UNIX User who triggered the permission tracing event. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Windows User who triggered the permission tracing event. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string, optional>

=begin html

<br>Name of the volume that has been accessed. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>The Vserver on which the permission tracing event occured. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 ciphers

=begin html

cipher name Possible values: <ul> <li> "aes256_xts" , <li> "aes256_ctr" , <li> "aes192_ctr" , <li> "aes128_ctr" , <li> "aes256_cbc" , <li> "aes192_cbc" , <li> "aes128_cbc" , <li> "3des_cbc" , <li> "aes128_gcm" , <li> "aes256_gcm" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 fips-interfaces

=begin html

SSL Possible values: <ul> <li> "ssl" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 kex-algorithms

=begin html

algorithm name Possible values: <ul> <li> "diffie_hellman_group_exchange_sha256" , <li> "diffie_hellman_group_exchange_sha1" , <li> "diffie_hellman_group14_sha1" , <li> "diffie_hellman_group1_sha1" , <li> "ecdh_sha2_nistp256" , <li> "ecdh_sha2_nistp384" , <li> "ecdh_sha2_nistp521" , <li> "curve25519_sha256" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 mac-algorithms

=begin html

MAC name Possible values: <ul> <li> "hmac_md5" , <li> "hmac_md5_96" , <li> "hmac_md5_etm" , <li> "hmac_md5_96_etm" , <li> "hmac_ripemd160" , <li> "hmac_ripemd160_etm" , <li> "hmac_sha1" , <li> "hmac_sha1_etm" , <li> "hmac_sha1_96" , <li> "hmac_sha1_96_etm" , <li> "hmac_sha2_256" , <li> "hmac_sha2_256_etm" , <li> "hmac_sha2_512" , <li> "hmac_sha2_512_etm" , <li> "umac_64" , <li> "umac_128" , <li> "umac_64_etm" , <li> "umac_128_etm" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 saml-sp-config-info

=begin html

SAML SP configuration information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cert-ca>  =>   B<string, optional>

=begin html

<br>Specify the service prvider's certificate issuing CA. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<cert-common-name>  =>   B<common-name, optional>

=begin html

<br>Specify the service providers certificate's common name. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<cert-serial>  =>   B<string, optional>

=begin html

<br>Specify the service providers certificate's serial number. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<idp-uri>  =>   B<uri, optional>

=begin html

<br>Specify the URI containing the metadata of the identity provider. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Enable or disable the configured SAML SP for authentication. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<sp-host>  =>   B<remote-inet-address, optional>

=begin html

<br>Specify the SAML SP service provider host address. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<verify-metadata-server>  =>   B<boolean, optional>

=begin html

<br>Specify whether to verify the IdP metadata server identity. Attributes: optional-for-create, non-modifiable

=end html

=back



=head2 security-config-info

=begin html

Provide Security Configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster-security-config-ready>  =>   B<boolean, optional>

=begin html

<br>Cluster Security Configuration Ready. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<fips-interfaces, optional>

=begin html

<br>Type Of Interface. Attributes: key, required-for-create, non-modifiable Possible values: <ul> <li> "ssl" </ul>

=end html

=back



=over 2

=item * I<is-fips-enabled>  =>   B<boolean, optional>

=begin html

<br>Data ONTAP FIPS Mode. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<supported-ciphers>  =>   B<string, optional>

=begin html

<br>Data ONTAP Supported Ciphers. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<supported-protocols>  =>   B<string[], optional>

=begin html

<br>Data ONTAP Supported Protocols. Attributes: optional-for-create, modifiable

=end html

=back



=head2 security-config-ocsp

=begin html

OCSP Support Status for Applications When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<application>  =>   B<string, optional>

=begin html

<br>Application Name <p> Possible values: <ul> <li> 'autosupport' - AutoSupport, <li> 'audit_log' - Audit-Logging, <li> 'fabricpool' - FabricPool, <li> 'ems' - EMS, <li> 'kmip' - KMIP, <li> 'ldap_ad' - LDAP-AD, <li> 'ldap_nis_namemap' - LDAP-NIS-NameMap, <li> 'all' - All Applications </ul> <p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-ocsp-enabled>  =>   B<boolean, optional>

=begin html

<br>Is OCSP-based Certificate Status Check Enabled? Attributes: non-creatable, non-modifiable

=end html

=back



=head2 security-login-account-info

=begin html

User account information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<application>  =>   B<string, optional>

=begin html

<br>Name of the application. Possible values: <ul> <li>'console'</li> <li>'http'</li> <li> 'ontapi'</li> <li> 'rsh'</li> <li> 'snmp'</li> <li> 'service-processor'</li> <li> 'ssh'</li> <li> 'telnet'</li> <ul>. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<authentication-method>  =>   B<string, optional>

=begin html

<br>Authentication method for the application. Possible values: 'community', 'password', 'publickey', 'domain', 'nsswitch' and 'usm'. Not all authentication methods are valid for an application. Valid authentication methods for each application are: <ul> <li>'password' for 'console' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'http' application.</li> <li>'password', 'domain', 'nsswitch', 'cert' for 'ontapi' application.</li> <li>'community' for 'snmp' application (when creating SNMPv1 and SNMPv2 users).</li> <li>'usm' and 'community' for 'snmp' application (when creating SNMPv3 users).</li> <li>'password' for 'service-processor' application.</li> <li>'password', 'publickey', 'domain', 'nsswitch' for 'ssh' application.</li> </ul> Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comments for the user account. The length of comment should be less than or equal to 128 charaters. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-locked>  =>   B<boolean, optional>

=begin html

<br>Account Locked Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-ns-switch-group>  =>   B<boolean, optional>

=begin html

<br>Whether the added group is ns-switch group or not. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<password-hash-algorithm>  =>   B<string, optional>

=begin html

<br>This optionally specifies password hash algorithm used to encrypt user's password. The default value is 'sha512'. Possible values: <ul> <li>sha512</li> <li>sha256</li> <li>md5</li> </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-switch-ipaddress>  =>   B<string, optional>

=begin html

<br>This optionally specifies the IP Address of the remote switch. The remote switch could be a cluster switch monitored by Cluster Switch Health Monitor (CSHM) or a Fiber Channel (FC) switch monitored by Metro Cluster Health Monitor (MCC-HM). This is applicable only for a remote SNMPv3 user i.e. only if user is a remote (non-local) user, application is snmp and authentication-method is usm (SNMP user security model). Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<role-name>  =>   B<string, optional>

=begin html

<br>The profile/role to be associated with the user. The default value is 'admin' for Admin Vserver. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<second-authentication-method>  =>   B<string, optional>

=begin html

<br>second authentication method for ssh application. Possible values: 'none', 'password' and 'publickey'. <ul> <li>'none'.</li> <li>'password'.</li> <li>'publickey'.</li> </ul> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Name of the User or Group. When creating a SNMPv1 or SNMPv2 user with 'snmp' application and 'community' authentication-method, the user name is the community string. The Active Directory or LDAP/NIS group name can be specified as user name respectively with 'domain' or 'nsswitch' authentication-method and 'ontapi' or 'ssh' application. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 security-login-delete-iter-info

=begin html

Information about the deletion operation that was attempted/performed against security login account object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<security-key>  =>   B<L<"security-login-account-info">>

=begin html

<br>The keys for the security login account object to which the deletion applies.

=end html

=back



=head2 security-login-expire-password-iter-info

=begin html

Information about the operation that was attempted/performed against security object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<security-key>  =>   B<L<"security-login-password-user-info">>

=begin html

<br>The keys for the security object to which the operation applies.

=end html

=back



=head2 security-login-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against security login account object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<security-key>  =>   B<L<"security-login-account-info">>

=begin html

<br>The keys for the security login account object to which the modify operation applies.

=end html

=back



=head2 security-login-password-user-info

=begin html

Information of users with password authentication method When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<password-hash-algorithm>  =>   B<string, optional>

=begin html

<br>Password Hash Function Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<user-name>  =>   B<string, optional>

=begin html

<br>Username Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 security-login-role-config-info

=begin html

User role configuration information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<account-expiry-time>  =>   B<string, optional>

=begin html

<br>This optionally specifies the expiration period of user accounts. The default setting is 2^32-1 meaning that no accounts will be marked for expiration. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<account-inactive-limit>  =>   B<string, optional>

=begin html

<br>This optionally specifies the maximum duration of inactivity leading to expiration of user account. The default setting is 2^32-1, meaning that no account will expire based on inactivity. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<change-password-duration-in-days>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the number of days that must pass between password changes. The default setting is 0 (zero) meaning the user is allowed to change the password immediately. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<delay-after-failed-login>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the delay after each failed login attempt in seconds. Default is 4 secs. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<last-passwords-disallowed-count>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the number of previous passwords that are disallowed for reuse. The default setting is 6. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<lockout-duration>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the number of days to lock the account if maximum number of failed attempts occur. Default is 0. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-failed-login-attempts>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the maximum number of invalid login attempts after which the account gets locked. Default is 0. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<min-passwd-specialchar>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum special characters required in password. The default setting is no special chars i.e. 0. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<min-password-size>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum length of the password. Possible values range from 3 to 64 characters. The default setting is 8 characters. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<min-username-size>  =>   B<integer, optional>

=begin html

<br>The minimum length of the user name. Possible values range from 3 to 16 characters. The default setting is 3 characters. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<passwd-expiry-warn-time>  =>   B<string, optional>

=begin html

<br>If configured, this optionally specifies when the user starts receiving warning messages regarding upcoming password expiry. The default setting is 2^32-1. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<passwd-min-digits>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum number of digits required in the password. The default setting is 0. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<passwd-min-lowercase-chars>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum number of lowercase alphabetic characters required in the password. The default setting is 0. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<passwd-min-uppercase-chars>  =>   B<integer, optional>

=begin html

<br>This optionally specifies the minimum number of uppercase alphabetic characters required in the password. The default setting is 0. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<password-expiration-duration>  =>   B<string, optional>

=begin html

<br>This optionally specifies the password expiry in days. A value of 0 means it expiries now. Default is 2^32-1 (ie., never expire). Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<require-initial-password-update>  =>   B<boolean, optional>

=begin html

<br>This optionally specifies to change the password upon first-login to the storage controller from SSH or serial-console. Default is false. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<require-password-alpha-numeric>  =>   B<boolean, optional>

=begin html

<br>If this field is set it specifies that the password must have atleast 1 alpha and 1 numeric character. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<require-username-alpha-numeric>  =>   B<boolean, optional>

=begin html

<br>If this field is set it specifies that the username must have atleast 1 alpha and 1 numeric character. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<role-name>  =>   B<string, optional>

=begin html

<br>Name of the role. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 security-login-role-config-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against security login roleconfig object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<security-key>  =>   B<L<"security-login-role-config-info">>

=begin html

<br>The keys for the security login roleconfig object to which the modify operation applies.

=end html

=back



=head2 security-login-role-delete-iter-info

=begin html

Information about the deletion operation that was attempted/performed against security login role object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<security-key>  =>   B<L<"security-login-role-info">>

=begin html

<br>The keys for the security login role object to which the deletion applies.

=end html

=back



=head2 security-login-role-info

=begin html

User role information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<access-level>  =>   B<string, optional>

=begin html

<br>Access level for the role. Possible values: 'none', 'readonly', 'all'. The default value is 'all'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<command-directory-name>  =>   B<string, optional>

=begin html

<br>The command or command directory to which the role has an access. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<role-name>  =>   B<string, optional>

=begin html

<br>Name of the role. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<role-query>  =>   B<string, optional>

=begin html

<br>A query for the role. The query must apply to the specified command or directory name. Example: The command is 'volume show' and the query is '-volume vol1'. The query is applied to the command resulting in populating only the volumes with name vol1. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 security-login-role-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against security login role object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<security-key>  =>   B<L<"security-login-role-info">>

=begin html

<br>The keys for the security login role object to which the modify operation applies.

=end html

=back



=head2 security-protocol-info

=begin html

Security protocol fields When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<application>  =>   B<string, optional>

=begin html

<br>Name of the application.Possible values: <ul> <li>'rsh'</li> <li>'telnet'</li> <ul>. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>To enable or disable application. Attributes: non-creatable, modifiable

=end html

=back



=head2 security-protocol-ssh-info

=begin html

Security protocol ssh fields When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<connections-per-second>  =>   B<integer, optional>

=begin html

<br>Connections Per Second Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-instances>  =>   B<integer, optional>

=begin html

<br>Maximum Number of Instances Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<per-source-limit>  =>   B<integer, optional>

=begin html

<br>Per-Source Limit Attributes: non-creatable, modifiable

=end html

=back



=head2 security-ssh-info

=begin html

Provide SSH configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ciphers>  =>   B<ciphers[], optional>

=begin html

<br>List of SSH Ciphers enabled. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "aes256_xts" , <li> "aes256_ctr" , <li> "aes192_ctr" , <li> "aes128_ctr" , <li> "aes256_cbc" , <li> "aes192_cbc" , <li> "aes128_cbc" , <li> "3des_cbc" , <li> "aes128_gcm" , <li> "aes256_gcm" </ul>

=end html

=back



=over 2

=item * I<key-exchange-algorithms>  =>   B<kex-algorithms[], optional>

=begin html

<br>List of SSH key exchange algorithms enabled. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "diffie_hellman_group_exchange_sha256" , <li> "diffie_hellman_group_exchange_sha1" , <li> "diffie_hellman_group14_sha1" , <li> "diffie_hellman_group1_sha1" , <li> "ecdh_sha2_nistp256" , <li> "ecdh_sha2_nistp384" , <li> "ecdh_sha2_nistp521" , <li> "curve25519_sha256" </ul>

=end html

=back



=over 2

=item * I<mac-algorithms>  =>   B<mac-algorithms[], optional>

=begin html

<br>List of SSH MAC algorithms enabled. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "hmac_md5" , <li> "hmac_md5_96" , <li> "hmac_md5_etm" , <li> "hmac_md5_96_etm" , <li> "hmac_ripemd160" , <li> "hmac_ripemd160_etm" , <li> "hmac_sha1" , <li> "hmac_sha1_etm" , <li> "hmac_sha1_96" , <li> "hmac_sha1_96_etm" , <li> "hmac_sha2_256" , <li> "hmac_sha2_256_etm" , <li> "hmac_sha2_512" , <li> "hmac_sha2_512_etm" , <li> "umac_64" , <li> "umac_128" , <li> "umac_64_etm" , <li> "umac_128_etm" </ul>

=end html

=back



=over 2

=item * I<max-authentication-retry-count>  =>   B<integer, optional>

=begin html

<br>Maximum Authentication Retry Count. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name-data-admin, optional>

=begin html

<br>Name of Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 snmpv3-login-info

=begin html

SNMPv3 user login information for 'usm' authentication method

=end html



B<Fields>

=over 2

=item * I<authentication-password>  =>   B<string, optional>

=begin html

<br>Password for the authentication protocol. This should be minimum 8 characters long. This is required for 'md5', 'sha' and 'sha2-256' authentication protocols and not required for 'none'. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<authentication-protocol>  =>   B<string, optional>

=begin html

<br>Authentication protocol for the snmp user. Possible values: 'none', 'md5', 'sha' and 'sha2-256'. When cluster FIPS mode is on, 'sha' and 'sha2-256' are the only possible and valid values. When cluster FIPS mode is off, the default value is 'none'. When cluster FIPS mode is on, the default value is 'sha'. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<engine-id>  =>   B<hex-string, optional>

=begin html

<br>Authoritative entity's EngineID for the SNMPv3 user. This is required for creating SNMPv3 users (users for SNMPv3 INFORMs) with 'usm' authentication method only. This should be specified as a hexadecimal string. Engine ID with first bit set to 1 in first octet should have a minimum of 5 or maximum of 32 octets. Engine Id with first bit set to 0 in the first octet should be 12 octets in length. Engine Id cannot have all zeros in its address For e.g. 8000014603000000000000. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<privacy-password>  =>   B<string, optional>

=begin html

<br>Password for the privacy protocol. This should be minimum 8 characters long. This is required for 'des' and 'aes128' privacy protocols and not required for 'none'. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<privacy-protocol>  =>   B<string, optional>

=begin html

<br>Privacy protocol for the snmp user. Possible values: 'none', 'des' and 'aes128'. When cluster FIPS mode is on, 'aes128' is the only possible and valid value. When cluster FIPS mode is off, the default value is 'none'. When cluster FIPS mode is on, the default value is 'aes128'. Attributes: optional-for-create, non-modifiable

=end html

=back



=head2 certificate-ca-issued-info

=begin html

Information about issued digital certificates by Self-Signed Root CA When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<ca-serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of CA certificate. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<certificate-authority>  =>   B<string, optional>

=begin html

<br>Certificate Authority Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<common-name>  =>   B<string, optional>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<country>  =>   B<string, optional>

=begin html

<br>Name of the country. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<email-addr>  =>   B<string, optional>

=begin html

<br>Email address of administrator. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<expiration-date>  =>   B<integer, optional>

=begin html

<br>Certificate expiration date. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<locality>  =>   B<string, optional>

=begin html

<br>Name of the locality. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<organization>  =>   B<string, optional>

=begin html

<br>Name of the organization. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<organization-unit>  =>   B<string, optional>

=begin html

<br>Name of the unit. Example: IT, Finance. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<revocation-date>  =>   B<integer, optional>

=begin html

<br>Certificate revocation date. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of certificate. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>Name of the state. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Status of certificate. Attributes: required-for-create, non-modifiable Possible values: <ul> <li> "active" , <li> "revoked" </ul>

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Default value is Cserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 certificate-file-info

=begin html

Information about location of certificate files When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<certificate-authority>  =>   B<string, optional>

=begin html

<br>Certificate Authority. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<common-name>  =>   B<string, optional>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<exists>  =>   B<boolean, optional>

=begin html

<br>Certificate File Exists Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file>  =>   B<string, optional>

=begin html

<br>Type of file. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "certificate" - Public Key, <li> "key" - Private Key, <li> "crl" - Certificate Revocation List </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>The node on which the file exists. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path of the file in the file system. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<string, optional>

=begin html

<br>Protocol Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ssl" </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of certificate. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<subtype>  =>   B<string, optional>

=begin html

<br>Certificate subtype. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>Type of certificate. <p> Possible values: <ul> <li> 'server' - Server certificate, <li> 'client' - Certificate for Data ONTAP as an SSL client, <li> 'root_ca' - Self-Signed Root CA, <li> 'client_ca' - CA who signed user certificates on client, <li> 'server_ca' - CA who signed user certificates on server, <li> 'server_chain' - Intermediate certificate for server authentication </ul> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Default value is Cserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 certificate-info

=begin html

Information about a Digital Certificate When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<certificate-authority>  =>   B<string, optional>

=begin html

<br>Certificate Authority Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<common-name>  =>   B<string, optional>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<country>  =>   B<string, optional>

=begin html

<br>Name of the country. Default value is 'US'. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<email-address>  =>   B<string, optional>

=begin html

<br>Email address of administrator. Default value is empty string. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<expiration-date>  =>   B<integer, optional>

=begin html

<br>Certificate Expiration Date Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<expire-days>  =>   B<integer, optional>

=begin html

<br>Number of days until expiration. Default value is '365'. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<hash-function>  =>   B<string, optional>

=begin html

<br>Hashing function used to sign the certificate. Default value is 'sha256'. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<locality>  =>   B<string, optional>

=begin html

<br>Name of the locality Default value is empty string. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<organization>  =>   B<string, optional>

=begin html

<br>Name of the organization. Default value is empty string. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<organization-unit>  =>   B<string, optional>

=begin html

<br>Name of the unit. Example: IT, Finance. Default value is empty string. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<string, optional>

=begin html

<br>Protocol Attributes: required-for-create, non-modifiable Possible values: <ul> <li> "ssl" </ul>

=end html

=back



=over 2

=item * I<public-certificate>  =>   B<string, optional>

=begin html

<br>Public Key Certificate Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of certificate. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<size>  =>   B<string, optional>

=begin html

<br>Size of requested certificate in bits. Default value is '2048'. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<start-date>  =>   B<integer, optional>

=begin html

<br>Certificate Start Date Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>Name of the state. Default value is empty string. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<subtype>  =>   B<string, optional>

=begin html

<br>Certificate Subtype Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>Type of certificate. <p> Possible values: <ul> <li> 'server' - Server certificate, <li> 'client' - Certificate for Data ONTAP as an SSL client, <li> 'root_ca' - Self-Signed Root CA, <li> 'client_ca' - CA who signed user certificates on client, <li> 'server_ca' - CA who signed user certificates on server, <li> 'server_chain' - Intermediate certificate for server authentication </ul> Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Default value is Cserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 pubcertificate

=begin html

null

=end html



B<Fields>

=over 2

=item * None

=back



=head2 security-certificate-delete-iter-info

=begin html

Information about the deletion operation that was attempted/performed against security-certificate object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<security-certificate-key>  =>   B<L<"certificate-info">>

=begin html

<br>The keys for the security-certificate object to which the deletion applies.

=end html

=back



=head2 subtype

=begin html

Certificate subtype

=end html



B<Fields>

=over 2

=item * None

=back



=head2 uri

=begin html

null

=end html



B<Fields>

=over 2

=item * None

=back



=head2 key-id-info

=begin html

Information about AK/key ID pairs and their associated key-tags.

=end html



B<Fields>

=over 2

=item * I<key-id>  =>   B<string, optional>

=begin html

<br>Authentication Key ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-tag>  =>   B<string, optional>

=begin html

<br>Key Tag Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<restored>  =>   B<boolean, optional>

=begin html

<br>AK/Key ID Pair Present in Node's Key Table? Attributes: non-creatable, non-modifiable

=end html

=back



=head2 key-manager-certificate-info

=begin html

Information about the key manager client and server certificates When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<client-certificate-status>  =>   B<string, optional>

=begin html

<br>(DEPRECATED)-SSL Client Certificate Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-server-certificates>  =>   B<L<"server-certificate-info">[], optional>

=begin html

<br>List of key server certificates

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>(OBSOLETE)-Node Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<keymanager-certificate-type, optional>

=begin html

<br>(DEPRECATED)-SSL Certificate Type Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "client" - KMIP Client Certificate, <li> "server" - KMIP Server CA </ul>

=end html

=back



=head2 key-manager-info

=begin html

Returns Key Management Server Info connectivity status When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<key-manager-ip-address>  =>   B<string, optional>

=begin html

<br>The IP address of the key management server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-manager-server-status>  =>   B<string, optional>

=begin html

<br>The status of the given key management server. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "available" - Key server available, <li> "not_responding" - Key server is not responding, <li> "unknown" - Key server status is unknown </ul>

=end html

=back



=over 2

=item * I<key-manager-tcp-port>  =>   B<integer, optional>

=begin html

<br>The TCP port on which the key management server listens for incoming connections. The default value for this parameter is 5696. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 key-manager-query-info

=begin html

Returns key manager query result When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<key-id-count>  =>   B<integer, optional>

=begin html

<br>AK/Key ID Pair Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-ids>  =>   B<L<"key-id-info">[], optional>

=begin html

<br>Information about AK/key ID pairs and their associated key-tags.

=end html

=back



=over 2

=item * I<key-manager-ip-address>  =>   B<string, optional>

=begin html

<br>IP Address Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-manager-server-status>  =>   B<string, optional>

=begin html

<br>Command Error Code Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "available" - Key server available, <li> "not_responding" - Key server is not responding, <li> "unknown" - Key server status is unknown </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 key-manager-query-info-v2

=begin html

Returns key manager query result When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<key-id>  =>   B<string, optional>

=begin html

<br>Key ID Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-manager-ip-address>  =>   B<string, optional>

=begin html

<br>IP Address Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-manager-server-status>  =>   B<string, optional>

=begin html

<br>Command Error Code Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "available" - Key server available, <li> "not_responding" - Key server is not responding, <li> "unknown" - Key server status is unknown </ul>

=end html

=back



=over 2

=item * I<key-tag>  =>   B<string, optional>

=begin html

<br>Key Tag Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-type>  =>   B<string, optional>

=begin html

<br>Key Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "nse_ak" - Authentication Key for NSE drive, <li> "aek" - Aggregate Encryption Key, <li> "vek" - Volume Encryption Key, <li> "nek" - NVRAM Encryption Key, <li> "svm_kek" - SVM Key Encryption Key for wrapping VEK </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<restored>  =>   B<boolean, optional>

=begin html

<br>Key/Key ID Pair Present in Node's Key Table? Attributes: non-creatable, non-modifiable

=end html

=back



=head2 key-manager-restore-info

=begin html

Information about the authentication key and key ID pairs restored from a key management server When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<key-id-count>  =>   B<integer, optional>

=begin html

<br>AK/Key ID Pair Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-ids>  =>   B<L<"key-id-info">[], optional>

=begin html

<br>List of restored key IDs

=end html

=back



=over 2

=item * I<key-manager-ip-address>  =>   B<string, optional>

=begin html

<br>IP Address Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-manager-server-status>  =>   B<string, optional>

=begin html

<br>Command Error Code Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "available" - Key server available, <li> "not_responding" - Key server is not responding, <li> "unknown" - Key server status is unknown </ul>

=end html

=back



=over 2

=item * I<key-tag>  =>   B<string, optional>

=begin html

<br>Key Tag Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 keymanager-certificate-type

=begin html

client|server Possible values: <ul> <li> "client" - KMIP Client Certificate, <li> "server" - KMIP Server CA </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 keymanager-status

=begin html

Key Manager Command Error Status Possible values: <ul> <li> "ok" , <li> "error_unknown" , <li> "error_invalid_op" , <li> "error_internal" , <li> "error_operation_timeout" , <li> "error_client_cert_file_missing" , <li> "error_server_cert_missing" , <li> "error_server_connection" , <li> "error_server_duplicate" , <li> "error_server_not_found" , <li> "error_server_not_supported" , <li> "error_server_not_registered" , <li> "error_server_max" , <li> "error_server_delete_failed" , <li> "error_key_restore_completed" , <li> "error_key_restore_init" , <li> "error_key_restore_in_progress" , <li> "error_key_restore_failed" , <li> "error_key_gen_crypto_failed" , <li> "error_key_gen_hexstr_failed" , <li> "error_key_backup_failed" , <li> "error_key_duplicate_found" , <li> "error_key_del_crypto_failed" , <li> "error_kmip_bootarg_unset" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 security-key-manager-add-iter-info

=begin html

Information about the operation that was attempted/performed against security-key-manager object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<security-key-manager-key>  =>   B<L<"key-manager-info">>

=begin html

<br>The keys for the security-key-manager object to which the operation applies.

=end html

=back



=head2 security-key-manager-certificate-update-iter-info

=begin html

Information about the operation that was attempted/performed against security-key-manager object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<security-key-manager-key>  =>   B<L<"key-manager-certificate-info">>

=begin html

<br>The keys for the security-key-manager object to which the operation applies.

=end html

=back



=head2 security-key-manager-delete-iter-info

=begin html

Information about the operation that was attempted/performed against security-key-manager object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<security-key-manager-key>  =>   B<L<"key-manager-info">>

=begin html

<br>The keys for the security-key-manager object to which the operation applies.

=end html

=back



=head2 server-certificate-info

=begin html

List of key server certificates

=end html



B<Fields>

=over 2

=item * I<key-manager-ip-address>  =>   B<ip-address, optional>

=begin html

<br>(DEPRECATED)-Key Manager IP Address Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server-certificate-status>  =>   B<string, optional>

=begin html

<br>(DEPRECATED)-SSL Server Certificate Status Attributes: non-creatable, non-modifiable

=end html

=back



=head2 security-key-manager-key-info

=begin html

Display Encryption Key Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<key-id>  =>   B<string, optional>

=begin html

<br>Key Identifier Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-location>  =>   B<string, optional>

=begin html

<br>Key Location Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<key-store>  =>   B<string, optional>

=begin html

<br>Key Store Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "onboard" - Onboard Key Database, <li> "external" - External KMIP Server Key Database </ul>

=end html

=back



=over 2

=item * I<key-tag>  =>   B<string, optional>

=begin html

<br>Key Tag Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<restored>  =>   B<boolean, optional>

=begin html

<br>Restored Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-by>  =>   B<string, optional>

=begin html

<br>Used By Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "nse_ak" - Authentication Key for NSE drive, <li> "aek" - Aggregate Encryption Key, <li> "vek" - Volume Encryption Key, <li> "nek" - NVRAM Encryption Key, <li> "svm_kek" - SVM Key Encryption Key for wrapping VEK </ul>

=end html

=back



=head2 security-session-kill-cli-iter-info

=begin html

Information about the operation that was attempted/performed against security-session object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<security-session-key>  =>   B<L<"session-running-stats-info">>

=begin html

<br>The keys for the security-session object to which the operation applies.

=end html

=back



=head2 session-application-limits-info

=begin html

Session Application Limits When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<application>  =>   B<string, optional>

=begin html

<br>The name of the application for this limit. An application name of '-default-' specifies the default application limit for any application. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) for this application limit. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and application. Attributes: required-for-create, modifiable

=end html

=back



=head2 session-application-stats-info

=begin html

Session Application Stats When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<active>  =>   B<integer, optional>

=begin html

<br>The number of sessions that are currently active. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<application>  =>   B<string, optional>

=begin html

<br>The name of the calling application. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<average-time>  =>   B<integer, optional>

=begin html

<br>The average time spent on a request. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have been blocked due to confiugred limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests blocked due to configured limits. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<failed-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have failed for any reason, including if they were blocked due to configured limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failed-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests that failed for any reason, including if they were blocked due to configured limits. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<idle-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last session ended. This is only present when there are no active sessions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<last-active-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last session started. This is only present when there are active sessions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time>  =>   B<integer, optional>

=begin html

<br>The time (in milliseconds) that the last request took. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-active>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrently active sessions. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The configured limit that is used to control requests for the pspecified keys. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-time>  =>   B<integer, optional>

=begin html

<br>The maximum time (in milliseconds) that a request took. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The name of the node that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<success-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have succeeded. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-requests>  =>   B<integer, optional>

=begin html

<br>The total number of requests received. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-seconds>  =>   B<integer, optional>

=begin html

<br>The total time (in seconds) that has been consumed by all completed requests. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 session-default-limits-info

=begin html

Session Default Limits When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<category>  =>   B<session-limit-type, optional>

=begin html

<br>The session type for this default limit. The following categories are defined: <ul> <li>'application': Identifies the default limit for any single application</li> <li>'location': Identifies the default limit for any single location</li> <li>'request': Identifies the default limit for any single request type</li> <li>'user': Identifies the default limit for any single user</li> <li>'vserver': Identifies the default limit for any single Vserver</li> </ul> Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) for this default limit. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and category. Attributes: required-for-create, modifiable

=end html

=back



=head2 session-if-type

=begin html

Session Interface Type

=end html



B<Fields>

=over 2

=item * None

=back



=head2 session-limit-type

=begin html

Session Limit Type

=end html



B<Fields>

=over 2

=item * None

=back



=head2 session-location-limits-info

=begin html

Session Location Limits When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) for this application limit. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>The IPspace from which the client location is seen. If not specified, changes are made in the 'Default' IPspace. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<location>  =>   B<string, optional>

=begin html

<br>A textual identifier indicating the client location. This is either the IP address of the external client, or 'console' or 'localhost' for console or localhost connections. A location name of '-default-' specifies the default location limit for any location. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and location. Attributes: required-for-create, modifiable

=end html

=back



=head2 session-location-stats-info

=begin html

Session Location Stats When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<active>  =>   B<integer, optional>

=begin html

<br>The number of sessions that are currently active. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-time>  =>   B<integer, optional>

=begin html

<br>The average time spent on a request. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have been blocked due to confiugred limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests blocked due to configured limits. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<failed-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have failed for any reason, including if they were blocked due to configured limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failed-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests that failed for any reason, including if they were blocked due to configured limits. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<idle-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last session ended. This is only present when there are no active sessions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>The IPspace from which the client location is seen. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<last-active-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last session started. This is only present when there are active sessions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time>  =>   B<integer, optional>

=begin html

<br>The time (in milliseconds) that the last request took. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<location>  =>   B<string, optional>

=begin html

<br>A textual identifier indicating the client location. This is either the IP address of the external client, or 'console' or 'localhost' for console or localhost connections. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<max-active>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrently active sessions. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The configured limit that is used to control requests for the pspecified keys. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-time>  =>   B<integer, optional>

=begin html

<br>The maximum time (in milliseconds) that a request took. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The name of the node that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<success-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have succeeded. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-requests>  =>   B<integer, optional>

=begin html

<br>The total number of requests received. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-seconds>  =>   B<integer, optional>

=begin html

<br>The total time (in seconds) that has been consumed by all completed requests. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 session-request-limits-info

=begin html

Session Request Limits When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) for this application limit. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and request type. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<request>  =>   B<string, optional>

=begin html

<br>The name of the request for this limit. A request name of '-default-' specifies the default request limit for any request type. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 session-request-stats-info

=begin html

Session Location Stats When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<active>  =>   B<integer, optional>

=begin html

<br>The number of requests that are currently active. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-time>  =>   B<integer, optional>

=begin html

<br>The average time spent on a request. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have been blocked due to confiugred limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests blocked due to configured limits. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<failed-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have failed for any reason, including if they were blocked due to configured limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failed-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests that failed for any reason, including if they were blocked due to configured limits. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<idle-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last request completed. This is only present when there are no active requests. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<last-active-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last request started. This is only present when there are active requests. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time>  =>   B<integer, optional>

=begin html

<br>The time (in milliseconds) that the last request took. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-active>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrently active requests. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The configured limit that is used to control requests for the pspecified keys. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-time>  =>   B<integer, optional>

=begin html

<br>The maximum time (in milliseconds) that a request took. Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The name of the node that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<request>  =>   B<string, optional>

=begin html

<br>The name of the request that was issued. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<success-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have succeeded. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-requests>  =>   B<integer, optional>

=begin html

<br>The total number of requests received. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-seconds>  =>   B<integer, optional>

=begin html

<br>The total time (in seconds) that has been consumed by all completed requests. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 session-running-stats-info

=begin html

Session Location Stats When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<active-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last request started. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<application>  =>   B<string, optional>

=begin html

<br>The name of the calling application. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failed-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests that failed for any reason, including if they were blocked due to configured limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<idle-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last request completed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) that is processing the session. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>The IPspace from which the client location is seen. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time>  =>   B<integer, optional>

=begin html

<br>The time (in milliseconds) that the last request took on this active session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<location>  =>   B<string, optional>

=begin html

<br>A textual identifier indicating the client location. This is either the IP address of the external client, or 'console' or 'localhost' for console or localhost connections. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-time>  =>   B<integer, optional>

=begin html

<br>The maximum time (in milliseconds) that a request took on this active session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The name of the node that is processing the session. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<request>  =>   B<string, optional>

=begin html

<br>The request input that is currently being handled by the session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-id>  =>   B<integer, optional>

=begin html

<br>A monotonically increasing number for each node that helps make each session uniquely identifiable. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<integer, optional>

=begin html

<br>The start time of the current active session. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<session-state, optional>

=begin html

<br>The state (pending, active, or idle) of the session. The state is 'pending' if it hit a session limit and the session is waiting for another session to end. The state is 'idle' for CLI sessions that are waiting at the command prompt. The state is 'active' if the session is actively working on a request. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "pending" , <li> "active" , <li> "idle" </ul>

=end html

=back



=over 2

=item * I<total-requests>  =>   B<integer, optional>

=begin html

<br>The total number of requests received so far on this active session. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-seconds>  =>   B<integer, optional>

=begin html

<br>The total time (in seconds) that has been consumed by all completed requests. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>The name of the authenticated user that originated this request. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid, optional>

=begin html

<br>The name of the Vserver that originated this request. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 session-state

=begin html

pending|active|idle Possible values: <ul> <li> "pending" , <li> "active" , <li> "idle" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 session-user-limits-info

=begin html

Session User Limits When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) for this application limit. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface, Vserver, and user. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>The name of the authenticated user for this limit. A user name of '-default-' specifies the default user limit for the specified Vserver. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid, optional>

=begin html

<br>The name of the Vserver for this limit. The 'Cluster' Vserver is used to specify the default for all Vservers. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 session-user-stats-info

=begin html

Session User Stats When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<active>  =>   B<integer, optional>

=begin html

<br>The number of sessions that are currently active. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-time>  =>   B<integer, optional>

=begin html

<br>The average time spent on a request. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have been blocked due to confiugred limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests blocked due to configured limits. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<failed-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have failed for any reason, including if they were blocked due to configured limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failed-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests that failed for any reason, including if they were blocked due to configured limits. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<idle-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last session ended. This is only present when there are no active sessions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<last-active-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last session started. This is only present when there are active sessions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time>  =>   B<integer, optional>

=begin html

<br>The time (in milliseconds) that the last request took. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-active>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrently active sessions. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The configured limit that is used to control requests for the pspecified keys. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-time>  =>   B<integer, optional>

=begin html

<br>The maximum time (in milliseconds) that a request took. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The name of the node that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<success-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have succeeded. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-requests>  =>   B<integer, optional>

=begin html

<br>The total number of requests received. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-seconds>  =>   B<integer, optional>

=begin html

<br>The total time (in seconds) that has been consumed by all completed requests. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>The name of the authenticated user that originated this request. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid, optional>

=begin html

<br>The name of the Vserver that originated this request. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 session-vserver-limits-info

=begin html

Session Vserver Limits When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) for this application limit. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrent sessions allowed for this interface and Vserver. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid, optional>

=begin html

<br>The name of the Vserver for this limit. The 'Cluster' Vserver is used to specify the default for all Vservers. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 session-vserver-stats-info

=begin html

Session Vserver Stats When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<active>  =>   B<integer, optional>

=begin html

<br>The number of sessions that are currently active. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<average-time>  =>   B<integer, optional>

=begin html

<br>The average time spent on a request. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have been blocked due to confiugred limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocked-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests blocked due to configured limits. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<failed-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have failed for any reason, including if they were blocked due to configured limits. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failed-requests>  =>   B<integer, optional>

=begin html

<br>The number of requests that failed for any reason, including if they were blocked due to configured limits. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<idle-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last session ended. This is only present when there are no active sessions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<interface>  =>   B<session-if-type, optional>

=begin html

<br>The interface (cli or ontapi) that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<last-active-seconds>  =>   B<integer, optional>

=begin html

<br>The time (in seconds) since the last session started. This is only present when there are active sessions. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-time>  =>   B<integer, optional>

=begin html

<br>The time (in milliseconds) that the last request took. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-active>  =>   B<integer, optional>

=begin html

<br>The maximum number of concurrently active sessions. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<max-active-limit>  =>   B<integer, optional>

=begin html

<br>The configured limit that is used to control requests for the pspecified keys. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-time>  =>   B<integer, optional>

=begin html

<br>The maximum time (in milliseconds) that a request took. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The name of the node that processed the requests. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<success-percent>  =>   B<integer, optional>

=begin html

<br>The percentage of requests that have succeeded. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-requests>  =>   B<integer, optional>

=begin html

<br>The total number of requests received. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-seconds>  =>   B<integer, optional>

=begin html

<br>The total time (in seconds) that has been consumed by all completed requests. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserverid, optional>

=begin html

<br>The name of the Vserver that originated this request. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 vserver-ssl-info

=begin html

Information about SSL authentication for a Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<certificate-authority>  =>   B<string, optional>

=begin html

<br>Issuing Certificate Authority (CA) of server certificate. This field is required when you specify server-enabled as true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<certificate-serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of certificate in hexadecimal format. This field is required when you specify server-enabled as true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<client-authentication-enabled>  =>   B<boolean, optional>

=begin html

<br>Informs if SSL Client Authentication is enabled. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<common-name>  =>   B<string, optional>

=begin html

<br>Represents the domain name in FQDN form that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). This field is optional when you specify server-enabled as true. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ocsp-default-responder>  =>   B<string, optional>

=begin html

<br>This parameter sets the default OCSP responder to use. If the ???ocsp-override-responder??? parameter is not enabled, the URI given will be used only if no responder URI is specified in the certificate being verified. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ocsp-enabled>  =>   B<boolean, optional>

=begin html

<br>This parameter enables OCSP validation of the client certificate chain. If this parameter is enabled, certificates in the client's certificate chain will be validated against an OCSP responder after normal verification (including CRL checks) have taken place. The OCSP responder used is either extracted from the certificate itself, or derived by configuration. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ocsp-max-response-age>  =>   B<string, optional>

=begin html

<br>This parameter sets the maximum allowable age (freshness), in seconds, for OCSP responses. The default value (unlimited) does not enforce a maximum age, which means that OCSP responses are considered valid as long as their expiration date field is in the future. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ocsp-max-response-time-skew>  =>   B<time-interval, optional>

=begin html

<br>This parameter sets the maximum allowable time difference for OCSP responses (when validating their ThisUpdate and NextUpdate fields). Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ocsp-override-responder>  =>   B<boolean, optional>

=begin html

<br>This parameter forces the configured default OCSP responder to be used during OCSP certificate validation, regardless of whether the certificate being validated references an OCSP responder. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ocsp-responder-timeout>  =>   B<time-interval, optional>

=begin html

<br>This parameter sets the timeout for queries to OCSP responders. Specify zero for the minimum possible timeout. The default value is 10 seconds. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ocsp-use-request-nonce>  =>   B<boolean, optional>

=begin html

<br>This parameter determines whether queries to OCSP responders should contain a NONCE or not. By default, a query NONCE is always used and checked against the response's one. When the responder does not use NONCEs (e.g. Microsoft OCSP Responder), this parameter should be disabled. Note: A NONCE is a unique identifier included in each OCSP request / response to prevent a replay attack. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<server-authentication-enabled>  =>   B<boolean, optional>

=begin html

<br>Informs if SSL Server Authentication is enabled. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 service-processor-api-service

=begin html

Service Processor API service type When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is SP API Service Enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<integer, optional>

=begin html

<br>SP API Service Port Attributes: non-creatable, modifiable

=end html

=back



=head2 service-processor-asup-info

=begin html

Service Processor AutoSupport Configuration Applies within the Cluster. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>SP AutoSupport Is-enabled state Attributes: non-creatable, modifiable

=end html

=back



=head2 service-processor-image

=begin html

Service processor firmware information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<firmware-image>  =>   B<sp-fw-type, optional>

=begin html

<br>Is this image primary or backup firmware for the device Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "primary" - Firmware which the device boots into by default, <li> "backup" - Firmware which the device boots into if primary fails </ul>

=end html

=back



=over 2

=item * I<is-autoupdate-enabled>  =>   B<boolean, optional>

=begin html

<br>Is firmware autoupdate enabled on the device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-current>  =>   B<boolean, optional>

=begin html

<br>Is device currently booted from this image Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-update-status>  =>   B<sp-pass-fail, optional>

=begin html

<br>Did last firmware install on the device pass or fail Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "failed" - Operation failed, <li> "passed" - Operation was successful </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node on which the device is located Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<sp-fw-status, optional>

=begin html

<br>Status of this firmware image Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "installed" - Firmware installed and in normal state, <li> "corrupt" - Firmware is corrupt, <li> "updating" - Firmware is undergoing a manual update, <li> "auto_updating" - Firmware is undergoing an automatic update, <li> "none" - Firmware status not known </ul>

=end html

=back



=over 2

=item * I<type>  =>   B<sp-type, optional>

=begin html

<br>Type of device Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "sp" - Service Processor, <li> "none" - NONE, <li> "bmc" - BMC </ul>

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Firmware version in this image Attributes: non-creatable, non-modifiable

=end html

=back



=head2 service-processor-image-update-progress-info

=begin html

Service processor image update progress information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<end-time>  =>   B<datetime, optional>

=begin html

<br>Time when the firmware finished (if complete, else empty) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-in-progress>  =>   B<boolean, optional>

=begin html

<br>Is a firmware update in progress Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node on which the device is located Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percent-done>  =>   B<integer, optional>

=begin html

<br>Current progress of the firmware update percentage Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<datetime, optional>

=begin html

<br>Time when the firmware update started Attributes: non-creatable, non-modifiable

=end html

=back



=head2 service-processor-info

=begin html

Service processor information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<device-revision>  =>   B<string, optional>

=begin html

<br>Device revision. Applicable for RLM only Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<firmware-version>  =>   B<string, optional>

=begin html

<br>Firmware version installed on the device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ip-address>  =>   B<ip-address[], optional>

=begin html

<br>Public IP addresses of the device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ipmi-version>  =>   B<string, optional>

=begin html

<br>IPMI version supported by the device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-autoupdate-enabled>  =>   B<boolean, optional>

=begin html

<br>Is firmware autoupdate enabled for the device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-ip-configured>  =>   B<boolean, optional>

=begin html

<br>Is network configured on the device to have at least one public IP address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mac-address>  =>   B<mac-address, optional>

=begin html

<br>MAC address of the device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node on which the device is located Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<part-num>  =>   B<string, optional>

=begin html

<br>Part number of the device. Applicable for RLM only Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-num>  =>   B<string, optional>

=begin html

<br>Serial number of the device. Applicable for RLM only Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<sp-status-type, optional>

=begin html

<br>Current status of the device Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "online" - Device is up and running fine, <li> "offline" - Device is out of communication, <li> "sp_daemon_offline" - Daemon which communicates with the device is not running, <li> "node_offline" - Node that hosts the device is out of communication, <li> "degraded" - Node that hosts the device is missing heartbeat signals from the device, <li> "rebooting" - Device is rebooting, <li> "unknown" - Device status could not be determined, <li> "updating" - BMC is updating </ul>

=end html

=back



=over 2

=item * I<type>  =>   B<sp-type, optional>

=begin html

<br>Type of device Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "sp" - Service Processor, <li> "none" - NONE, <li> "bmc" - BMC </ul>

=end html

=back



=head2 service-processor-log-info

=begin html

Service Processor Log Allocation Info. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The host node name where the log files are located Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-node>  =>   B<string, optional>

=begin html

<br>The node name the log files are collected from Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<seqlist>  =>   B<integer[], optional>

=begin html

<br>The sequence numbers of the log files Attributes: non-creatable, non-modifiable

=end html

=back



=head2 service-processor-network-info

=begin html

Service Processor Network Configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address-type>  =>   B<sp-ip-address-type, optional>

=begin html

<br>Network configuration that is being addressed i.e. IPv4 or IPv6 Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "ipv4" - Internet Protocol version 4, <li> "ipv6" - Internet Protocol version 6 </ul>

=end html

=back



=over 2

=item * I<device-type>  =>   B<sp-type, optional>

=begin html

<br>Type of device Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "sp" - Service Processor, <li> "none" - NONE, <li> "bmc" - BMC </ul>

=end html

=back



=over 2

=item * I<dhcp>  =>   B<sp-dhcp-status, optional>

=begin html

<br>DHCP status for the configuration Attributes: non-creatable, modifiable Possible values: <ul> <li> "v4" - DHCP for IPv4, <li> "none" - DHCP not enabled </ul>

=end html

=back



=over 2

=item * I<gateway-ip-address>  =>   B<ip-address, optional>

=begin html

<br>IP address of the network gateway Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ip-address>  =>   B<ip-address, optional>

=begin html

<br>IP address currently held by the device Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is this address configuration enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-ipv6-ra-enabled>  =>   B<boolean, optional>

=begin html

<br>IPv6 RA enable/disable in a node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-local-ip-address>  =>   B<ip-address, optional>

=begin html

<br>Link local IP address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-status>  =>   B<sp-link-status, optional>

=begin html

<br>Current status of the underlying network link used by this address Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "up" - Link is connected, <li> "down" - Link is severed, <li> "disabled" - Link has been disabled by user, <li> "unknown" - Link status is no known </ul>

=end html

=back



=over 2

=item * I<mac-address>  =>   B<mac-address, optional>

=begin html

<br>MAC address of the device Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netmask>  =>   B<ip-address, optional>

=begin html

<br>Netmask for the device Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node on which the device is located Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<prefix-length>  =>   B<integer, optional>

=begin html

<br>Prefix length of subnet mask Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<router-ip-address>  =>   B<ip-address, optional>

=begin html

<br>Router assigned IP address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<setup-failure-reason>  =>   B<sp-setup-errcodes, optional>

=begin html

<br>SP network setup failure reason Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "success" - No error, <li> "subnet_out_of_address" - Run out of IP address, <li> "invalid_subnet" - Invalid subnet, <li> "other_error" - Other errors </ul>

=end html

=back



=over 2

=item * I<setup-status>  =>   B<sp-setup-status, optional>

=begin html

<br>SP network configuration status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "not_setup" - Configuration not done, <li> "succeeded" - Configuration succeeded, <li> "in_progress" - Configuration in progress, <li> "failed" - Configuration failed </ul>

=end html

=back



=over 2

=item * I<status>  =>   B<sp-status-type, optional>

=begin html

<br>Current status of the device Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "online" - Device is up and running fine, <li> "offline" - Device is out of communication, <li> "sp_daemon_offline" - Daemon which communicates with the device is not running, <li> "node_offline" - Node that hosts the device is out of communication, <li> "degraded" - Node that hosts the device is missing heartbeat signals from the device, <li> "rebooting" - Device is rebooting, <li> "unknown" - Device status could not be determined, <li> "updating" - BMC is updating </ul>

=end html

=back



=over 2

=item * I<subnet-name>  =>   B<string, optional>

=begin html

<br>Subnet Name Attributes: non-creatable, non-modifiable

=end html

=back



=head2 service-processor-network-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against service-processor object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<service-processor-key>  =>   B<L<"service-processor-network-info">>

=begin html

<br>The keys for the service-processor object to which the modify operation applies.

=end html

=back



=head2 service-processor-ssh-info

=begin html

Service Processor SSH Allowed IP addresses Configuration applied across the Cluster When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<allowed-addresses>  =>   B<ip-and-mask[], optional>

=begin html

<br>List of Allowed IP Addresses. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 sp-dhcp-status

=begin html

Possible configurations for DHCP protocol Possible values: <ul> <li> "v4" - DHCP for IPv4, <li> "none" - DHCP not enabled </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-fw-status

=begin html

Possible states the firmware of a SP/RLM device can be in Possible values: <ul> <li> "installed" - Firmware installed and in normal state, <li> "corrupt" - Firmware is corrupt, <li> "updating" - Firmware is undergoing a manual update, <li> "auto_updating" - Firmware is undergoing an automatic update, <li> "none" - Firmware status not known </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-fw-type

=begin html

Choices for the two firmware images installed on a SP/RLM device Possible values: <ul> <li> "primary" - Firmware which the device boots into by default, <li> "backup" - Firmware which the device boots into if primary fails </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-fw-update-type

=begin html

Possible choices for a firmware update type Possible values: <ul> <li> "serial_full" - Replace the fimrware completely with new package using package interface., <li> "serial_differential" - Replace only parts of firmware which have changed in new package using package interface., <li> "network_full" - Replace the fimrware completely with new package using network interface., <li> "full" - Deprecated version of serial-full., <li> "differential" - Deprecated version of serial-differential. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-ip-address-type

=begin html

Choices for which IP version to use Possible values: <ul> <li> "ipv4" - Internet Protocol version 4, <li> "ipv6" - Internet Protocol version 6 </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-link-status

=begin html

Possible states for the underlying physical link for a network insterface Possible values: <ul> <li> "up" - Link is connected, <li> "down" - Link is severed, <li> "disabled" - Link has been disabled by user, <li> "unknown" - Link status is no known </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-pass-fail

=begin html

Possible completion states of a task Possible values: <ul> <li> "failed" - Operation failed, <li> "passed" - Operation was successful </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-setup-errcodes

=begin html

SP network setup error codes Possible values: <ul> <li> "success" - No error, <li> "subnet_out_of_address" - Run out of IP address, <li> "invalid_subnet" - Invalid subnet, <li> "other_error" - Other errors </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-setup-status

=begin html

SP network setup status Possible values: <ul> <li> "not_setup" - Configuration not done, <li> "succeeded" - Configuration succeeded, <li> "in_progress" - Configuration in progress, <li> "failed" - Configuration failed </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-status-type

=begin html

Possible states a Service Processor or Remote LAN Module can be in Possible values: <ul> <li> "online" - Device is up and running fine, <li> "offline" - Device is out of communication, <li> "sp_daemon_offline" - Daemon which communicates with the device is not running, <li> "node_offline" - Node that hosts the device is out of communication, <li> "degraded" - Node that hosts the device is missing heartbeat signals from the device, <li> "rebooting" - Device is rebooting, <li> "unknown" - Device status could not be determined, <li> "updating" - BMC is updating </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sp-subnet-name-info

=begin html

Service Processor subnet name that provides IP resources for auto-configuration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<subnet-name-v4>  =>   B<string, optional>

=begin html

<br>IPv4 subnet name that provides IP resources for auto-configuration. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<subnet-name-v6>  =>   B<string, optional>

=begin html

<br>IPv6 subnet name that provides IP resources for auto-configuration. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 sp-type

=begin html

Types of remote management device that can be found in a node Possible values: <ul> <li> "sp" - Service Processor, <li> "none" - NONE, <li> "bmc" - BMC </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 alternate-control-path-info

=begin html

Available information on the alternate control path (ACP) to the shelf.

=end html



B<Fields>

=over 2

=item * I<acp-element-no>  =>   B<integer>

=begin html

<br>ACP element number

=end html

=back



=over 2

=item * I<controller-acp-connection-status>  =>   B<string, optional>

=begin html

<br>Storage controller's ACP connection status. Possible values: "no_connectivity", "partial_connectivity", "full_connectivity", "additional_connectivity", "unknown", "not_available", "not_applicable".

=end html

=back



=over 2

=item * I<controller-acp-domain>  =>   B<string, optional>

=begin html

<br>This fields presents the ACP's domain on the storage controller. Example: 255.255.255.0

=end html

=back



=over 2

=item * I<controller-acp-ethernet-port>  =>   B<string, optional>

=begin html

<br>This fields presents the ACP's ethernet port on the storage controller. Example: e0a, e4d.

=end html

=back



=over 2

=item * I<controller-acp-ip-address>  =>   B<string, optional>

=begin html

<br>This fields presents the ACP's IP address on the storage controller. Example: 172.168.4.4

=end html

=back



=over 2

=item * I<controller-acp-netmask>  =>   B<string, optional>

=begin html

<br>This fields presents the ACP's netmask on the storage controller. Example: 172.168.4.1

=end html

=back



=over 2

=item * I<is-acp-element-error>  =>   B<boolean, optional>

=begin html

<br>Indicates if there has been a failure in the ACP block. Will not be present if an ACP element is not installed.

=end html

=back



=over 2

=item * I<is-acp-element-not-installed>  =>   B<boolean, optional>

=begin html

<br>Indicates if ACP element has been installed. Will be present only if the element is not installed, in which case no further information will be provided.

=end html

=back



=over 2

=item * I<is-controller-acp-active>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the ACP function is active on the storage controller. Inactive ACP unually means there is configuration or connection error that needs to be resolved.

=end html

=back



=over 2

=item * I<is-controller-acp-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates if ACP functionality is enabled in the storage controller. If the ACP funtion is not enalbed the following fields will not be presented.

=end html

=back



=over 2

=item * I<module-firmware-revision>  =>   B<string, optional>

=begin html

<br>Firmware version of the ACP controller. This field will not be present if the value is unknown or not available, or if an ACP element is not installed.

=end html

=back



=over 2

=item * I<module-ip-address>  =>   B<string, optional>

=begin html

<br>IP address that is used by this ACP shelf module. This field will not be present if the IP address is unknown or not available, or if an ACP element is not installed.

=end html

=back



=over 2

=item * I<module-mac-address>  =>   B<string, optional>

=begin html

<br>MAC address that is used by this module's ACPP. This field will not be present if the MAC address is unknown or not available, or if an ACP element is not installed.

=end html

=back



=over 2

=item * I<module-name>  =>   B<string, optional>

=begin html

<br>Shelf module for this ACPP. Possible Values: "A", "B" This field will not be present if it is unknown or not available, or if an ACP element is not installed.

=end html

=back



=over 2

=item * I<module-reset-count>  =>   B<integer, optional>

=begin html

<br>Number of times the corresponding shelf I/O module has been reset using this ACPP. This field will not be present if it is unknown or not available, or if an ACP element is not installed.

=end html

=back



=over 2

=item * I<module-status>  =>   B<string, optional>

=begin html

<br>ACP status of this shelf module. This field will not be present if it is unknown or not available, or if an ACP element is not installed. Possible values: "active", "inactive_not_ready", "inactive_waiting_for_inband_info", "inactive_no_inband_connectivity", "inactive_not_responding", "inactive_updating_firmware", "inactive_initializing", "inactive_unknown".

=end html

=back



=over 2

=item * I<module-status-time>  =>   B<string, optional>

=begin html

<br>Time of last contact with the ACP controller. This is only valid if the value of module-status field is inactive_not_responding.

=end html

=back



=head2 ariodata-specific-info

=begin html

Vendor specific enclosure system information for Ariodata shelf.

=end html



B<Fields>

=over 2

=item * I<ariodata-serial-no>  =>   B<string>

=begin html

<br>Serial number for Ariodata shelf.

=end html

=back



=head2 bay-info

=begin html

A list of shelf bay numbers which have disks.

=end html



B<Fields>

=over 2

=item * I<drawer-bay-slot-number>  =>   B<integer, optional>

=begin html

<br>Indicates which slot in the drawer the shelf-bay belongs to. Range: [0..254]

=end html

=back



=over 2

=item * I<drawer-number>  =>   B<integer, optional>

=begin html

<br>Some shelves have drawers, drawer-number indicates which drawer the shelf-bay belongs to. Range: [0..254]

=end html

=back



=over 2

=item * I<lun>  =>   B<integer, optional>

=begin html

<br>The logical unit number within the target. This field will be present in some storage configurations. In some cases, devices with a logical unit number will have LEDs that can be affected. Range : [0..255]

=end html

=back



=over 2

=item * I<shelf-bay>  =>   B<integer>

=begin html

<br>A shelf-bay number indicates the presence of a drive in that bay. Shelf bays are numbered starting at 0 which is the right most drive bay in the shelf when viewing the shelf from the front. Range: [0..255]

=end html

=back



=head2 connector-info

=begin html

Information on cables and/or connectors connected to the shelf

=end html



B<Fields>

=over 2

=item * I<sas-connector-list>  =>   B<L<"sas-connector-info">[], optional>

=begin html

<br>Information on SAS connectors & cables.

=end html

=back



=head2 cooling-element-info

=begin html

Information on individual cooling elements (fans).

=end html



B<Fields>

=over 2

=item * I<cooling-element-is-error>  =>   B<boolean, optional>

=begin html

<br>Indicated whether cooling elements has failed or reported any errors. Will not be present if cooling element is not installed.

=end html

=back



=over 2

=item * I<cooling-element-is-not-installed>  =>   B<boolean, optional>

=begin html

<br>Indicates the cooling elements is not installed. This will only be present if the element is missing, in such case no further data for this element will be presented.

=end html

=back



=over 2

=item * I<cooling-element-number>  =>   B<integer>

=begin html

<br>Cooling element number.

=end html

=back



=over 2

=item * I<rpm>  =>   B<integer, optional>

=begin html

<br>Current RPM (revolutions per minutes) of the fan. Will not be present if RPM is not available at the time API is executed or if RPM detection hardware is not supported by the shelf or if cooling element is not installed.

=end html

=back



=head2 current-sensor-info

=begin html

Presents the electrical current sensor information, if implemented on the system.

=end html



B<Fields>

=over 2

=item * I<current-sensor-no>  =>   B<integer>

=begin html

<br>Current sensor number.

=end html

=back



=over 2

=item * I<is-sensor-error>  =>   B<boolean, optional>

=begin html

<br>Will indicate whether the sensor has encountered an error.

=end html

=back



=over 2

=item * I<is-sensor-not-installed>  =>   B<boolean, optional>

=begin html

<br>Indicates the current sensor elements is not installed. This will only be present if the element is missing, in such case no further data for this element will be presented.

=end html

=back



=over 2

=item * I<sensor-condition>  =>   B<string, optional>

=begin html

<br>A Text string describing whether the sensor-reading field is within normal operating range. This field is present only if sensor-reading field is also present. Possible values are: "overcurrent_failure", "overcurrent_warning", "normal_operating_range".

=end html

=back



=over 2

=item * I<sensor-reading>  =>   B<string, optional>

=begin html

<br>Current reading of the sensor. This field will be not be present if unable to read the sensor value properly.

=end html

=back



=head2 dcm-info

=begin html

The shelf drawer control module information (dcm).

=end html



B<Fields>

=over 2

=item * I<dcm-firmware-version>  =>   B<string, optional>

=begin html

<br>The firmware version of the dcm.

=end html

=back



=over 2

=item * I<dcm-number>  =>   B<integer>

=begin html

<br>The DCM number.

=end html

=back



=over 2

=item * I<dcm-part-number>  =>   B<string, optional>

=begin html

<br>The part number of the dcm.

=end html

=back



=over 2

=item * I<dcm-serial-number>  =>   B<string, optional>

=begin html

<br>The serial number of the dcm.

=end html

=back



=over 2

=item * I<dcm-type>  =>   B<string, optional>

=begin html

<br>The dcm type.

=end html

=back



=over 2

=item * I<dcm-vendor>  =>   B<string, optional>

=begin html

<br>The dcm vendor.

=end html

=back



=over 2

=item * I<is-dcm-error>  =>   B<boolean, optional>

=begin html

<br>Indicates whether this module has encountered an error.

=end html

=back



=over 2

=item * I<is-dcm-installed>  =>   B<boolean, optional>

=begin html

<br>Indicates the dcm for this element is installed.

=end html

=back



=head2 dongle-info

=begin html

dongle information

=end html



B<Fields>

=over 2

=item * I<disable-reason>  =>   B<string, optional>

=begin html

<br>If phy-state is "disabled", then this will give explanation as to the reason. Possible values: "manual", "no_drive", "brst_los", "los", "brst_rdd", "rdd", "brst_idd", "idd", "brst_prp", "prp", "brst_pcd", "pcd", "brst_crc", "crc", "osc", "mir", "rsrv", "man_smp", "clk_flt", "unknown".

=end html

=back



=over 2

=item * I<dongle-firmware-revision>  =>   B<string, optional>

=begin html

<br>Dongle firmware revision. Will be missing if not supported or not available.

=end html

=back



=over 2

=item * I<dongle-type>  =>   B<string, optional>

=begin html

<br>Dongle type. Possible values: "ss1300b", "sas", "sps3g", Will be missing if not supported or not available.

=end html

=back



=head2 drawer-address-map

=begin html

The shelf drawer devices address map.

=end html



B<Fields>

=over 2

=item * I<address-map>  =>   B<string>

=begin html

<br>A list of addresses assigned to this channel for the drawer on the shelf specified in the shelf-id output above.

=end html

=back



=over 2

=item * I<drawer-number>  =>   B<integer>

=begin html

<br>The DCM number.

=end html

=back



=head2 enclosure-info

=begin html

Information on the enclosure type. This information will be presented for ESH and SAS shelves only.

=end html



B<Fields>

=over 2

=item * I<enclosure-type>  =>   B<string>

=begin html

<br>Enclosure type. Possible values: "sas_expander_module", "embedded_switching_hub".

=end html

=back



=over 2

=item * I<module-list>  =>   B<L<"module-info">[]>

=begin html

<br>Information on the enclosure modules.

=end html

=back



=head2 es-electronics-info

=begin html

Information on the installed enclosure services (ES) electronics.

=end html



B<Fields>

=over 2

=item * I<es-electronics-element-no>  =>   B<integer>

=begin html

<br>Enclosure services electronics element number.

=end html

=back



=over 2

=item * I<es-electronics-is-error>  =>   B<boolean, optional>

=begin html

<br>indicates whether this enclosure services electronics has reported any errors. Will not be present if the element is not installed.

=end html

=back



=over 2

=item * I<es-electronics-is-not-installed>  =>   B<string, optional>

=begin html

<br>Indicates this enclosure services electronics is not installed. This will only be presented when the element is missing, no further data for this element will be presented.

=end html

=back



=over 2

=item * I<es-electronics-is-reporting-element>  =>   B<boolean, optional>

=begin html

<br>Indicated whether this is the element reporting. Even though there might be more than one element installed, only will be reporting at any time. Will not be present if the element is not installed.

=end html

=back



=over 2

=item * I<es-electronics-serial-no>  =>   B<string, optional>

=begin html

<br>Serial number for the enclosure services electronics. Will not be present if the element is not installed.

=end html

=back



=over 2

=item * I<es-part-number>  =>   B<string, optional>

=begin html

<br>Part number for the ES electronics. Field will be missing if the information is not available or if the element is not installed.

=end html

=back



=over 2

=item * I<es-revision>  =>   B<string, optional>

=begin html

<br>CPLD revision of the ES electronics, if applicable. This field will not be present if the information is not available, not implemented, or if the element is not installed.

=end html

=back



=over 2

=item * I<es-swap-count>  =>   B<integer, optional>

=begin html

<br>Number of times, since last boot, that this ES electronics elements has been swapped. Will not be present if the element is not installed.

=end html

=back



=over 2

=item * I<esh-list>  =>   B<L<"esh-info">[], optional>

=begin html

<br>Information on attached embedded switched hub, if any.

=end html

=back



=head2 esh-info

=begin html

Information on individual ESH modules in the shelf.

=end html



B<Fields>

=over 2

=item * I<esh-element-no>  =>   B<integer>

=begin html

<br>ESH element number of installed ESH module

=end html

=back



=over 2

=item * I<esh-is-error>  =>   B<string>

=begin html

<br>Indicates whether the ESH module has reported any errors.

=end html

=back



=head2 eurologic-specific-info

=begin html

Vendor specific enclosure system information for Eurologic shelf.

=end html



B<Fields>

=over 2

=item * I<eurologic-application-version>  =>   B<string>

=begin html

<br>Application version for Eurologic shelf.

=end html

=back



=over 2

=item * I<eurologic-backplane-byte>  =>   B<string>

=begin html

<br>Backplane byte for Eurologic shelf.

=end html

=back



=over 2

=item * I<eurologic-backplane-function>  =>   B<string>

=begin html

<br>Backplane function for Eurologic shelf.

=end html

=back



=over 2

=item * I<eurologic-backplane-id>  =>   B<string>

=begin html

<br>Backplane identifier for Eurologic shelf.

=end html

=back



=over 2

=item * I<eurologic-cabinet-id>  =>   B<string>

=begin html

<br>Cabinet id for the Eurologic shelf.

=end html

=back



=over 2

=item * I<eurologic-kernel-version>  =>   B<string>

=begin html

<br>Kernel version for Eurologic shelf.

=end html

=back



=over 2

=item * I<eurologic-serial-no>  =>   B<string, optional>

=begin html

<br>Serial number for the Eurologic shelf.

=end html

=back



=head2 module-info

=begin html

Shelf enclosure module info.

=end html



B<Fields>

=over 2

=item * I<is-module-error>  =>   B<boolean>

=begin html

<br>Indicated whether this module has encountered an error.

=end html

=back



=over 2

=item * I<is-sas-expander-master-module>  =>   B<boolean, optional>

=begin html

<br>When the value of enclosure-type field of enclosure-type-info is sas-expander-module, then this field indicates whether this module is the SAS expander master module. This field will only be present for sas-expander-module values.

=end html

=back



=over 2

=item * I<module-connector-wwn>  =>   B<string, optional>

=begin html

<br>WWN of the module connector, example "500A0980017D373F".

=end html

=back



=over 2

=item * I<module-number>  =>   B<integer>

=begin html

<br>shelf module number.

=end html

=back



=head2 phy-expander-info

=begin html

Expander PHY (physical layer) information of an individual port.

=end html



B<Fields>

=over 2

=item * I<bay-number>  =>   B<integer, optional>

=begin html

<br>Bay port number. Unique bay-number for each type of phy-type. Present when multiple phy's for a phy-type exist in the shelf, such as phy-type "disk", "P0", "P1".

=end html

=back



=over 2

=item * I<crc-error-count>  =>   B<integer>

=begin html

<br>This field presents the number of CRC errors that have been seen in any address or data frames. The value will be the count kept by the expander since either power-on or since the counts have been reset.

=end html

=back



=over 2

=item * I<dongle-data>  =>   B<L<"dongle-info">, optional>

=begin html

<br>dongle information, if there's a dongle installed. Will be missing if not supported or not available. Present for drive phy only.

=end html

=back



=over 2

=item * I<invalid-dword-count>  =>   B<integer>

=begin html

<br>The number of invalid double words seen outside of the phy reset sequence. The value will be the count kept by the expander since either power-on or since the counts have been reset.

=end html

=back



=over 2

=item * I<link-rate>  =>   B<string, optional>

=begin html

<br>If port-state is "ok", then this is a floating number, representing SAS-1.1 defined negotiated link rate value for the phy in Gb/s. Example: 3.0. For all other port states, this field will not be available.

=end html

=back



=over 2

=item * I<loss-dword-count>  =>   B<integer>

=begin html

<br>This field presents the number of times the phy has lost double-word synchronization and restarted the link reset sequence of the phy reset sequence. The value will be the count kept by the expander since either power-on or since the counts have been reset.

=end html

=back



=over 2

=item * I<pathway-timeout>  =>   B<integer>

=begin html

<br>This field the partial pathway timeout value, in microseconds, being used for the phy.

=end html

=back



=over 2

=item * I<phy-change-count>  =>   B<integer>

=begin html

<br>This field the number of times this logical phy has changed state. This count increments when the logical phy transitions from disabled to enabled. This count also increments when the logical phys transitions from enabled to disabled. The value will be the count kept by the expander since either power-on or since the counts have been reset.

=end html

=back



=over 2

=item * I<phy-number>  =>   B<integer, optional>

=begin html

<br>PHY number. Unique phy-number in the shelf, regardless of phy-type.

=end html

=back



=over 2

=item * I<phy-power-status>  =>   B<string, optional>

=begin html

<br>Current power status. Possible values: "on", "off". Will be missing if not supported or not available. Present for drive phy only.

=end html

=back



=over 2

=item * I<phy-reset-problem>  =>   B<integer>

=begin html

<br>This field presents the number of times the phy reset sequence has failed. The value will be the count kept by the expander since either power-on or since the counts have been reset.

=end html

=back



=over 2

=item * I<phy-state>  =>   B<string, optional>

=begin html

<br>State of the phy. Possible values: "rate_unknown", "disabled", "speed_negotiation_failed", "sata_oob_failed", "1.5_gbps", "3.0_gbps", "6.0_gbps", "12.0_gbps", "state_unknown",

=end html

=back



=over 2

=item * I<phy-type>  =>   B<string, optional>

=begin html

<br>PHY type. Possible values: "disk", "p0", "p1", "v255", "v99".

=end html

=back



=over 2

=item * I<port-id>  =>   B<string>

=begin html

<br>Possible values are: port id in range [0..19] or "in0", "in1", "in2", "in3", "out0", "out1", "out2", "out3", representing one of the input or output ports.

=end html

=back



=over 2

=item * I<port-state>  =>   B<string>

=begin html

<br>Current port state. Possible values are: "ok", "unkwn_lnk", "unused", "unkwn", "empty", "dis_man", "dis_smp", "dis_loswd", "dis_dispa", "dis_invwd", "dis_reset", "dis_phchg", "dis_mir", "dis_crc", "dis_clk", "dis_resv", "dis_unusd", "unknown", "no_signal",

=end html

=back



=over 2

=item * I<power-cycle-count>  =>   B<integer, optional>

=begin html

<br>This field presents the number of times the driver has been power cycled via this phy. Will be missing if not supported or not available. Present for drive phy only.

=end html

=back



=over 2

=item * I<release-count>  =>   B<integer, optional>

=begin html

<br>This field presents the number of times the driver has been released (unreserved) via this phy. Will be missing if not supported or not available. Present for drive phy only.

=end html

=back



=over 2

=item * I<reserve-count>  =>   B<integer, optional>

=begin html

<br>This field presents the number of times the driver has been reserved via this phy. Will be missing if not supported or not available. Present for drive phy only.

=end html

=back



=over 2

=item * I<running-disparity-count>  =>   B<integer>

=begin html

<br>The number of Dwords with a running disparity error seen outside the phy reset sequence. The value will be the count kept by the expander since either power-on or since the counts have been reset.

=end html

=back



=head2 port-hub-info

=begin html

Hub information for an individual port.

=end html



B<Fields>

=over 2

=item * I<clock-delta>  =>   B<integer>

=begin html

<br>The clock delta between this port in respect to ESH clock and other ports in the ESH.

=end html

=back



=over 2

=item * I<disk-bay>  =>   B<integer, optional>

=begin html

<br>If port-id is "in", "out", "aux1" or "aux2" then this is not populated, otherwise, it represents the shelf bay that the disk resides in.

=end html

=back



=over 2

=item * I<insert-count>  =>   B<integer>

=begin html

<br>Number of times this port has been inserted into the loop.

=end html

=back



=over 2

=item * I<invalid-crc-count>  =>   B<integer>

=begin html

<br>Number of times this port has seen a CRC error.

=end html

=back



=over 2

=item * I<invalid-word-count>  =>   B<integer>

=begin html

<br>Number of times this port has seen invalid FC-AL words transmitted.

=end html

=back



=over 2

=item * I<lip-count>  =>   B<integer, optional>

=begin html

<br>Lip count, number of times loop initialization primitive has been generated. This field is not available on all shelf modules.

=end html

=back



=over 2

=item * I<loop-up-count>  =>   B<integer>

=begin html

<br>Number of times this port has seen the loop come up/transition to up.

=end html

=back



=over 2

=item * I<port-id>  =>   B<string>

=begin html

<br>Possible values are: port number in the range of 0 to 255 or "in", "out", "aux1" or "aux2" representing input, output or one of auxiliary ports. This is the same as FCAL ALPA for the port.

=end html

=back



=over 2

=item * I<port-state>  =>   B<string>

=begin html

<br>Current port state. Possible values are: "ok", "empty", "byp_init", "byp_gen", "byp_man", "byp_xmit", "byp_lipf8", "byp_dto", "byp_rlos", "byp_clos", "byp_tbi", "byp_rprt", "byp_stall", "byp_wrd", "byp_crc", "byp_lip", "byp_osc", "byp_clk", "byp_mir", "byp_lipf7", "byp_bzr", "byp_self", "byp_flt", "byp_pwr", "byp_pcycl", "warn_lip", "warn_wrdb", "warn_wrd", "warn_crc", "warn_clk", "unknown", "term-err", "term", "autoterm".

=end html

=back



=over 2

=item * I<stall-count>  =>   B<integer>

=begin html

<br>Number of times this port exceeded the OPN/CLS maximum threshold.

=end html

=back



=over 2

=item * I<utilization-percentage>  =>   B<integer>

=begin html

<br>Relative utilization of this port vs. other ports in the ESH.

=end html

=back



=head2 power-supply-info

=begin html

Power supply information

=end html



B<Fields>

=over 2

=item * I<is-auto-power-reset-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the auto power reset of the supply is enabled. This field will not be present if the power supply is missing.

=end html

=back



=over 2

=item * I<is-power-reset-capable>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the power supply can be reset via software control. This field will not be present if power supply is missing.

=end html

=back



=over 2

=item * I<power-supply-element-number>  =>   B<integer>

=begin html

<br>Element number the power supply.

=end html

=back



=over 2

=item * I<power-supply-firmware-revision>  =>   B<string, optional>

=begin html

<br>Power supply firmware revision. This field will not be present if firmware rev is unavailable or feature not implemented, or if the power supply is missing.

=end html

=back



=over 2

=item * I<power-supply-is-error>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the power supply has reported any errors. This field will not be present if the power supply is missing.

=end html

=back



=over 2

=item * I<power-supply-is-not-installed>  =>   B<boolean, optional>

=begin html

<br>Indicates the power supply for this element is not installed. This will only be presented if the power supply is missing, in which case no further information for the element will be available.

=end html

=back



=over 2

=item * I<power-supply-part-no>  =>   B<string, optional>

=begin html

<br>Power supply part number. The field will not be present if part number is unavailable or not implemented or if the power supply is missing.

=end html

=back



=over 2

=item * I<power-supply-serial-no>  =>   B<string, optional>

=begin html

<br>Power supply serial number. This field will not be present if the power supply is missing.

=end html

=back



=over 2

=item * I<power-supply-swap-count>  =>   B<integer, optional>

=begin html

<br>Number of power supply swap counts since boot. This field will not be present if the power supply is missing.

=end html

=back



=over 2

=item * I<power-supply-type>  =>   B<string, optional>

=begin html

<br>Power supply type. This field will not be present if power supply type is unavailable or feature is not implemented, or if the power supply is missing.

=end html

=back



=head2 processor-complex-info

=begin html

Available information on the processor complex modules (PCMs) in the shelf.

=end html



B<Fields>

=over 2

=item * I<is-pcm-element-error>  =>   B<boolean, optional>

=begin html

<br>Indicates if there has been a failure in the PCM. Will not be present if a PCM element is not installed.

=end html

=back



=over 2

=item * I<is-pcm-element-not-installed>  =>   B<boolean, optional>

=begin html

<br>Indicates if PCM element has been installed. Will be present only if the element is not installed, in which case no further information will be provided.

=end html

=back



=over 2

=item * I<pcm-element-no>  =>   B<integer>

=begin html

<br>PCM element number

=end html

=back



=head2 sas-connector-info

=begin html

Detailed information on SAS cables and connectors connected to the shelf. Only information on the connectors with cables attached will be presented.

=end html



B<Fields>

=over 2

=item * I<attached-serial-no>  =>   B<string, optional>

=begin html

<br>Serial number of the attached cable as assigned by the cable manufacturer. This field will not be present if the information is not available, or if a cable is not connected at this connector. Note that depending on the cable, the serial number at the two ends of the cable may or may not match. An example of this is SAS optical cables that do not have integrated QSFP's, which will show different attached serial numbers at the ends of cable. Cables with integrated QSFP's will have matching serial numbers at both ends.

=end html

=back



=over 2

=item * I<cable-end-identifier>  =>   B<string, optional>

=begin html

<br>Each cable has two ends. This field shows which end of the cable is connected to the shelf. This field will not be present if the information is not available or accessible, or if a cable is not connected at this connector. Possible values: "end_0", "end_1".

=end html

=back



=over 2

=item * I<cable-length>  =>   B<string, optional>

=begin html

<br>Cable length. This field will not be present if the information is not available or accessible, or if a cable is not connected at this connector.

=end html

=back



=over 2

=item * I<cable-local-conn-wwn>  =>   B<string, optional>

=begin html

<br>WWN of the local connector that the cable is attached to, example "500A0980017D373F".

=end html

=back



=over 2

=item * I<cable-manufacturer>  =>   B<string, optional>

=begin html

<br>Manufacturer of the cable. Will not be present if a cable is not connected at this connector.

=end html

=back



=over 2

=item * I<cable-part-no>  =>   B<string, optional>

=begin html

<br>Part number of the cable as assigned by the cable manufacturer. This field will not be present if the information is not available, or if a cable is not connected at this connector.

=end html

=back



=over 2

=item * I<cable-remote-conn-wwn>  =>   B<string, optional>

=begin html

<br>WWN of the remote connector that the cable is attached to, example "300A0980052ED2B2".

=end html

=back



=over 2

=item * I<cable-serial-no>  =>   B<string, optional>

=begin html

<br>This is actually not serial number, but rather cable identifier. For backwards compatibility this is reported as cable-serial-no. For the actual serial number see attached-serial-no. The connectors at both ends of the same cable will report the same value for this field. This field can be used to generate topology. This field will not be present if a cable is not connected to the connector or if the cable is not connected to a functioning device.

=end html

=back



=over 2

=item * I<cable-technology>  =>   B<string, optional>

=begin html

<br>Cable technology. This field will not be present if the information is not available or accessible, or if a cable is not connected at this connector. Possible values: "cupper", "optical".

=end html

=back



=over 2

=item * I<cable-type>  =>   B<string, optional>

=begin html

<br>Type of the cable being used. This field will not be present if the information is not available or accessible, or if a cable is not connected at this connector. Possible values: "qsfp".

=end html

=back



=over 2

=item * I<connector-designator>  =>   B<string, optional>

=begin html

<br>Connector desiagnator. <ul> <li> "sqr" - The port is marked with a square on the shelf connector panel, <li> "cir" - The port is marked with a circle on the shelf connector panel. </ul> Will be missing if unknown or not available.

=end html

=back



=over 2

=item * I<connector-no>  =>   B<integer>

=begin html

<br>Connector number.

=end html

=back



=over 2

=item * I<is-cable-connected>  =>   B<boolean>

=begin html

<br>Indicates whether a cable is connected at this connector location. No further information will be provided if a cable is not connected at this connector location. Note that a cable connection does not necessarily mean that the shelf is connected to a storage cointroller. This will also depend on the other end of the cable.

=end html

=back



=over 2

=item * I<is-connector-error>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the connector element has encountered an error.

=end html

=back



=over 2

=item * I<shelf-module>  =>   B<string, optional>

=begin html

<br>Shelf module for this connector <ul> <li> "a" - Presenting data for shelf module A. <li> "b" - Presenting data for shelf module B. </ul>

=end html

=back



=over 2

=item * I<swap-count>  =>   B<integer, optional>

=begin html

<br>Number of times, since last boot, a cable has been inserted into this connector

=end html

=back



=head2 sas-specific-info

=begin html

Vendor specific enclosure system information for SAS shelf.

=end html



B<Fields>

=over 2

=item * I<serial-no>  =>   B<string>

=begin html

<br>Shelf backplane serial number.

=end html

=back



=head2 ses-generic-info

=begin html

Generic SES (SCSI enclosure services) information.

=end html



B<Fields>

=over 2

=item * I<ses-chassis-part-number>  =>   B<string, optional>

=begin html

<br>Chassis part number. The field will not be present if the part number is unavailable or not implemented.

=end html

=back



=over 2

=item * I<ses-config-access>  =>   B<string, optional>

=begin html

<br>The method shelf configuration was obtained. Possible values: "via_embedded_ses", "via_scsi_from_shelf", "via_loop_from_shelf", "remote_access_via_controller", "not_available".

=end html

=back



=over 2

=item * I<ses-config-access-controller-name>  =>   B<string, optional>

=begin html

<br>If the value of ses-config-access field is "remote_access_via_controller" then this field will return the name of storage controller the configuration was obtained from. This field will not be present if storage controller name is not available or if the value of ses-config-access field is not "remote_access_via_controller".

=end html

=back



=over 2

=item * I<ses-config-access-shelf-id>  =>   B<string, optional>

=begin html

<br>If ses-config-access is either "via_scsi_from_shelf" or "via_loop_from_shelf" then this would be the shelf id of the device the configuration was obtained from.

=end html

=back



=over 2

=item * I<ses-config-access-source-id>  =>   B<integer, optional>

=begin html

<br>If ses-config-access is either "via_scsi_from_shelf" or "via_loop_from_shelf" then this would be the SCSI or loop id of the device that the configuration was obtained from.

=end html

=back



=over 2

=item * I<ses-contact-state>  =>   B<string>

=begin html

<br>Enclosure contact state. Possible values are: "active", "initializing", "transitioning", "inactive", "reconfiguring", "non_existent".

=end html

=back



=over 2

=item * I<ses-logical-id>  =>   B<string>

=begin html

<br>Enclosure logical identifier.

=end html

=back



=over 2

=item * I<ses-midplane-part-number>  =>   B<string, optional>

=begin html

<br>Enclosure midplane part number. The field will not be present if the midplane is not present.

=end html

=back



=over 2

=item * I<ses-midplane-serial-number>  =>   B<string, optional>

=begin html

<br>Enclosure midplane serial number. The field will not be present if the midplane is not present.

=end html

=back



=over 2

=item * I<ses-product-id>  =>   B<string, optional>

=begin html

<br>Enclosure product identifier. Not available on all shelf types.

=end html

=back



=over 2

=item * I<ses-product-revision>  =>   B<string>

=begin html

<br>Enclosure product revision.

=end html

=back



=over 2

=item * I<ses-vendor-id>  =>   B<string>

=begin html

<br>Enclosure vendor identifier.

=end html

=back



=head2 shelf-bay-info

=begin html

Shelf bay information.

=end html



B<Fields>

=over 2

=item * I<bay-count>  =>   B<integer, optional>

=begin html

<br>Disk bays are the slots into which disks are placed. The bays are numbered from 0 to bay-count-1. Bay 0 is the right most bay (when looking at the front of the shelf) and bay bay-count-1 is left most. These bay numbers can be used by other commands, including storage-shelf-set-led-state.

=end html

=back



=over 2

=item * I<bay-list>  =>   B<L<"bay-info">[]>

=begin html

<br>A list of shelf-bay numbers which have disk drives. The bay-list field is not optional, but it may contain zero bay-info elements.

=end html

=back



=head2 shelf-bay-list-info

=begin html

Bay and port information on a shelf module.

=end html



B<Fields>

=over 2

=item * I<channel-name>  =>   B<string>

=begin html

<br>The channel the shelf (hub) is attached to. Example: 0c.

=end html

=back



=over 2

=item * I<module>  =>   B<string>

=begin html

<br>The shelf module attachment. Possible values: "a", "b".

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF, in which case it is the storage system name.

=end html

=back



=over 2

=item * I<port-list>  =>   B<L<"shelf-bay-port-info">[], optional>

=begin html

<br>Shelf bay specific information.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer>

=begin html

<br>The shelf id switch setting. This is the shelf id switch that is used to uniquely identify the shelf on the filer node.

=end html

=back



=over 2

=item * I<shelf-name>  =>   B<string>

=begin html

<br>Shelf name that the hub is attached to. This can also be considered as hub name. Example: 0c.shelf1.

=end html

=back



=over 2

=item * I<shelf-state>  =>   B<string>

=begin html

<br>Current state of the shelf. Possible values are: "no_status", "init_required", "online", "missing", "failed", "unknown".

=end html

=back



=over 2

=item * I<shelf-type>  =>   B<string>

=begin html

<br>Shelf module type. Possible values: "edm", "vem", "esp", "lrc", "esh", "esh2", "esh4", "eshfx", "eshtx", "emu", "efh", "at-fc", "at-fc2", "at-fcx", "at-fcx2", "sas", "esas", "sas-fc", "iom3", "iom6", "iom6e".

=end html

=back



=over 2

=item * I<shelf-uid>  =>   B<string>

=begin html

<br>Shelf unique identifier that distinguishes it from other shelves manufactured. Example: 50:05:0c:c0:02:10:64:26.

=end html

=back



=head2 shelf-bay-port-info

=begin html

Shelf bay port specific information.

=end html



B<Fields>

=over 2

=item * I<bay-no>  =>   B<integer, optional>

=begin html

<br>Disk bay number or port number, if applicable. In some instances bay numbers do apply and will not be present. An example is an ESH shelf with a single "in" and a single "out" port.

=end html

=back



=over 2

=item * I<disk-name>  =>   B<string, optional>

=begin html

<br>if port-designator is "disk_bay" and there is a disk installed in the bay, then this will be the disk name. Otherwise the field will be missing.

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string, optional>

=begin html

<br>if port-designator is "disk_bay" and there is a disk installed in the bay, then this will be UID of the disk. Otherwise the field will be missing.

=end html

=back



=over 2

=item * I<port-designator>  =>   B<string, optional>

=begin html

<br>Shelf bay port designator. Possible values: "in", "out", "aux", "sqr", "cir", "sil", "hi_ho", "a_to_b", "b_to_a", "disk_bay".

=end html

=back



=over 2

=item * I<port-state>  =>   B<string, optional>

=begin html

<br>Current port state. Possible values are: "ok", "empty", "unkwn_lnk", "no_signal", "unused", "unkwn", "unknown", "dis_man", "dis_unusd", "dis_smp", "dis_loswd", "dis_dispa", "dis_invwd", "dis_reset", "dis_phchg", "dis_mir", "dis_crc", "dis_clk", "byp_init", "byp_gen", "byp_man", "byp_xmit", "byp_lipf8", "byp_dto", "byp_rlos", "byp_clos", "byp_tbi", "byp_rprt", "byp_stall", "byp_wrd", "byp_crc", "byp_lip", "byp_osc", "byp_clk", "byp_mir", "byp_lipf7", "byp_bzr", "byp_self", "byp_flt", "byp_pwr", "byp_pcycl", "warn_lip", "warn_wrdb", "warn_wrd", "warn_crc", "warn_clk", "term-err", "term", "autoterm".

=end html

=back



=head2 shelf-drawer-bay

=begin html

The list of bays in the drawer that has a device.

=end html



B<Fields>

=over 2

=item * I<attached-drawer-bay-list>  =>   B<string>

=begin html

<br>A list of bay numbers in this shelf drawer that have disk devices installed. All bays with disks installed will be listed. This is a comma separated list.

=end html

=back



=over 2

=item * I<drawer-number>  =>   B<integer>

=begin html

<br>The DCM number.

=end html

=back



=head2 shelf-drawer-bay-error

=begin html

The list of bays in the drawer that has devices with error.

=end html



B<Fields>

=over 2

=item * I<attached-drawer-bay-list-with-error>  =>   B<string>

=begin html

<br>A list of bay numbers in this shelf that have disk devices with errors. All bays with error devices will be listed. This is a comma separated list.

=end html

=back



=over 2

=item * I<drawer-number>  =>   B<integer>

=begin html

<br>The DCM number.

=end html

=back



=head2 shelf-environ-channel-address-map

=begin html

A list of all the shelf assigned addresses assigned on this channel.

=end html



B<Fields>

=over 2

=item * I<address-map>  =>   B<string>

=begin html

<br>A comma separated list of addresses assigned on this channel by the shelf specified in shelf-no output above.

=end html

=back



=over 2

=item * I<drawer-address-map-list>  =>   B<L<"drawer-address-map">[], optional>

=begin html

<br>A list of all the drawers in the shelf and the addresses assigned to each drawer devices.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer>

=begin html

<br>Shelf number for presented address map.

=end html

=back



=head2 shelf-environ-channel-info

=begin html

Shelf environment information.

=end html



B<Fields>

=over 2

=item * I<channel-name>  =>   B<string>

=begin html

<br>Storage controller channel the shelf is connected to.

=end html

=back



=over 2

=item * I<is-channel-monitor-enabled>  =>   B<boolean>

=begin html

<br>Indicates whether monitoring is enabled on this channel.

=end html

=back



=over 2

=item * I<is-shelf-channel-failure>  =>   B<boolean>

=begin html

<br>Indicates whether any shelves on this channel have experienced a failure.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF, in which case it is the storage system name.

=end html

=back



=over 2

=item * I<shelf-environ-channel-address>  =>   B<L<"shelf-environ-channel-address-map">[], optional>

=begin html

<br>A list of all the shelf assigned addresses assigned on this channel.

=end html

=back



=over 2

=item * I<shelf-environ-shelf-list>  =>   B<L<"shelf-environ-shelf-info">[]>

=begin html

<br>List of shelves in the channel and associated environment information.

=end html

=back



=over 2

=item * I<shelves-present>  =>   B<integer>

=begin html

<br>Number of shelves present on this channel.

=end html

=back



=head2 shelf-environ-shelf-info

=begin html

Shelf environment information.

=end html



B<Fields>

=over 2

=item * I<alternate-control-path-information>  =>   B<L<"alternate-control-path-info">[], optional>

=begin html

<br>Available information on the alternate control path (ACP) to the shelf.

=end html

=back



=over 2

=item * I<ariodata-specific-info>  =>   B<L<"ariodata-specific-info">, optional>

=begin html

<br>Vendor specific enclosure system information for Ariodata shelves.

=end html

=back



=over 2

=item * I<attached-shelf-bay-error-list>  =>   B<string, optional>

=begin html

<br>A list of bays numbers in this shelf that have disk devices with errors. All bays with error devices will be listed. This is a comma separated list from high to low. Example: "13, 10, 4, 1".

=end html

=back



=over 2

=item * I<attached-shelf-bay-list>  =>   B<string>

=begin html

<br>A list of bays numbers in this shelf that have disk devices installed. All bays with disks installed will be listed. This is a comma separated list from high to low. Example: "13, 11, 10, 4, 3, 2, 1".

=end html

=back



=over 2

=item * I<attached-shelf-drawer-bay-error-list>  =>   B<L<"shelf-drawer-bay-error">[], optional>

=begin html

<br>A list of bay numbers in this shelf drawer that have disk devices with errors.

=end html

=back



=over 2

=item * I<attached-shelf-drawer-bay-list>  =>   B<L<"shelf-drawer-bay">[], optional>

=begin html

<br>A list of bay numbers in this shelf drawer that have disk devices installed.

=end html

=back



=over 2

=item * I<connector-information>  =>   B<L<"connector-info">[], optional>

=begin html

<br>Cable and connector information if available and supported by the hardware. Will not be present if the feature is not supported in the hardware.

=end html

=back



=over 2

=item * I<control-writes-attempted>  =>   B<integer>

=begin html

<br>Number of times attempted to write shelf controls.

=end html

=back



=over 2

=item * I<control-writes-failed>  =>   B<integer>

=begin html

<br>Number of times failed to write shelf controls.

=end html

=back



=over 2

=item * I<controller-device-path>  =>   B<string>

=begin html

<br>Device path to the shelf controller. Possible values: "embedded_access", "local_access", "unknown", "not_available".

=end html

=back



=over 2

=item * I<controller-device-path-port>  =>   B<string, optional>

=begin html

<br>If controller-device-path is "local_access", then this presents the local access port number.

=end html

=back



=over 2

=item * I<cooling-element-list>  =>   B<L<"cooling-element-info">[], optional>

=begin html

<br>Information on installed cooling elements in the shelf.

=end html

=back



=over 2

=item * I<current-sensor-list>  =>   B<L<"current-sensor-info">[], optional>

=begin html

<br>Information on current sensors in the shelf.

=end html

=back



=over 2

=item * I<dcm-list>  =>   B<L<"dcm-info">, optional>

=begin html

<br>Information on the installed drawer control module (dcm). This will be presented for shelves that have drawers built in.

=end html

=back



=over 2

=item * I<enclosure-information>  =>   B<L<"enclosure-info">, optional>

=begin html

<br>Information on the enclosure type. This information will be presented for ESH and SAS shelves only.

=end html

=back



=over 2

=item * I<es-electronics-list>  =>   B<L<"es-electronics-info">[], optional>

=begin html

<br>Information on the installed enclosure services electronics.

=end html

=back



=over 2

=item * I<eurologic-specific-info>  =>   B<L<"eurologic-specific-info">, optional>

=begin html

<br>Vendor specific enclosure system information for Eurologic shelves.

=end html

=back



=over 2

=item * I<is-shelf-monitor-enabled>  =>   B<boolean>

=begin html

<br>Indicates whether monitoring is enabled on this shelf.

=end html

=back



=over 2

=item * I<power-control-failure-state>  =>   B<string, optional>

=begin html

<br>Extension to the power-control-status to provide more information in case of shelf failures. Possible values: "dual_esh4_modules_not_present", "power_control_fault_detected", "incompatible_power_control_implementation", "power_control_function_not_available", "backplane_cpld_fault_detected".

=end html

=back



=over 2

=item * I<power-control-status>  =>   B<string, optional>

=begin html

<br>Power control element status. This is generalization of the ESH4 shelf power status. Currently available on ESH 4 shelves only. Possible values: "ok", "not_supported", "critical", "non_critical", "unknown".

=end html

=back



=over 2

=item * I<power-supply-list>  =>   B<L<"power-supply-info">[], optional>

=begin html

<br>Information on installed power supplies in the shelf.

=end html

=back



=over 2

=item * I<processor-complex-information>  =>   B<L<"processor-complex-info">[], optional>

=begin html

<br>Available information on the processor complex modules (PCMs) in the shelf.

=end html

=back



=over 2

=item * I<sas-specific-info>  =>   B<L<"sas-specific-info">, optional>

=begin html

<br>Vendor specific enclosure system information for SAS shelves.

=end html

=back



=over 2

=item * I<ses-generic-info>  =>   B<L<"ses-generic-info">>

=begin html

<br>Generic SES (scsi enclosure services) information.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer>

=begin html

<br>Shelf number.

=end html

=back



=over 2

=item * I<shelf-status>  =>   B<string>

=begin html

<br>Current shelf status. Possible values: "unrecoverable", "critical", "non_critical", "informational", "normal".

=end html

=back



=over 2

=item * I<shelf-type>  =>   B<string>

=begin html

<br>Shelf type. Possible values: "edm", "vem", "esp", "lrc", "lrc2", "esh", "esh2", "esh4", "eshfx", "emu", "efh", "eshtx", "sas", "esas", "sas_fc", "iom3", "at_fcx", "at_fcx2", "iom6", "iom6e".

=end html

=back



=over 2

=item * I<status-reads-attempted>  =>   B<integer>

=begin html

<br>Number of times attempted to read shelf status.

=end html

=back



=over 2

=item * I<status-reads-failed>  =>   B<integer>

=begin html

<br>Number of times failed to read shelf status.

=end html

=back



=over 2

=item * I<temp-sensor-list>  =>   B<L<"temp-sensor-info">[], optional>

=begin html

<br>Information on installed temperature sensors in the shelf.

=end html

=back



=over 2

=item * I<voltage-sensor-list>  =>   B<L<"voltage-sensor-info">[], optional>

=begin html

<br>Information on voltage sensors in the shelf.

=end html

=back



=over 2

=item * I<xyratex-specific-info>  =>   B<L<"xyratex-specific-info">, optional>

=begin html

<br>Vendor specific enclosure system information for Xyratex shelves.

=end html

=back



=head2 shelf-info

=begin html

Describes a shelf.

=end html



B<Fields>

=over 2

=item * I<channel-name>  =>   B<string>

=begin html

<br>The channel/port-number the shelf (hub) is attached to. If it is the partner node that is being reported, the value will be shown as "PARTNER". Examples: "0c" or "PARTNER".

=end html

=back



=over 2

=item * I<firmware-rev-A>  =>   B<string, optional>

=begin html

<br>Shelf Module A firmware revision. When the channel-name field is "PARTNER" this field will not be present.

=end html

=back



=over 2

=item * I<firmware-rev-B>  =>   B<string, optional>

=begin html

<br>Shelf Module B firmware revision. When the channel-name field is "PARTNER" this field will not be present.

=end html

=back



=over 2

=item * I<module>  =>   B<string>

=begin html

<br>The shelf module attachment. Possible values are: "a", "b".

=end html

=back



=over 2

=item * I<module-state>  =>   B<string, optional>

=begin html

<br>Current state of the IO module attached to the shelf port (if any). Possible values are: "no_status", "ok", "missing", "transport error", "critical", "unreachable", "unknown".

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF, in which case it is the storage system name.

=end html

=back



=over 2

=item * I<phy-expander-list>  =>   B<L<"phy-expander-info">[], optional>

=begin html

<br>Each instance of phy-expander-list contains PHY (physical layer) expander information about each port. This applies to direct attached shelves with SAS modules only.

=end html

=back



=over 2

=item * I<port-hub-list>  =>   B<L<"port-hub-info">[], optional>

=begin html

<br>Each instance of port-hub-list contains hub information about each port. This applies to shelves with ESH modules only.

=end html

=back



=over 2

=item * I<shelf-bay-info>  =>   B<L<"shelf-bay-info">, optional>

=begin html

<br>Detailed information on populated shelf bays. When the channel-name field is "PARTNER" this field will not be present.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer>

=begin html

<br>The shelf id switch setting. This is the shelf id switch that is used to uniquely identify the shelf on the filer node.

=end html

=back



=over 2

=item * I<shelf-name>  =>   B<string>

=begin html

<br>Shelf name that the hub is attached to. This can also be considered as hub name. Example: 0c.shelf1.

=end html

=back



=over 2

=item * I<shelf-state>  =>   B<string>

=begin html

<br>Current state of the shelf. Possible values are: "no status", "init required", "online", "missing", "unknown".

=end html

=back



=over 2

=item * I<shelf-type>  =>   B<string>

=begin html

<br>Shelf module type. Some examples are: "esh2", and "at-fcx".

=end html

=back



=over 2

=item * I<shelf-uid>  =>   B<string>

=begin html

<br>Similar to serial number, this is the shelf unique identifier that distinguishes it from any other shelf manufactured. Example: 50:05:0c:c0:02:10:64:26.

=end html

=back



=over 2

=item * I<termination-switch>  =>   B<string, optional>

=begin html

<br>State of the termination switch on the shelf. Possible values are: "on", "off" and "n/a".

=end html

=back



=head2 temp-sensor-info

=begin html

information on the temperature sensors installed in the shelf.

=end html



B<Fields>

=over 2

=item * I<temp-sensor-current-condition>  =>   B<string, optional>

=begin html

<br>Current temperature condition for this sensor. One of: "under_temperature_warning", "under_temperature_failure", "over_temperature_warning", "over_temperature_failure", "normal_temperature_range".

=end html

=back



=over 2

=item * I<temp-sensor-current-temperature>  =>   B<integer, optional>

=begin html

<br>Current temperature reading in degrees Celsius.

=end html

=back



=over 2

=item * I<temp-sensor-element-no>  =>   B<integer>

=begin html

<br>Element number for the temperature sensor.

=end html

=back



=over 2

=item * I<temp-sensor-hi-critical>  =>   B<integer, optional>

=begin html

<br>High critical temperature in degree Celsius.

=end html

=back



=over 2

=item * I<temp-sensor-hi-warning>  =>   B<integer, optional>

=begin html

<br>High warning temperature in degree Celsius.

=end html

=back



=over 2

=item * I<temp-sensor-is-ambient>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the temp-sensor-current-temp is the ambient temperature.

=end html

=back



=over 2

=item * I<temp-sensor-is-error>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the sensor has indicated an error in temperature.

=end html

=back



=over 2

=item * I<temp-sensor-is-not-installed>  =>   B<boolean, optional>

=begin html

<br>Indicates the sensor for this element is not installed. This will only be presented if the sensor is missing, and no further data for this sensor will be presented.

=end html

=back



=over 2

=item * I<temp-sensor-low-critical>  =>   B<integer, optional>

=begin html

<br>Low critical temperature in degree Celsius.

=end html

=back



=over 2

=item * I<temp-sensor-low-warning>  =>   B<integer, optional>

=begin html

<br>Low warning temperature in degree Celsius.

=end html

=back



=head2 voltage-sensor-info

=begin html

Presents the voltage sensor information, if implemented on the system.

=end html



B<Fields>

=over 2

=item * I<is-sensor-error>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the sensor has encountered an error.

=end html

=back



=over 2

=item * I<is-sensor-not-installed>  =>   B<boolean, optional>

=begin html

<br>Indicates the voltage sensor elements is not installed. This will only be present if the element is missing, in such case no further data for this element will be presented.

=end html

=back



=over 2

=item * I<sensor-condition>  =>   B<string, optional>

=begin html

<br>A Text string describing whether the sensor-reading field is within normal operating range. This field is present only if sensor-reading field is also present. Possible values are: "overvoltage_failure", "overvoltage_warning", "undervoltage_warning", "undervoltage_failure", "normal_operating_range".

=end html

=back



=over 2

=item * I<sensor-reading>  =>   B<string, optional>

=begin html

<br>Voltage reading of the sensor. This field will be not be present if unable to read the sensor value properly.

=end html

=back



=over 2

=item * I<voltage-sensor-no>  =>   B<integer>

=begin html

<br>Voltage sensor number.

=end html

=back



=head2 xyratex-specific-info

=begin html

Vendor specific enclosure system information for Xyratex shelf.

=end html



B<Fields>

=over 2

=item * I<xyratex-option-setting>  =>   B<string>

=begin html

<br>Option setting for the Xyratex shelf.

=end html

=back



=over 2

=item * I<xyratex-serial-no>  =>   B<string>

=begin html

<br>serial number for Xyratex shelf.

=end html

=back



=head2 dense-status

=begin html

null

=end html



B<Fields>

=over 2

=item * I<application-io-size>  =>   B<string, optional>

=begin html

<br>Specifies the application IO size used by compression. Possible values: "8K", "16K", "32K". Attributes: non-creatable, non-modifiable.

=end html

=back



=over 2

=item * I<auto-state>  =>   B<string>

=begin html

<br>Possible values: <ul> <li> "Not auto" - Auto is not enabled, <li> "Auto" - Auto policy is enabled, <li> "Deprioritized" - Volume is deprioritized </ul>

=end html

=back



=over 2

=item * I<blocks-skipped-sharing>  =>   B<integer, optional>

=begin html

<br>Number of blocks not considered for sharing because contiguous duplicate blocks were less than the value set for minimum-blocks-shared. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<changelog-used-percent>  =>   B<integer, optional>

=begin html

<br>Percentage of changelog used. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<checkpoint-op-type>  =>   B<string, optional>

=begin html

<br>Checkpoint Operation Type. Possible values: <ul> <li> "-", <li> "Scan", <li> "Start", <li> "Check", <li> "Undo", <li> "Downgrade" </ul> Returned only if verbose option is set. This field is deprecated in Data ONTAP 8.1 and later. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<checkpoint-progress>  =>   B<string, optional>

=begin html

<br>Checkpoint Stage Progress with information as to which stage of sis is checkpointed and how much data is processed for that stage. For example: 25 MB Scanned, 20 MB Searched, 40 MB (20%) Done, 30 MB Verified. Returned only if verbose option is set. This field is deprecated in Data ONTAP 8.1 and later. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<checkpoint-stage>  =>   B<string, optional>

=begin html

<br>Checkpoint Stage information. Possible values: <ul> <li> "-", <li> "Gathering", <li> "Sorting", <li> "Saving_pass1", <li> "Saving_pass2", <li> "Checking", <li> "Checking_pass1", <li> "Checking_pass2", <li> "Compress_preproc", <li> "Compressing", <li> "Saving_sharing", <li> "Saving_end", <li> "Unknown_stage" </ul> Returned only if verbose option is set. This field is deprecated in Data ONTAP 8.1 and later. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<checkpoint-sub-stage>  =>   B<string, optional>

=begin html

<br>Checkpoint Sub Stage information. Possible values: <ul> <li> "-", <li> "Sort_pass1", <li> "Sort_p1merge", <li> "Sort_pass2", <li> "Bucket_sort_init", <li> "Bucket_sort", <li> "Bucket_sort_done" </ul> Returned only if verbose option is set. This field is deprecated in Data ONTAP 8.1 and later. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<checkpoint-time>  =>   B<integer, optional>

=begin html

<br>Checkpoint creation timestamp. The value is in seconds since January 1, 1970. Returned only if verbose option is set. This field is deprecated in Data ONTAP 8.1 and later. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<compression-algorithm>  =>   B<string, optional>

=begin html

<br>Specifies the compression algorithm used by compression. Possible values: <ul> <li> 0 - none <li> 1 - lzopro <li> 2 - gzip </ul> Attributes: non-creatable, non-modifiable.

=end html

=back



=over 2

=item * I<compression-type>  =>   B<string, optional>

=begin html

<br>Specifies the compression type on the volume. Possible values: "adaptive", "secondary". Attributes: non-creatable, non-modifiable.

=end html

=back



=over 2

=item * I<has-cross-volume-sharing>  =>   B<boolean, optional>

=begin html

<br>Volume has cross volume sharing Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-compression-enabled>  =>   B<boolean, optional>

=begin html

<br>compression state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-content-available>  =>   B<boolean>

=begin html

<br>This indicates if the value of other elements in this dense-status object are valid. Attributes: non-creatable, non-modifiable This parameter is not supported on Infinite Volumes. <p> A "true" value for this field indicates a normal case when everything went fine while fetching the status values for this volume. All values returned are valid. A "false" value for this field indicates something went wrong while fetching the status values for this volume. Not all values returned are valid. The volume returned may not be a sis volume.

=end html

=back



=over 2

=item * I<is-cross-volume-background-dedupe-enabled>  =>   B<boolean, optional>

=begin html

<br>Cross volume background deduplication state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-cross-volume-inline-dedupe-enabled>  =>   B<boolean, optional>

=begin html

<br>Cross volume inline deduplication state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-data-compaction-enabled>  =>   B<boolean, optional>

=begin html

<br>Data compaction state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-idd-enabled>  =>   B<boolean, optional>

=begin html

<br>This parameter is no longer supported and is ignored as of Data ONTAP 9.1.0. Indicates incompressible data detection is enabled. Possible values: <ul> <li> "true", <li> "false" </ul> Once this set to 'true', inline compression will do a 4k compression quick check for large files before proceeding with full CG compression. If quick check finds a 4k within a CG as incompressible, inline compression won't attempt to compress the CG. Also indicates file level incompressible data detection is enabled for small files. Once this is enabled, when inline compression encounters a incompressible CG within a small file, it will mark the file with do not compress flag. As long as this flag is set on a small file, inline compression won't attempt to compress the file. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<is-inline-compression-enabled>  =>   B<boolean, optional>

=begin html

<br>inline compression state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-inline-dedupe-enabled>  =>   B<boolean, optional>

=begin html

<br>Inline deduplication state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-operation-begin-timestamp>  =>   B<integer, optional>

=begin html

<br>Start timestamp of the last sis operation. The value is in seconds since January 1, 1970. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<last-operation-end-timestamp>  =>   B<integer, optional>

=begin html

<br>End timestamp of the last sis operation. The value is in seconds since January 1, 1970. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<last-operation-error>  =>   B<string, optional>

=begin html

<br>A human readable error message of the last sis operation. Present when there was an error. Returned only if verbose option is set. and when there is a valid error. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<last-operation-size-bytes>  =>   B<integer, optional>

=begin html

<br>The size in bytes of the last sis operation. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<last-operation-state>  =>   B<string, optional>

=begin html

<br>Completion status for the last operation. Possible values: <ul> <li> "success", <li> "failure" </ul> Returned only if verbose option is set and when there is last completed operation. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<last-success-operation-begin-timestamp>  =>   B<integer, optional>

=begin html

<br>Start timestamp of the last successful sis operation. The value is in seconds since January 1, 1970. Returned only if verbose option is set and when there is last successfully completed operation. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<last-success-operation-end-timestamp>  =>   B<integer, optional>

=begin html

<br>End timestamp of the last successful sis operation. The value is in seconds since January 1, 1970. Returned only if verbose option is set and when there is last successfully completed operation. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<logical-data>  =>   B<L<"sis-logical-data">, optional>

=begin html

<br>This contains logical size attributes of a volume. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<minimum-blocks-shared>  =>   B<integer, optional>

=begin html

<br>The minimum number of contiguous blocks in a file that will be considered for block sharing. If the number of contiguous duplicate blocks is less than this number, then they won't be considered for sharing. Returned only if verbose option is set.

=end html

=back



=over 2

=item * I<path>  =>   B<string>

=begin html

<br>Volume for which sis information is returned.

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>sis policy name. Returned only if verbose option is set.

=end html

=back



=over 2

=item * I<progress>  =>   B<string>

=begin html

<br>The progress of the current sis operation with information as to which stage is currently in progress and how much data is processed for that stage. For example: 25 MB Scanned, 20 MB Searched, 40 MB (20%) Done, 30 MB Verified. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<queued-job-type>  =>   B<string, optional>

=begin html

<br>Type of sis operation that is queued for the volume. Possible values: <ul> <li> "-" - No sis operation is queued for the volume, <li> "Scan", <li> "Start", <li> "Check", <li> "Downgrade" </ul> Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<quick-check-fsize>  =>   B<integer, optional>

=begin html

<br>This parameter is no longer supported and is ignored as of Data ONTAP 9.1.0. Quick check file size for Incompressible Data Detection. If Incompressible data detection is enabled and if the file size is >= quick-check-fsize, inline compression will do a 4k quick check before doing full CG compression. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>The schedule for sis operation on the volume. See sis-set-config for the format of the schedule. Returned only if verbose option is set.

=end html

=back



=over 2

=item * I<stale-fingerprint-percentage>  =>   B<integer, optional>

=begin html

<br>Percentage of fingerprints that are stale in the fingerprint database. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<state>  =>   B<string>

=begin html

<br>Possible values: <ul> <li> "Enabled", <li> "Disabled", <li> "Mixed" -For FlexGroups, if sis is not Enabled or Disabled consistently across all constituents. </ul>

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>Possible values: <ul> <li> "Idle" - No sis operations are happening on this volume, <li> "Initializing" - sis operation is being initialized, <li> "Active" - sis operation is active on the volume, <li> "Undoing" - sis is being undone on the volume, <li> "Pending" - sis operations are scheduled for the volume, <li> "Downgrading" - The sis operation necessary to downgrade the volume is active, <li> "Disabled" - sis operation is disabled on the volume. </ul> This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>Possible values: <ul> <li> "Regular", <li> "SnapVault" </ul> Any sis volume with Snapvault qtree in it would be marked as Snapvault and all others would be returned as type Regular. Returned only if verbose option is set.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name

=end html

=back



=head2 policy-owner

=begin html

cluster-admin|vserver-admin Possible values: <ul> <li> "cluster_admin" , <li> "vserver_admin" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sis-checkpoint-op-type

=begin html

sis checkpoint type Possible values: <ul> <li> "Scan" - Scanning volume for fingerprints, <li> "Start" - Starting a sis operation, <li> "Check" - Checking for stale data in the fingerprint database, <li> "Undo" - Undoing sis on the volume, <li> "Downgrade" - Downgrading sis metafiles to a previous Data ONTAP release. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sis-checkpoint-stage

=begin html

sis checkpoint stage Possible values: <ul> <li> "Gathering" - Scanning the volume for fingerprints, <li> "Sorting" - Sorting the gathered fingerprints, <li> "Compress_preproc" - Preprocessing volume data for compression, <li> "Compressing" - Compressing the volume data, <li> "Saving_pass1" - Creating duplicate list from the newly gathered fingerprints, <li> "Saving_pass2" - Creating duplicate list from the fingerprint database, <li> "Saving_sharing" - Creating shared data structures in the volume, <li> "Saving_end" - Completing sis operations, <li> "Checking_pass0" - Organizing data in the fingerprint database for block sharing, <li> "Checking_pass1" - Organizing data in the fingerprint database for block sharing, <li> "Checking_pass2" - Organizing data in the fingerprint database for block sharing, <li> "Unknown_stage" - Invalid stage </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sis-checkpoint-substage

=begin html

sis checkpoint sub-stage Possible values: <ul> <li> "Sort_pass2" - Sorting the fingerprints for deduplication </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sis-logical-data

=begin html

This contains logical size attributes of a volume.

=end html



B<Fields>

=over 2

=item * I<logical-data-limit>  =>   B<integer>

=begin html

<br>Dedupe logical data limit in bytes. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<logical-data-size>  =>   B<integer>

=begin html

<br>The size of logical data in the volume in bytes. This is calculated as [size-saved + size-used + compressed-data bytes]. This parameter is not supported on Infinite Volumes.

=end html

=back



=head2 sis-op-status

=begin html

sis operation status Possible values: <ul> <li> "Idle" - No sis operations are happening on this volume, <li> "Initializing" - sis operation is being initialized, <li> "Active" - A sis operation is active on the volume, <li> "Undoing" - sis is being undone on the volume, <li> "Pending" - sis operations are scheduled for the volume, <li> "Downgrading" - The sis operation necessary to downgrade the volume is active, <li> "Disabled" - sis operation is disabled on the volume. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sis-policy-info

=begin html

sis-policy-info typedef When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<changelog-threshold-percent>  =>   B<integer, optional>

=begin html

<br>Percentage at which the changelog will be processed for a threshold type of policy, tested once each hour. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A brief description of the policy. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<duration>  =>   B<string, optional>

=begin html

<br>The duration in hours for which the scheduled sis operation should run. After this time expires, the sis operation will be stopped even if the operation is incomplete. If there is no duration set on the volume, the operation will run till it completes. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>If the value is true, the sis policy is active and sis operations will be triggered on the volume on the specified schedule. If the value is false, the sis policy will be inactive and sis operations will not be triggered on the volume on the specified schedule. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string, optional>

=begin html

<br>sis policy name. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<policy-owner>  =>   B<string, optional>

=begin html

<br>Owner of the policy. Possible values: <ul> <li> "cluster_admin" - Policy is owned by the cluster admin. This policy can be applied to volumes owned by any Vserver. <li> "vserver_admin" - Policy is owned by the Vserver admin. This policy can only be applied to volumes owned by the same Vserver. </ul>

=end html

=back



=over 2

=item * I<policy-type>  =>   B<string, optional>

=begin html

<br>The policy type reflects the reason a volume using this policy will start processing a changelog. (Changelog processing is identifying and eliminating duplicate blocks which were written since the changelog was last processed.) <ul> <li> "threshold" - Changelog processing occurs once the changelog reaches a certain percent full. <li> "scheduled" - Clog processing will be triggered by time. <li> </ul> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<qos-policy>  =>   B<string, optional>

=begin html

<br>QoS policy for the sis operation. Possible values: <ul> <li> "background" - sis operation will run in background, with minimal or no impact on data aserving client operations, <li> "best-effort" - sis operations may have some impact on data serving client operations. </ul> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Cron type job schedule name. When the associated policy is set on a volume, the sis operation will be triggered for the volume on this schedule. These schedules can be created using the job-schedule-cron-create API. Existing schedules can be queried using the job-schedule-cron-get-iter API. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver name. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 sis-state

=begin html

Disabled|Enabled Possible values: <ul> <li> "Disabled", <li> "Enabled" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sis-status-info

=begin html

<p> When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<application-io-size>  =>   B<string, optional>

=begin html

<br>Specifies the application IO size used by compression. Possible values: "8K", "16K", "32K". Attributes: non-creatable, non-modifiable.

=end html

=back



=over 2

=item * I<blocks-skipped-sharing>  =>   B<integer, optional>

=begin html

<br>Number of blocks not considered for sharing because contiguous duplicate blocks were less than the value set for minimum-blocks-shared. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<changelog-size>  =>   B<integer, optional>

=begin html

<br>Size of changelog in bytes. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<changelog-used-percent>  =>   B<integer, optional>

=begin html

<br>Percentage of changelog used. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<checkpoint-op-type>  =>   B<sis-checkpoint-op-type, optional>

=begin html

<br>Checkpoint operation Type. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "Scan" - Scanning volume for fingerprints, <li> "Start" - Starting a sis operation, <li> "Check" - Checking for stale data in the fingerprint database, <li> "Undo" - Undoing sis on the volume, <li> "Downgrade" - Downgrading sis metafiles to a previous Data ONTAP release.</ul>

=end html

=back



=over 2

=item * I<checkpoint-progress>  =>   B<string, optional>

=begin html

<br>Checkpoint Stage Progress with information as to which stage of deduplication is checkpointed and how much data is processed for that stage. For ex: 25 MB Scanned, 20 MB Searched, 40 MB (20%) Done, 30 MB Verified. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<checkpoint-stage>  =>   B<sis-checkpoint-stage, optional>

=begin html

<br>Checkpoint stage information. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "Gathering" - Scanning the volume for fingerprints, <li> "Sorting" - Sorting the gathered fingerprints, <li> "Compress_preproc" - Preprocessing volume data for compression, <li> "Compressing" - Compressing the volume data, <li> "Saving_pass1" - Creating duplicate list from the newly gathered fingerprints, <li> "Saving_pass2" - Creating duplicate list from the fingerprint database, <li> "Saving_sharing" - Creating shared data structures in the volume, <li> "Saving_end" - Completing sis operations, <li> "Checking_pass0" - Organizing data in the fingerprint database for block sharing, <li> "Checking_pass1" - Organizing data in the fingerprint database for block sharing, <li> "Checking_pass2" - Organizing data in the fingerprint database for block sharing, <li> "Unknown_stage" - Invalid stage</ul>

=end html

=back



=over 2

=item * I<checkpoint-sub-stage>  =>   B<sis-checkpoint-substage, optional>

=begin html

<br>Checkpoint sub-stage information. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "-" - No sub stage check point present, <li> "Sort_pass1" - Sorting the fingerprints for deduplication, <li> "Sort_p1merge" - Merging the fingerprints for deduplication, <li> "Sort_pass2" - Merging the fingerprints for deduplication, <li> "Bucket_sort_init" - Sorting the fingerprints for deduplication, <li> "Bucket_sort" - Sorting the fingerprints for deduplication, <li> "Bucket_sort_done" - Sorting the fingerprints for deduplication completed</ul>

=end html

=back



=over 2

=item * I<checkpoint-time>  =>   B<integer, optional>

=begin html

<br>Checkpoint creation timestamp. The value is in seconds since January 1, 1970. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<compression-algorithm>  =>   B<string, optional>

=begin html

<br>Specifies the compression algorithm used by compression. Possible values: <ul> <li> 0 - none <li> 1 - lzopro <li> 2 - gzip </ul> Attributes: non-creatable, non-modifiable.

=end html

=back



=over 2

=item * I<compression-changelog-size>  =>   B<integer, optional>

=begin html

<br>Size of compression log in bytes. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<compression-type>  =>   B<string, optional>

=begin html

<br>Specifies the compression type on the volume. Possible values: "adaptive", "secondary". Attributes: non-creatable, non-modifiable.

=end html

=back



=over 2

=item * I<is-compression-enabled>  =>   B<boolean, optional>

=begin html

<br>Compression state of the volume Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-constituent>  =>   B<boolean, optional>

=begin html

<br>True implies that the volume is a constituent of an Infinite Volume.

=end html

=back



=over 2

=item * I<is-content-available>  =>   B<boolean, optional>

=begin html

<br>When returned as part of the output, this indicates if the value of other elements in this sis-info object are valid. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable <p> A "true" value for this field indicates a normal case when everything went fine while fetching the status values for this volume. All values returned are valid. A "false" value for this field indicates something went wrong while fetching the status values for this volume. Not all values returned are valid. The volume returned may not be a sis volume. Default: true

=end html

=back



=over 2

=item * I<is-cross-volume-background-dedupe-enabled>  =>   B<boolean, optional>

=begin html

<br>Cross volume background deduplication state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-cross-volume-inline-dedupe-enabled>  =>   B<boolean, optional>

=begin html

<br>Cross volume Inline deduplication state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-data-compaction-enabled>  =>   B<boolean, optional>

=begin html

<br>Data compaction state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-idd-enabled>  =>   B<boolean, optional>

=begin html

<br>This parameter is no longer supported and is ignored as of Data ONTAP 9.1.0. Indicates incompressible data detection is enabled. Possible values: <ul> <li> "true", <li> "false" </ul> Once this set to 'true', inline compression will do a 4k compression quick check for large files before proceeding with full CG compression. If quick check finds a 4k within a CG as incompressible, inline compression won't attempt to compress the CG. Also indicates file level incompressible data detection is enabled for small files. Once this is enabled, when inline compression encounters a incompressible CG within a small file, it will mark the file with do not compress flag. As long as this flag is set on a small file, inline compression won't attempt to compress the file. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<is-inline-compression-enabled>  =>   B<boolean, optional>

=begin html

<br>Inline compression state of the volume Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-inline-dedupe-enabled>  =>   B<boolean, optional>

=begin html

<br>Inline deduplication state of the volume Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-op-begin-timestamp>  =>   B<integer, optional>

=begin html

<br>Start timestamp of the last sis operation. The value is in seconds since January 1, 1970. Returned only if verbose option is requested. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-op-end-timestamp>  =>   B<integer, optional>

=begin html

<br>End timestamp of the last sis operation. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-op-error>  =>   B<string, optional>

=begin html

<br>A human readable error message of the last sis operation. Present when there was an error. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-op-size>  =>   B<size, optional>

=begin html

<br>The amount of data processed in bytes for the last sis operation. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-op-state>  =>   B<string, optional>

=begin html

<br>Completion status for the last operation. Possible values: <ul> <li> "success", <li> "failure" </ul> Returned only if verbose option is set and when there is last completed operation. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<last-success-op-begin-timestamp>  =>   B<integer, optional>

=begin html

<br>Start timestamp of the last successful sis operation. The value is in seconds since January 1, 1970. Returned only if verbose option is set and when there is last successfully completed operation. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<last-success-op-end-timestamp>  =>   B<integer, optional>

=begin html

<br>End timestamp of the last successful sis operation. The value is in seconds since January 1, 1970. Returned only if verbose option is set and when there is last successfully completed operation. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<logical-data-limit>  =>   B<integer, optional>

=begin html

<br>Dedupe logical data limit in bytes. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<logical-data-size>  =>   B<integer, optional>

=begin html

<br>The size of logical data in the volume in bytes. This is calculated as [size-saved + size-used + + compressed-data bytes]. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<minimum-blocks-shared>  =>   B<integer, optional>

=begin html

<br>The minimum number of contiguous blocks in a file that will be considered for block sharing. If the number of contiguous duplicate blocks is less than this number, then they won't be considered for sharing.

=end html

=back



=over 2

=item * I<path>  =>   B<volume-path, optional>

=begin html

<br>Volume for which sis information is returned. Path is of the format /vol/&lt;vol_name&gt;. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>sis policy name. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<progress>  =>   B<string, optional>

=begin html

<br>The progress of the current sis operation with information as to which stage of sis process is currently in progress and how much data is processed for that stage. For ex: 25 MB Scanned, 20 MB Searched, 40 MB (20%) Done, 30 MB Verified. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<queued-job-type>  =>   B<string, optional>

=begin html

<br>Type of sis operation that is queued for the volume. Possible values: <ul> <li> "-" - No sis operation is queued for the volume, <li> "Scan", <li> "Start", <li> "Check", <li> "Downgrade" </ul> This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<quick-check-fsize>  =>   B<integer, optional>

=begin html

<br>This parameter is no longer supported and is ignored as of Data ONTAP 9.1.0. Quick check file size for Incompressible Data Detection. If Incompressible data detection is enabled and if the file size is >= quick-check-fsize, inline compression will do a 4k quick check before doing full CG compression. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>The schedule for sis operation on the volume. See sis-set-config for the format of the schedule. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<stale-fingerprint-percentage>  =>   B<integer, optional>

=begin html

<br>Percentage of fingerprints that are stale in the fingerprint database. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<state>  =>   B<sis-state, optional>

=begin html

<br>State of sis configured on the volume. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "Disabled", <li> "Enabled" </ul>

=end html

=back



=over 2

=item * I<status>  =>   B<sis-op-status, optional>

=begin html

<br>Status of any sis operation running on the volume. This parameter is not supported on Infinite Volumes. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "Idle" - No sis operations are happening on this volume, <li> "Initializing" - sis operation is being initialized, <li> "Active" - sis operation is active on the volume, <li> "Undoing" - sis is being undone on the volume, <li> "Pending" - sis operations are scheduled for the volume, <li> "Downgrading" - The sis operation necessary to downgrade the volume is active, <li> "Disabled" - sis operation is disabled on the volume.</ul>

=end html

=back



=over 2

=item * I<type>  =>   B<sis-type, optional>

=begin html

<br>Any sis volume with Snapvault qtree in it would be marked as Snapvault and all others would be returned as type Regular. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "Regular" , <li> "Snapvault" </ul>

=end html

=back



=over 2

=item * I<vault-transfer-log-size>  =>   B<integer, optional>

=begin html

<br>Size of vault transfer log in bytes. Returned only if verbose option is set. This parameter is not supported on Infinite Volumes.

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>A string identifying the Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 sis-type

=begin html

Regular|SnapVault Possible values: <ul> <li> "Regular", <li> "Snapvault" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 size

=begin html

null

=end html



B<Fields>

=over 2

=item * None

=back



=head2 volume-path

=begin html

Volume path name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-name

=begin html

Vserver Name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sd-info

=begin html

Information about SnapDiff RPC Server configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<state>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the SnapDiff RPC Server is enabled on a Vserver. Default: true. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 compliance-clock-info

=begin html

Compliance Clock

=end html



B<Fields>

=over 2

=item * I<formatted-snaplock-compliance-clock>  =>   B<string>

=begin html

<br>If Compliance Clock is initialized then human readable time <day> <month> <day of month> <hour>:<min>:<sec> <year> is displayed. A value of "Not Initalized" indicates that Compliance Clock has not been initialized.

=end html

=back



=over 2

=item * I<snaplock-compliance-clock>  =>   B<integer, optional>

=begin html

<br>If Compliance Clock is initialized then time in seconds in the standard UNIX format (since 01/01/1970 00:00:00) is displayed. Range:[0..2^64-1].

=end html

=back



=head2 snaplock-attrs-info

=begin html

SnapLock Attributes

=end html



B<Fields>

=over 2

=item * I<autocommit-period>  =>   B<snaplock-autocommit-period, optional>

=begin html

<br>Specifies the autocommit period for the SnapLock volume. All files which are not modified for a period greater than the autocommit period of the volume are committed to WORM state. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<default-retention-period>  =>   B<snaplock-default-period, optional>

=begin html

<br>Specifies the default retention period that will be applied to files when committed to WORM state if files has no explicit retention retention time set. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-volume-append-mode-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies if the volume append mode is enabled or disabled. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-volume-expiry-time-indefinite>  =>   B<boolean, optional>

=begin html

<br>Indicates if the volume expiry time is indefinite or not. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-volume-expiry-time-infinite>  =>   B<boolean, optional>

=begin html

<br>Indicates if the volume expiry time is infinite or not. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<litigation-count>  =>   B<string, optional>

=begin html

<br>Specifies the number of litigations on Snaplock Volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<maximum-retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Specifies the allowed maximum retention period for files to be committed to WORM state on the volume. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<minimum-retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Specifies the allowed minimum retention period for files to be committed to WORM state on the volume. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<privileged-delete-state>  =>   B<string, optional>

=begin html

<br>Specifies the prvileged delete state on Snaplock Volume.

=end html

=back



=over 2

=item * I<type>  =>   B<snaplocktype, optional>

=begin html

<br>SnapLock Type of the given volume. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "non_snaplock" , <li> "compliance" , <li> "enterprise" </ul>

=end html

=back



=over 2

=item * I<volume-compliance-clock>  =>   B<L<"compliance-clock-info">, optional>

=begin html

<br>Specifies the volume ComplianceClock of the volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-expiry-time>  =>   B<string, optional>

=begin html

<br>Specifies the expiry time of the volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-expiry-time-secs>  =>   B<integer, optional>

=begin html

<br>Specifies the expiry time of the volume in seconds. if the expiry time is infinite or indefinite, then no value will be returned. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 snaplock-autocommit-period

=begin html

SnapLock Autocommit period

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snaplock-default-period

=begin html

Snaplock default retention period

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snaplock-event-retention-info

=begin html

SnapLock Event Based Retention operation information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<num-files-failed>  =>   B<integer, optional>

=begin html

<br>Number of files on which the application of Event Based Retention policy failed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-files-processed>  =>   B<integer, optional>

=begin html

<br>Number of files on which the Event Based Retention policy has been applied successfully. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-files-skipped>  =>   B<integer, optional>

=begin html

<br>Number of files on which the application of Event Based Retention policy was skipped. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-inodes-ignored>  =>   B<integer, optional>

=begin html

<br>The total count of inodes which were ignored during application of Event Based Retention policy because they are not regular files. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation-id>  =>   B<integer, optional>

=begin html

<br>Operation ID of SnapLock Event Based Retention operation. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation-status>  =>   B<wormopstatus, optional>

=begin html

<br>Status of the SnapLock Event Based Retention operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "in_progress" , <li> "failed" , <li> "aborting" , <li> "completed" </ul>

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path of the form '/<path>' relative to output volume root. The Event Based Retention policy will be applied to all files under the path. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<string, optional>

=begin html

<br>Name of the SnapLock Event Based Retention policy. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Retention period of the SnapLock Event Based Retention policy. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status-details>  =>   B<string, optional>

=begin html

<br>Status details of the SnapLock Event Based Retention operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Name of the SnapLock Volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 snaplock-event-retention-policy-info

=begin html

Information about SnapLock Event Based Retention policies. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the SnapLock Event Based Retention policy. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Retention period of the SnapLock Event Based Retention policy. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Name of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 snaplock-file-retention-info

=begin html

Information about retention time of a file protected by SnapLock. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<file>  =>   B<string, optional>

=begin html

<br>Specifies the absolute path of the file. The value begins with /vol/<volumename>. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<formatted-retention-time>  =>   B<string, optional>

=begin html

<br>Specifies the expiry date of the file in a human-readable format. This takes care of wraparound dates and prints the expiry date of the file in the format <day> <month> <day of month> <hour>:<min>:<sec><year> in GMT timezone. A value of 'infinite' indicates that this file has infinite retention time. A value of 'indefinite' indicates that this file has indefinite retention time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-wraparound>  =>   B<boolean, optional>

=begin html

<br>Specifies the value true if the date represented in retention time is in wraparound format. The wraparound format indicates that dates after 19 January 2038 are mapped from 1 January 1970 - 31 December 2002 to 19 January 2038 - 19 January 2071. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<retention-time>  =>   B<integer, optional>

=begin html

<br>Specifies the retention time of the file in seconds since 1 January 1970 00:00:00. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Specifies the name of the Vserver which has the file. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 snaplock-legal-hold-attributes-info

=begin html

SnapLock legal-hold attributes. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<litigation-name>  =>   B<string, optional>

=begin html

<br>Name of the litigation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-files-failed>  =>   B<integer, optional>

=begin html

<br>The total count of files for which legal-hold operation failed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-files-processed>  =>   B<integer, optional>

=begin html

<br>The total count of files for which legal-hold operation was performed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-files-skipped>  =>   B<integer, optional>

=begin html

<br>The total count of files for which legal-hold operation was skipped. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<num-inodes-ignored>  =>   B<integer, optional>

=begin html

<br>The total count of inodes which were ignored by legal-hold operation because they are not regular files. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation-id>  =>   B<integer, optional>

=begin html

<br>Operation ID of the legal-hold operation. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation-status>  =>   B<wormopstatus, optional>

=begin html

<br>Status of the legal-hold operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "in_progress" , <li> "failed" , <li> "aborting" , <li> "completed" </ul>

=end html

=back



=over 2

=item * I<operation-type>  =>   B<wormlegalop, optional>

=begin html

<br>Type of the legal-hold operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "begin" , <li> "end" , <li> "dump_files" </ul>

=end html

=back



=over 2

=item * I<path>  =>   B<string, optional>

=begin html

<br>Path of the form '/<directory path>' relative to volume root. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status-details>  =>   B<string, optional>

=begin html

<br>Completion string of the legal-hold operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Name of the SnapLock compliance volume, on which legal-hold operation is running. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Name of the vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 snaplock-log-base

=begin html

privileged-delete | system | legal-hold Possible values: <ul> <li> "privileged_delete" , <li> "system" , <li> "legal_hold" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snaplock-minmax-period

=begin html

SnapLock Min and Max retention period

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snaplock-vserver-log-config

=begin html

Information about Audit log congfiguration. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<default-retention-period>  =>   B<snaplock-minmax-period, optional>

=begin html

<br>Specifies the allowed minimum retention period for SnapLock log files to be committed to WORM state on the volume. This option can be specified as a number followed by suffix in &lt;number&gt;&lt;suffix&gt;' format. Valid values of the suffix are : <ul> <li> 'seconds' <li> 'minutes' <li> 'hours' <li> 'days' <li> 'months' <li> 'years' </ul> For example, a value if <b>6months</b> represents a retention period of 6 months. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-log-size>  =>   B<size, optional>

=begin html

<br>Max log file size (in bytes). Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Log Volume Name Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 snaplock-vserver-log-file

=begin html

Information about Audit log file. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<base-name>  =>   B<snaplock-log-base, optional>

=begin html

<br>Base Name of Log File Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "privileged_delete" , <li> "system" , <li> "legal_hold" </ul>

=end html

=back



=over 2

=item * I<expiry-time>  =>   B<string, optional>

=begin html

<br>Log File Expiry Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-path>  =>   B<string, optional>

=begin html

<br>Log File Path Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-size>  =>   B<size, optional>

=begin html

<br>File Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Log Volume Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 snaplocktype

=begin html

non-snaplock|compliance|enterprise Possible values: <ul> <li> "non_snaplock" , <li> "compliance" , <li> "enterprise" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 wormlegalop

=begin html

unknown|begin|end|dump-files Possible values: <ul> <li> "unknown" , <li> "begin" , <li> "end" , <li> "dump_files" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cg-item-mapping

=begin html

Snapmirror Consistency Group Item Mapping

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sm-policy

=begin html

SnapMirror Policy

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sm-policy-type-enum

=begin html

vault|async-mirror|mirror-vault Possible values: <ul> <li> "vault" , <li> "async_mirror" , <li> "mirror_vault" , <li> "sync_mirror" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sm-transfer-priority-enum

=begin html

low|normal Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 smendpointtype

=begin html

flexvol Possible values: <ul> <li> "flexvol" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snapmirror-abort-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=head2 snapmirror-break-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=head2 snapmirror-capabilities-info

=begin html

Capabilities information for a single endpoint type When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<endpoint-type>  =>   B<smendpointtype, optional>

=begin html

<br>Endpoint type. The only supported value is flexvol. Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "flexvol" </ul>

=end html

=back



=over 2

=item * I<is-dpo-destination-enabled>  =>   B<boolean, optional>

=begin html

<br>Whether or not this cluster has a DP_Optimized (Data Protection Optimized) license installed. If the license is installed, the value is true, otherwise it is false. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-dpo-source-enabled>  =>   B<boolean, optional>

=begin html

<br>Whether or not this cluster supports bypassing source SnapMirror license checking if the destination cluster for a SnapMirror relationship has a DP_Optimized (Data Protection Optimized) license installed. Some hardware platforms support this bypassing and some do not. If one or more nodes support bypassing, the value is true, otherwise it is false. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-snaplock-licensed>  =>   B<boolean, optional>

=begin html

<br>Whether or not this cluster has a SnapLock license installed. If the license is installed, the value is true, otherwise it is false. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapmirror-policy-types>  =>   B<L<"snapmirror-policy-cap-info">[], optional>

=begin html

<br>Capabilities information for policy types.

=end html

=back



=head2 snapmirror-check-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror-cr-status-aggregate-eligibility-info

=begin html

SnapMirror Config-Replication Aggregate Eligibility Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<aggr-name, optional>

=begin html

<br>The aggregate being evaluated for config-replication volume hosting eligibility. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>If the aggregate is not eligible to host additional config-replication volumes, this comment indicates the reason. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hosted-configuration-replication-volumes>  =>   B<volume-name[], optional>

=begin html

<br>The volumes used for config-replication that are currently hosted by this aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-eligible-to-host-additional-volumes>  =>   B<boolean, optional>

=begin html

<br>Whether or not this aggregate is eligible to host more config-replication volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 snapmirror-cr-status-comm-info

=begin html

Results of the SnapMirror config replication communication status check When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<heartbeat-recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds a problem with the peer cluster heartbeat. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-heartbeat-received>  =>   B<datetime, optional>

=begin html

<br>The timestamp of the last SnapMirror configuration replication hearbeat received from the peer cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-heartbeat-sent>  =>   B<datetime, optional>

=begin html

<br>The timestamp of the last SnapMirror configuration replication heartbeat sent to the peer cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-cluster>  =>   B<string, optional>

=begin html

<br>The peer cluster destination for SnapMirror configuration replication. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-cluster-uuid>  =>   B<string, optional>

=begin html

<br>The UUID of the peer cluster destination for SnapMirror configuration replication. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-heartbeat>  =>   B<string, optional>

=begin html

<br>Verifies that the SnapMirror configuration replication heartbeat to the peer cluster is healthy. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=head2 snapmirror-cr-status-info

=begin html

Results of the SnapMirror config replication status check When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Verifies that SnapMirror configuration replication is enabled on the cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-running>  =>   B<boolean, optional>

=begin html

<br>Verifies that SnapMirror configuration replication is running on the cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds config replication is not enabled or is enabled but not running. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-in-use>  =>   B<string, optional>

=begin html

<br>The location of SnapMirror configuration replication storage. <p> Examples: <ul> <li>Node Local on node-123 <li>Cluster-wide Volume: MDV_CRS_1bc7134a5ddf11e3b63f123478563412_A <li>Unavailable </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-non-healthy-reason>  =>   B<string, optional>

=begin html

<br>The underlying root cause for non-healthy SnapMirror configuration replication storage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds a problem with configuration replication storage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-status>  =>   B<string, optional>

=begin html

<br>Verifies that SnapMirror configuration replication storage is healthy. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=over 2

=item * I<vserver-recovery-steps>  =>   B<string, optional>

=begin html

<br>Recovery steps in case the check finds a problem with configuration replication Vserver streams. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-streams>  =>   B<string, optional>

=begin html

<br>Verifies that SnapMirror configuration replication Vserver streams are healthy. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ok" - Check passed, <li> "warning" - Check failed, <li> "not_run" - Check could not be run, <li> "not_applicable" - Check is not applicable </ul>

=end html

=back



=head2 snapmirror-cr-storage-info

=begin html

Snapmirror Config-Replication Storage info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<abandoned-volumes>  =>   B<volume-name[], optional>

=begin html

<br>Specifies any volumes that were previously in use by Async Vserver DR configuration replication. Such a volume is always associated with the Cserver, thus no associated Vserver need be specified. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-volume>  =>   B<volume-name, optional>

=begin html

<br>Specifies the volume currently in use by Async Vserver DR configuration replication. The volume is always associated with the Cserver, thus no associated Vserver need be specified. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disallowed-aggregates>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies the list of aggregates that are disallowed for use by the Async Vserver DR configuration replication. An admin may modify this value to exclude aggregates. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<use-mirrored-aggregate>  =>   B<boolean, optional>

=begin html

<br>Specifies whether mirrored aggregates are currently in use by Async Vserver DR configuration replication. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 snapmirror-destination-info

=begin html

Information about a Destination of a SnapMirror Relationship Source When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the format [vserver:]volume. This format may change in the future. The destination endpoint can be specified using the location format above, or by specifying the parameters for the name of the destination Vserver and the name of the destination volume. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of destination volume for the SnapMirror relationshp. The name of the destination Vserver must also be specified if using this parameter. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the relationship. The name of the destination volume must also be specified if using this parameter. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-constituent>  =>   B<boolean, optional>

=begin html

<br>Specifies whether or not the SnapMirror relationship is between Infinite Volume constituent volumes. This parameter is not supported for FlexGroup or FlexGroup constituent SnapMirror relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-type>  =>   B<string, optional>

=begin html

<br>The type of the SnapMirror policy for the relationship. This parameter is only available on Data ONTAP 8.3 or later. On Data ONTAP 8.2, relationships with type extended data protection will behave as if the policy type were vault. The functionality of policy types async-mirror and mirror-vault is not available for extended data protection relationships on Data ONTAP 8.2. Policy type sync-mirror is not supported on Data ONTAP 8.3 or earlier. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "vault" , <li> "async_mirror" , <li> "mirror_vault" , <li> "sync_mirror" </ul>

=end html

=back



=over 2

=item * I<progress-last-updated>  =>   B<integer, optional>

=begin html

<br>Specifies the timestamp indicating when the progress of the ongoing transfer was last updated. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-group-type>  =>   B<string, optional>

=begin html

<br>For FlexVol relationships, specifies the type of the group relationship that includes this FlexVol. For group relationships, specifies the type of the group relationship. This parameter is only available on Data ONTAP 8.3 or later. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" , <li> "vserver" , <li> "infinitevol" , <li> "consistencygroup" , <li> "flexgroup" </ul>

=end html

=back



=over 2

=item * I<relationship-id>  =>   B<string, optional>

=begin html

<br>Specifies the SnapMirror relationship ID. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-status>  =>   B<string, optional>

=begin html

<br>Specifies the SnapMirror relationship status. This parameter is present only if at least one transfer has been performed since the node hosting the source volume joined the quorum. Possible values are: <ul> <li>'idle', <li>'transferring' </ul> This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-type>  =>   B<string, optional>

=begin html

<br>Specifies the SnapMirror relationship type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "data_protection" , <li> "load_sharing" , <li> "vault" , <li> "restore" , <li> "transition_data_protection" , <li> "extended_data_protection" </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the format [vserver:]volume. This format may change in the future. The source endpoint can be specified using the location format above, or by specifying the parameters for the name of the source Vserver and the name of the source volume. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. The name of the source Vserver must also be specified if using this parameter. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-volume-node>  =>   B<string, optional>

=begin html

<br>Node which owns the source volume of the relationship. For FlexGroup relationships it is the node which owns the root constituent source volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. The name of the source volume must also be specified if using this parameter. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transfer-progress>  =>   B<integer, optional>

=begin html

<br>Specifies the number of bytes processed so far for the ongoing transfer. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 snapmirror-destroy-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=head2 snapmirror-file-path

=begin html

Snapmirror File Path

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snapmirror-history-info

=begin html

SnapMirror history When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<additional-info>  =>   B<string, optional>

=begin html

<br>A message describing the cause of the failure or additional information about a successful operation such as if a checkpoint was cleared as part of an abort operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in the following format: <ul> <li> &lt;[vserver:]volume&gt; <li> &lt;vserver:&gt;</ul> This format depends on Vserver peering setup between the source and destination Vservers. The destination endpoint can be specified using the location format, or by specifying the parameters for the name of the destination Vserver and the name of the destination volume or the destination Vserver for Vserver SnapMirror relationships. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship.If using this parameter, the following parameter should also be specified: <ul> <li> The name of the destination Vserver. </ul> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. If using this parameter, the following parameter should also be specified for volume SnapMirror relationships: <ul> <li> The name of destination volume. </ul> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<end-time>  =>   B<datetime, optional>

=begin html

<br>The timestamp of the end time of the operation, in seconds since Jan 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation-id>  =>   B<string, optional>

=begin html

<br>A unique identifier assigned to a SnapMirror operation. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operation-type>  =>   B<string, optional>

=begin html

<br>The type of the operation happened on the relationship. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "create" - Snapmirror Create, <li> "modify" - Snapmirror Modify, <li> "quiesce" - Snapmirror Quiesce, <li> "resume" - Snapmirror Resume, <li> "delete" - Snapmirror Delete, <li> "initialize" - Snapmirror Initialize, <li> "manual_update" - Snapmirror Manual Update, <li> "scheduled_update" - Snapmirror Scheduled Update, <li> "break" - Snapmirror Break, <li> "resync" - Snapmirror Resync, <li> "abort" - Snapmirror Abort, <li> "restore" - Snapmirror Restore </ul>

=end html

=back



=over 2

=item * I<relationship-group-type>  =>   B<string, optional>

=begin html

<br>For FlexVol relationships, specifies the type of the group relationship that includes this FlexVol. For group relationships, specifies the type of the group relationship. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" , <li> "vserver" , <li> "infinitevol" , <li> "consistencygroup" , <li> "flexgroup" </ul>

=end html

=back



=over 2

=item * I<relationship-id>  =>   B<string, optional>

=begin html

<br>A unique identifier assigned to the SnapMirror relationship when it is created. This is not applicable for Vserver SnapMirror relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<result>  =>   B<string, optional>

=begin html

<br>Result of the SnapMirror operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "success" - Succesful Operation, <li> "failure" - Failed Operation </ul>

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in the following format: <ul> <li> &lt;[vserver:]volume&gt; <li> &lt;vserver:&gt; This format depends on Vserver peering setup between the source and destination Vservers. </ul> The source endpoint can be specified using the location format, or by specifying the parameters for the name of the source Vserver and the name of the source volume or the source Vserver for Vserver SnapMirror relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. If using this parameter, the following parameter should also be specified: <ul> <li> The name of the source Vserver. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. If using this parameter, the following parameter should also be specified for volume SnapMirror relationships: <ul> <li> The name of source volume. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<datetime, optional>

=begin html

<br>The timestamp of the start time of the operation, in seconds since Jan 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transfer-size>  =>   B<integer, optional>

=begin html

<br>The total number of bytes transferred as part of the transfer operation. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 snapmirror-info

=begin html

Information about the SnapMirror Relationship. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<break-failed-count>  =>   B<integer, optional>

=begin html

<br>The number of failed SnapMirror break operations for the relationship. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<break-successful-count>  =>   B<integer, optional>

=begin html

<br>The number of successful SnapMirror break operations for the relationship. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>The upper bound in kilobytes per second, at which data is transferred for the current transfer. This value can be the same as the 'max-transfer-rate' or different if overwritten when starting the transfer via the associated commands or APIs (snapmirror-initialize, snapmirror-update, snapmirror-resync, snapmirror-restore). This parameter is only valid when a transfer is in progress. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-operation-id>  =>   B<string, optional>

=begin html

<br>Operation unique identifier of the currently executing SnapMirror operation.This parameter is only available in Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-transfer-error>  =>   B<string, optional>

=begin html

<br>A message describing the last retryable error encountered by the current transfer. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-transfer-priority>  =>   B<string, optional>

=begin html

<br>Priority assigned to the ongoing transfer. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2', and if a transfer is in progress. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html

=back



=over 2

=item * I<current-transfer-type>  =>   B<string, optional>

=begin html

<br>The type of transfer taking place. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initialize" , <li> "update" , <li> "resync" , <li> "restore" , <li> "check" , <li> "file_restore" , <li> "cggrs_initialize" , <li> "cggrs_resync" , <li> "cg_update" , <li> "cg_initialize" , <li> "cg_resync" , <li> "cg_restore" </ul>

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the destination cluster name for the SnapMirror relationship. The parameters for the name of the destination Vserver, and the name of the destination volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<destination-location>  =>   B<string, optional>

=begin html

<br>Specifies the destination endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later. \This format depends on the Vserver peering setup between the source and destination Vservers. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with AltaVault destination endpoints. <li> &lt;ip-addr:&gt;:/lun/&lt;name&gt; On Data ONTAP 9.3 or later for relationships with SolidFire endpoints. <li> This parameter is mandatory if destination-vserver and, for relationships with volumes as endpoints, destination-volume are not specified. This parameter is mandatory for relationships with non-Data ONTAP destinations. </ul> This format may change in the future. The destination endpoint can be specified using the location formats above, or by specifying the parameters for the name of the destination Vserver, the name of the destination volume, and the name of the destination cluster or the destination Vserver. The name of the destination cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<destination-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination volume for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the destination Vserver. <li> The name of the destination cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if destination-location is not specified. </ul> Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<destination-volume-node>  =>   B<string, optional>

=begin html

<br>Node which owns the destination volume of the relationship. For FlexGroup relationships it is the node which owns the root constituent destination volume. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the destination Vserver for the SnapMirror relationship. This parameter is not supported if the destination is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of destination volume. <li> The name of the destination cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if destination-location is not specified. </ul> Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<destination-vserver-uuid>  =>   B<string, optional>

=begin html

<br>A unique identifier assigned to the destination Vserver when it is created. This parameter is only available on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<exported-snapshot>  =>   B<string, optional>

=begin html

<br>The name of the exported Snapshot copy on the destination volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<exported-snapshot-timestamp>  =>   B<integer, optional>

=begin html

<br>The timestamp of the exported Snapshot copy on the destination volume, in seconds since Jan 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-restore-file-count>  =>   B<integer, optional>

=begin html

<br>The number of files being restored by file restore. This parameter is only available on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-restore-file-list>  =>   B<string[], optional>

=begin html

<br>List of the destination file names of the files being restored by file restore. This parameter is only available on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<identity-preserve>  =>   B<boolean, optional>

=begin html

<br>This optional parameter specifies whether or not the identity of the source Vserver is replicated to the destination Vserver and is applicable on Data ONTAP 8.3 or later. If this parameter is set to true, the source Vserver's configuration will additionally be replicated to the destination. If the parameter is set to false, then only the source Vserver's volumes and RBAC configuration are replicated to the destination. By default this parameter will be false. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<is-auto-expand-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether the destination FlexGroup should expand automatically or not. If specified as true, then the destination is expanded automatially upon discovering source FlexGroup expansion. A scheduled update is the trigger point for auto expand. If specified as false, destination will not be expanded automatically. This parameter is valid only for FlexGroup relationships. If the paramter is not specified, auto expansion will be enabled on FlexGroup relationships. This parameter is only available on Data ONTAP 9.3 or later. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-constituent>  =>   B<boolean, optional>

=begin html

<br>Specifies whether or not the SnapMirror relationship is between Infinite Volume constituent volumes. This parameter is not supported for FlexGroup or FlexGroup constituent SnapMirror relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-healthy>  =>   B<boolean, optional>

=begin html

<br>False if the last manual or scheduled update failed or was aborted, or if the last scheduled update was delayed. Otherwise true. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lag-time>  =>   B<integer, optional>

=begin html

<br>The amount of time in seconds by which the data on the mirror lags behind the source. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-duration>  =>   B<integer, optional>

=begin html

<br>The amount of time in seconds it took for the last transfer to complete. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2', and if the last transfer was successful. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-end-timestamp>  =>   B<integer, optional>

=begin html

<br>The Timestamp of the end of the last transfer. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-error>  =>   B<string, optional>

=begin html

<br>A message describing the cause of the last transfer failure. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode, if the relationship control plane is 'v2', and if the last transfer was unsuccessful. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-error-codes>  =>   B<integer[], optional>

=begin html

<br>List of codes providing additional information on the cause and context of the last transfer failure. These are Data ONTAP internal codes, not API errnos. This parameter is reserved for use only by vendor provided management tools, and is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2', and if the last transfer was unsuccessful. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-from>  =>   B<string, optional>

=begin html

<br>The source endpoint of the last transfer. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-network-compression-ratio>  =>   B<string, optional>

=begin html

<br>The compression ratio achieved for the data sent over the wire as a part of the last transfer. If network compression was disabled for the last transfer, the ratio will be set to 1:1. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2', and if the last transfer was successful. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-size>  =>   B<integer, optional>

=begin html

<br>The total number of bytes transferred as part of the last transfer. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2', and if the last transfer was successful. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-type>  =>   B<string, optional>

=begin html

<br>The type of the previous transfer for the relationship. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initialize" , <li> "update" , <li> "resync" , <li> "restore" , <li> "check" , <li> "file_restore" , <li> "cggrs_initialize" , <li> "cggrs_resync" , <li> "cg_update" , <li> "cg_initialize" , <li> "cg_resync" , <li> "cg_restore" </ul>

=end html

=back



=over 2

=item * I<max-transfer-rate>  =>   B<integer, optional>

=begin html

<br>Specifies the upper bound, in kilobytes per second, at which data is transferred. The default is unlimited (0) which permits the SnapMirror relationship to fully utilize the available network bandwidth. For FlexGroup relationships, the max-transfer-rate value is applied individually to each constituent relationship. The max-transfer-rate parameter does not affect load-sharing transfers and transfers for other relationships with Relationship Capability of Pre 8.2 confined to a single cluster. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<mirror-state>  =>   B<string, optional>

=begin html

<br>Specifies the mirror state of the SnapMirror relationship. Possible values are: <ul> <li>'uninitialized' - Destination volume has not been initialized, <li>'snapmirrored' - Destination volume has been initialized and is ready to receive SnapMirror updates, <li>'broken-off' - Destination volume is RW and snapshots are present. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<network-compression-ratio>  =>   B<string, optional>

=begin html

<br>The compression ratio achieved for the data sent over the wire with network compression enabled. The left side of the ratio represents the value obtained by dividing uncompressed bytes transferred by compressed bytes transferred. The compression ratio is not maintained across checkpoint restarts. If network compression is disabled, the ratio will be set to 1:1. This is set only when the relationship-status indicates that an activity is in progress. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<newest-snapshot>  =>   B<string, optional>

=begin html

<br>The name of the newest Snapshot copy on the destination volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<newest-snapshot-timestamp>  =>   B<integer, optional>

=begin html

<br>The timestamp of the newest Snapshot copy on the destination volume, in seconds since Jan 1, 1970. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<opmask>  =>   B<integer, optional>

=begin html

<br>A mask that provides information about the capabilities of the relationship. This parameter is reserved for use only by vendor provided management tools. This parameter is available only on Data ONTAP 9.0 or later operating in Cluster-Mode. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>Specifies the name of the snapmirror policy for the relationship. For SnapMirror relationships of type 'vault' or 'extended data protection', the policy will also have rules to select snapshot copies that must be transferred. If no policy is specified, a default policy will be applied depending on the type of the SnapMirror relationship. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-type>  =>   B<string, optional>

=begin html

<br>The type of the SnapMirror policy for the relationship. This parameter is only available on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. On Data ONTAP 8.2, relationships with type extended data protection will behave as if the policy type were vault. The functionality of policy types async-mirror and mirror-vault is not available for extended data protection relationships on Data ONTAP 8.2. Policy type sync-mirror is not supported on Data ONTAP 8.3 or earlier. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "vault" , <li> "async_mirror" , <li> "mirror_vault" , <li> "sync_mirror" </ul>

=end html

=back



=over 2

=item * I<progress-last-updated>  =>   B<integer, optional>

=begin html

<br>A timestamp indicating when the progress of the transfer was last updated. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2', and if a transfer is in progress. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<pseudo-common-snap-failed-count>  =>   B<integer, optional>

=begin html

<br>Number of Failed Pseudo Common Snapshots Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<pseudo-common-snap-success-count>  =>   B<integer, optional>

=begin html

<br>Number of Successful Pseudo Common Snapshots Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-control-plane>  =>   B<string, optional>

=begin html

<br>The type of the control plane used for the relationship. Possible values are: <ul> <li> 'v1' - Data ONTAP 8.1 compatible control plane. The endpoint location format [&lt;cluster&gt;:][//&lt;vserver&gt;/]&lt;volume&gt; must be used. Long operations such as initialize, update and resync will spawn a job, and return a job id. The job API must be used to track the progress of the operations. <li>'v2' - Data ONTAP 8.2 and later compatible control plane. The endpoint location format [&lt;vserver&gt;:]&lt;volume&gt; should be used. Long operations such as initialize, update, and resync do not spawn a job and do not return a job id. The snapmirror-get API must be used to track the progress of these operations. </ul> This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode.' Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-group-type>  =>   B<string, optional>

=begin html

<br>For FlexVol relationships, specifies the type of the group relationship that includes this FlexVol. For group relationships, specifies the type of the group relationship. This parameter is only available on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" , <li> "vserver" , <li> "infinitevol" , <li> "consistencygroup" , <li> "flexgroup" </ul>

=end html

=back



=over 2

=item * I<relationship-id>  =>   B<string, optional>

=begin html

<br>A unique identifier assigned to the SnapMirror relationship when it is created. This parameter is only available on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-progress>  =>   B<integer, optional>

=begin html

<br>The total number of bytes that have been processed so far for the current activity of the relationship as returned in the relationship-status. This is set only when the relationship-status indicates that an activity is in progress. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-status>  =>   B<string, optional>

=begin html

<br>Specifies the status of the SnapMirror relationship. Possible values are: <ul> <li>'idle' - Transfers are enabled, and no transfer is in progress, <li>'transferring' - SnapMirror transfers are enabled and a transfer is in progress, <li>'checking'- The destination volume is undergoing a diagnostic check and no transfer is in progress. Only applicable for SnapMirror relationships with the relationship-control-plane field set to 'v1', <li>'quiescing' - A SnapMirror transfer is in progress, additional transfers are disabled, <li>'quiesced' - SnapMirror transfers are disabled, no transfer is in progress, <li>'queued' - SnapMirror transfers are enabled, and a transfer operation has been accepted and queued in the system, <li>'preparing' - SnapMirror transfers are enabled, currently in the pre-transfer phase for Vault or extended data protection incremental transfers, <li>'finalizing' - SnapMirror transfers are enabled, currently in the post-transfer phase for vault or extended data protection incremental transfers, <li>'aborting' - SnapMirror transfers are enabled, however a transfer abort operation that may include removal of the checkpoint is underway, <li>'breaking' - The SnapMirror relationship is being broken off and no transfer is in progress. </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<relationship-type>  =>   B<string, optional>

=begin html

<br>Specifies the type of the SnapMirror relationship. An extended data protection relationship with a policy of type vault is equivalent to a 'vault' relationship. Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "data_protection" , <li> "load_sharing" , <li> "vault" , <li> "restore" , <li> "transition_data_protection" , <li> "extended_data_protection" </ul>

=end html

=back



=over 2

=item * I<resync-avg-time-sync-cg>  =>   B<integer, optional>

=begin html

<br>Average Time of Sync CG Resync Operations Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<resync-failed-count>  =>   B<integer, optional>

=begin html

<br>The number of failed SnapMirror resync operations for the relationship. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<resync-successful-count>  =>   B<integer, optional>

=begin html

<br>The number of successful SnapMirror resync operations for the relationship. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Specifies the name of the cron schedule, which is used to update the SnapMirror relationship. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<snapshot-checkpoint>  =>   B<integer, optional>

=begin html

<br>The number of bytes transferred as recorded for the checkpoint of the current or most recent transfer snapshot. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-progress>  =>   B<integer, optional>

=begin html

<br>The number of bytes transferred for the transfer snapshot. This is set only when the relationship-status indicates that an activity is in progress. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source cluster for the SnapMirror relationship. The parameters for the name of the source Vserver, and the name of the source volume must also be specified if using this parameter. This parameter is available only on: <ul> <li> Data ONTAP 8.1 operating in Cluster-Mode. <li> Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. </ul> Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<source-location>  =>   B<string, optional>

=begin html

<br>Specifies the source endpoint of the SnapMirror relationship in one of the following formats: <ul> <li> &lt;system&gt;:/vol/&lt;volume&gt;[/&lt;qtree&gt;] on Data ONTAP operating in 7-Mode. <li> [&lt;cluster&gt:]//&ltvserver&gt/&ltvolume&gt; on Data ONTAP 8.1 operating in Cluster-Mode, and on Data ONTAP 8.2 operating in Cluster-Mode for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. <li> &lt;[vserver:]volume&gt; on Data ONTAP 8.2 or later operating in Cluster-Mode except for relationships using a control plane compatible with Data ONTAP 8.1 operating in Cluster-Mode. This format depends on Vserver peering setup between the source and destination Vservers. <li> &lt;vserver:&gt; With Data ONTAP 8.3 or later.This format depends on the Vserver peering setup between the source and destination Vservers. <li> This parameter is mandatory if source-vserver and, for relationships with volumes as endpoints, source-volume are not specified. <li> &lt;ip-addr:&gt;:/share/&lt;share-name&gt; On Data ONTAP 9.1 or later for relationships with an AltaVault source. <li> &lt;ip-addr:&gt;:/lun/&lt.name&gt; On Data ONTAP 9.3 or later for relationships with a SolidFire endpoint. </ul> This format may change in the future. The source endpoint can be specified using the location formats above, or by specifying the parameters for the name of the source Vserver, the name of the source volume, and the name of the source cluster or the source Vserver. The name of the source cluster is only required on Data ONTAP 8.1 operating in Cluster-Mode. Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<source-volume>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source volume of the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of the source Vserver. <li> The name of the source cluster on Data ONTAP 8.1 operating in Cluster-Mode, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory for relationships with volumes as endpoints if source-location is not specified. </ul> Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<source-vserver>  =>   B<string, optional>

=begin html

<br>Specifies the name of the source Vserver for the SnapMirror relationship. This parameter is not supported if the source is a non-Data ONTAP endpoint. If using this parameter, the following parameters should also be specified: <ul> <li> The name of source volume. <li> The name of the source cluster on Data ONTAP 8.1, or on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v1'. <li> This parameter is mandatory if source-location is not specified. </ul> Attributes: key, optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<source-vserver-uuid>  =>   B<string, optional>

=begin html

<br>A unique identifier assigned to the source Vserver when it is created. This parameter is only available on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-transfer-bytes>  =>   B<integer, optional>

=begin html

<br>Cumulative bytes transferred for the relationship. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. This parameter is not supported for SnapMirror FlexGroup relationships, but it is supported for FlexGroup constituent relationships. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-transfer-time-secs>  =>   B<integer, optional>

=begin html

<br>Cumulative total transfer time in seconds for the relationship. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transfer-snapshot>  =>   B<string, optional>

=begin html

<br>The name of the current snapshot copy being transferred. This is set only when the relationship-status indicates that an activity is in progress. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tries>  =>   B<string, optional>

=begin html

<br>Specifies the maximum number of times to attempt each manual or scheduled transfer for a SnapMirror relationship. The default is eight times. Note: You can set the tries option to zero (0) to disable manual and scheduled updates for the SnapMirror relationship. This parameter is only relevant on Data ONTAP 8.1 operating in Cluster-Mode. On Data ONTAP 8.2 operating in Cluster-Mode, the maximum number of times to attempt a transfer is an attribute of the SnapMirror policy. Therefore the value of this parameter is ignored. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<unhealthy-reason>  =>   B<string, optional>

=begin html

<br>The reason the relationship is not healthy. This parameter is available only on Data ONTAP 8.2 or later operating in Cluster-Mode if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<update-failed-count>  =>   B<integer, optional>

=begin html

<br>The number of failed SnapMirror update operations for the relationship. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<update-successful-count>  =>   B<integer, optional>

=begin html

<br>The number of successful SnapMirror update operations for the relationship. This parameter is available only on Data ONTAP 8.3 or later if the relationship control plane is 'v2'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>If this optional parameter is specified, designates the managing Vserver. The managing Vserver is authorized to use snapmirror commands to manage the SnapMirror relationship. The vserver option is currently a reserved option and should not be used for queries. The destination-vserver parameter should be used to select the Vserver in a cluster context. Attributes: optional-for-create, modifiable

=end html

=back



=head2 snapmirror-initialize-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror-modify-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=head2 snapmirror-path

=begin html

Snapmirror path name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snapmirror-policy-cap-info

=begin html

Capabilities information for policy types.

=end html



B<Fields>

=over 2

=item * I<default-policy>  =>   B<sm-policy, optional>

=begin html

<br>The recommended policy to use for this policy type. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<default-schedule>  =>   B<string, optional>

=begin html

<br>The recommended schedule to use for this policy type. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-licensed>  =>   B<boolean, optional>

=begin html

<br>Whether or not there is a license installed that enables using this policy type. If a SnapMirror license is installed, all policy types are licensed. If only a SnapVault license is installed, only policy type vault is licensed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<policy-type>  =>   B<sm-policy-type-enum, optional>

=begin html

<br>A SnapMirror policy type supported by this endpoint type. Supported values are async_mirror, mirror_vault, and vault. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "vault" , <li> "async_mirror" , <li> "mirror_vault" , <li> "sync_mirror" </ul>

=end html

=back



=over 2

=item * I<supports-snaplock-dest>  =>   B<boolean, optional>

=begin html

<br>Whether or not this policy type supports a SnapLock volume as the destination. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<supports-snaplock-source>  =>   B<boolean, optional>

=begin html

<br>Whether or not this policy type supports a SnapLock volume as the source. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 snapmirror-promote-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=head2 snapmirror-quiesce-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=head2 snapmirror-release-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-destination-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=head2 snapmirror-resume-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=head2 snapmirror-resync-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapmirror-update-iter-info

=begin html

Information about the operation that was attempted/performed against snapmirror object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<result-operation-id>  =>   B<uuid, optional>

=begin html

<br>Result Operation Id

=end html

=back



=over 2

=item * I<snapmirror-key>  =>   B<L<"snapmirror-info">>

=begin html

<br>The keys for the snapmirror object to which the operation applies.

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=head2 snapshot-owner-name

=begin html

Snapshot Copy Owner Name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 xc-vs-name

=begin html

Cross Cluster Vserver Name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sm-restart-enum

=begin html

always|never|default Possible values: <ul> <li> "always" , <li> "never" , <li> "default" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snapmirror-policy-info

=begin html

Information about SnapMirror Policy When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable description associated with the SnapMirror policy. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<create-snapshot>  =>   B<boolean, optional>

=begin html

<br>Specifies whether a new Snapshot Copy is created at the time of a SnapMirror transfer. This field is only applicable on Data ONTAP 8.3 or later. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<discard-configs>  =>   B<svmdr-config-obj[], optional>

=begin html

<br>Configurations Not Replicated During Identity Preserve Vserver DR Attributes: optional-for-create, modifiable Possible values: <ul> <li> "network" - Network </ul>

=end html

=back



=over 2

=item * I<ignore-atime>  =>   B<boolean, optional>

=begin html

<br>Specifies whether incremental transfers will ignore files which have only their access time changed. Applies to SnapMirror vault relationships only. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-network-compression-enabled>  =>   B<boolean, optional>

=begin html

<br>Specifies whether network compression is enabled for transfers. The default value is 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<owner>  =>   B<policy-owner, optional>

=begin html

<br>The owner of the SnapMirror policy. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "cluster_admin" , <li> "vserver_admin" </ul>

=end html

=back



=over 2

=item * I<policy-name>  =>   B<sm-policy, optional>

=begin html

<br>The name of the SnapMirror policy. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<restart>  =>   B<sm-restart-enum, optional>

=begin html

<br>Defines the behavior of SnapMirror if an interrupted transfer exists. Applies to SnapMirror data protection relationship only. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "always" , <li> "never" , <li> "default" </ul>

=end html

=back



=over 2

=item * I<snapmirror-policy-rules>  =>   B<L<"snapmirror-policy-rule-info">[], optional>

=begin html

<br>Information about rules in the policy.

=end html

=back



=over 2

=item * I<total-keep>  =>   B<integer, optional>

=begin html

<br>Total Retention Count for All Rules in the Policy Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-rules>  =>   B<integer, optional>

=begin html

<br>Total Rules in the Policy Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transfer-priority>  =>   B<sm-transfer-priority-enum, optional>

=begin html

<br>Specifies the priority at which a SnapMirror transfer runs. 'normal' : By default every transfer in the system has this priority. These transfers are scheduled before most 'low' priority transfers. 'low': These transfers have least priority and usually are scheduled after most 'normal' priority transfers. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "low" , <li> "normal" </ul>

=end html

=back



=over 2

=item * I<tries>  =>   B<string, optional>

=begin html

<br>Specifies the maximum number of times to attempt each manual or scheduled transfer for a SnapMirror relationship. Valid input is a positive integer or 'unlimited'. The default is '8'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<sm-policy-type-enum, optional>

=begin html

<br>The type of the Snapmirror policy. This field is only applicable on Data ONTAP 8.3 or later. Policy type sync-mirror is not supported on Data ONTAP 8.3 or earlier. Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "vault" , <li> "async_mirror" , <li> "mirror_vault" , <li> "sync_mirror" </ul>

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Specifies the vserver for the SnapMirror policy. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<window-size-for-tdp-mirror>  =>   B<size, optional>

=begin html

<br>Window size for TDP Mirror Transfer Operations. The default size is 2MB. Attributes: optional-for-create, modifiable

=end html

=back



=head2 snapmirror-policy-rule-info

=begin html

Information about rules in the policy.

=end html



B<Fields>

=over 2

=item * I<keep>  =>   B<string, optional>

=begin html

<br>Specifies the maximum number of Snapshot copies that are retained on the SnapMirror destination volume for a rule. The total number of Snapshot copies retained for all the rules in a policy cannot exceed 251. For all the rules in SnapMirror policies of type async-mirror, this parameter must be set to value '1'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<prefix>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy creation prefix name associated with the rule. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<preserve>  =>   B<boolean, optional>

=begin html

<br>Specifies the behavior when the Snapshot copy retention count is reached on the SnapMirror vault destination for the rule. The default value is 'false', which means that the oldest Snapshot copy will be rotated out to make room for new ones only if the number of Snapshot copies has exceeded the retention count specified in the keep parameter. When set to 'true', an incremental SnapMirror vault update will fail when the Snapshot copies have reached the retention count. For all the rules in SnapMirror policies of type async-mirror this parameter must be set to value 'false'. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy creation schedule name associated with the rule. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string, optional>

=begin html

<br>Specifies the Snapshot copy label. It is used for the purpose of Snapshot copy selection for extended data protection relationships. Snapshot copies that have a SnapMirror label that matches this parameter will be transferred to the SnapMirror destination. The label can be 31 or fewer characters in length. SnapMirror policies of type async-mirror and mirror-vault have a rule added for label 'sm_created' at the time of policy creation. This rule cannot be removed or modified by the user. This rule when coupled with create-snapshot field set to 'true' indicates that the SnapMirror relationship using this policy shall create a new Snapshot copy and transfer it as part of an update operation. SnapMirror policies of type async-mirror support one additional rule with SnapMirorr label 'all_source_snapshots'. This rule along with the rule for SnapMirror label 'sm_created' indicates that all new Snapshot copies on the primary volume along with the newly created Snapsho120 :transferred on an initialize or update operation. Rules with any other SnapMirror labels may not be added to SnapMirror policies of type async-mirror. The rule for label sm_created when added to a SnapMirror policy of type vault indicates that all SnapMirror created Snapshot copies of the primary volume are selected for transfer. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<warn>  =>   B<integer, optional>

=begin html

<br>Specifies the warning threshold count for the rule. The default value is 0. When set to a value greater than zero, an event is generated after the remaining number of Snapshot copies (for the particular rule) retained on a SnapMirror vault destination reaches the specified warn limit. The preserve parameter for the rule must be 'true' to set the warn parameter to a value greater than zero. Attributes: optional-for-create, modifiable

=end html

=back



=head2 svmdr-config-obj

=begin html

network Possible values: <ul> <li> "network" - Network </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snapshot-autodelete-info

=begin html

Option name and value.

=end html



B<Fields>

=over 2

=item * I<option-name>  =>   B<string>

=begin html

<br>Option key. Possible values: "state" (value: "on" | "off") "commitment" (value: "try" | "disrupt") "trigger" (value: "volume" | "snap_reserve" | "(DEPRECATED)-space_reserve") "target_free_space" (value: &lt; number &gt;) "delete_order" (value: newest_first | oldest_first) "defer_delete" (value: scheduled | user_created | prefix | none) "destroy_list" (value: &lt; user-defined &gt;) "prefix" (value: &lt; string &gt;)

=end html

=back



=over 2

=item * I<option-value>  =>   B<string>

=begin html

<br>Option value.

=end html

=back



=head2 snapshot-info

=begin html

One snapshot contained in the specified volume. This type is used by snapshot-get-iter, snapshot-modify-iter and snapshot-list-info ZAPIs. When using this type to modify snapshot information, every field except snapmirror-label is non-modifiable.

=end html



B<Fields>

=over 2

=item * I<access-time>  =>   B<integer, optional>

=begin html

<br>The volume access time when the snapshot was created in seconds since Jan 1, 1970. This value will not change even if the snapshot is accessed. Range : [0..2^32-1].

=end html

=back



=over 2

=item * I<afs-used>  =>   B<integer, optional>

=begin html

<br>Size of the active filesystem at the time the snapshot was taken in bytes.

=end html

=back



=over 2

=item * I<busy>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the snapshot can be deleted or not. The snapshot cannot be deleted in the following circumstances: <p> If set to true, the snapshot is hard-locked by some application(s) and hence cannot be deleted. The lock cannot be over-ridden and only the application(s) locking the snapshot can release the lock. The output 'snapshot-owners-list' will report the application(s) who have hard-locked the snapshot. <p> If set to false and some applications are dependent on it, the snapshot is soft-locked and hence cannot be deleted. The output 'dependency' will report the application(s) who have soft-locked the snapshot. In order to over-ride the soft-lock, use the 'ignore-owners' field while deleting the snapshot. <p> If above conditions don't hold, then snapshot is not locked and can be deleted.

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable comment for the snapshot. It can be at most 255 characters. This field is returned only if it is explicitly requested using desired-attributes.

=end html

=back



=over 2

=item * I<compress-savings>  =>   B<integer, optional>

=begin html

<br>Savings due to compression at the time the snapshot was taken in bytes.

=end html

=back



=over 2

=item * I<compression-type>  =>   B<string, optional>

=begin html

<br>The compression type enabled on the volume at the time the Snapshot copy was taken. Possible values: <ul> <li> 'none' ... There was no compression enabled on the volume <li> 'secondary' ... Secondary compression was enabled on the volume <li> 'adaptive' ... Adaptive compression was enabled on the volume </ul>

=end html

=back



=over 2

=item * I<contains-lun-clones>  =>   B<boolean, optional>

=begin html

<br>This snapshots contains lun clones. If true, this snapshot contains lun clones. This is available only if the 'lun-clone-snapshot' option is specified.

=end html

=back



=over 2

=item * I<cumulative-percentage-of-total-blocks>  =>   B<integer, optional>

=begin html

<br>Percentage of blocks owned by this snapshot and all more recent snapshots, relative to the total number of blocks in the volume. Not returned for Infinite Volumes.

=end html

=back



=over 2

=item * I<cumulative-percentage-of-used-blocks>  =>   B<integer, optional>

=begin html

<br>Percentage of blocks owned by this snapshot and all more recent snapshots, relative to the number of blocks currently used in the volume. Not returned for Infinite Volumes.

=end html

=back



=over 2

=item * I<cumulative-total>  =>   B<integer, optional>

=begin html

<br>Cumulative total of 1024 byte blocks of this snapshot and previous snapshots. If the "terse" input is true, this value is omitted.

=end html

=back



=over 2

=item * I<dedup-savings>  =>   B<integer, optional>

=begin html

<br>Savings due to dedup at the time the snapshot was taken in bytes.

=end html

=back



=over 2

=item * I<dependency>  =>   B<string, optional>

=begin html

<br>Application(s) dependent on this snapshot. The list is comma-separated if more than one application depends on this snapshot. It includes "busy" string if the snapshot is hard-locked by an application. This field is returned only if it is explicitly requested using desired-attributes. <p> Possible values include: <ul> <li> "acs" <li> "backup" <li> "dump" <li> "file_clone" <li> "LUNs" <li> "snaplock" <li> "snapmirror" <li> "snapvault" <li> "vclone" <li> "snap restore" </ul>

=end html

=back



=over 2

=item * I<expiry-time>  =>   B<integer, optional>

=begin html

<br>Expiry time of the snapshot in seconds since Jan 1, 1970. Until time of expiry the snapshot will be protected against deletion by system processes. The snapshot is not explicitly deleted when expiry-time elapses. The protection can be bypassed by autodelete when it operates in destroy mode. This field is returned only if it is explicitly requested using desired-attributes.

=end html

=back



=over 2

=item * I<infinite-snaplock-expiry-time>  =>   B<boolean, optional>

=begin html

<br>Indicates if the snaplock expiry time is infinite. If this flag is set, snaplock-expiry-time field will not carry any value.

=end html

=back



=over 2

=item * I<inofile-version>  =>   B<integer, optional>

=begin html

<br>The inofile-version of the snapshot.

=end html

=back



=over 2

=item * I<is-7-mode-snapshot>  =>   B<boolean, optional>

=begin html

<br>True if the snapshot is a 7-mode snapshot.

=end html

=back



=over 2

=item * I<is-constituent-snapshot>  =>   B<boolean, optional>

=begin html

<br>True if the snapshot is a constituent snapshot.

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the snapshot to be listed.

=end html

=back



=over 2

=item * I<percentage-of-total-blocks>  =>   B<integer, optional>

=begin html

<br>Percentage of blocks owned by this snapshot, relative to the total number of blocks in the volume.

=end html

=back



=over 2

=item * I<percentage-of-used-blocks>  =>   B<integer, optional>

=begin html

<br>Percentage of blocks owned by this snapshot, relative to the number of blocks currently used in the volume.

=end html

=back



=over 2

=item * I<snaplock-expiry-time>  =>   B<integer, optional>

=begin html

<br>SnapLock expiry time of the snapshot in seconds since Jan 1, 1970. Snapshot will not be allowed to be deleted or renamed untill the SnapLock ComplianceClock time goes beyond this retention time.

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string, optional>

=begin html

<br>A human readable SnapMirror Label attached with the snapshot. Size of the label can be at most 31 characters. This label will be used by the vaulting system to identify a vaulting scheme.

=end html

=back



=over 2

=item * I<snapshot-instance-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128 bit unique snapshot identifier expressed in the form of UUID. This field uniquely identifies the snapshot's physical data layout.

=end html

=back



=over 2

=item * I<snapshot-owners-list>  =>   B<L<"snapshot-owner">[], optional>

=begin html

<br>The list of owners of a busy snapshot.

=end html

=back



=over 2

=item * I<snapshot-version-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128 bit unique snapshot identifier expressed in the form of UUID. This field uniquely identifies the snapshot's logical data layout.

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>The state of the snapshot. Possible values: <ul> <li> 'valid' ... For an Infinite Volume, the snapshot is complete and consistent. For a FlexGroup, the snapshot is consistent, exists on all of its constituents and can be managed normally. <li> 'invalid' ... The namespace constituent snapshot is missing for an Infinite Volume. <li> 'partial' ... For an Infinite Volume, one or more data constituent snapshots are missing. For a FlexGroup, the snapshot is consistent but exists only on the subset of the constituents that existed prior to the FlexGroup's expansion. Partial snapshots cannot be used for a snapshot restore operation. </ul> Only a snapshot on an Infinite Volume can have a state of invalid. Only a snapshot on an Infinite Volume or a FlexGroup can have the states of valid and partial. <p> The default value is valid.

=end html

=back



=over 2

=item * I<total>  =>   B<integer, optional>

=begin html

<br>Number of 1024 byte blocks in the snapshot. If the "terse" input is true, this value is omitted.

=end html

=back



=over 2

=item * I<vbn0-savings>  =>   B<integer, optional>

=begin html

<br>Savings due to vbn0 at the time the snapshot was taken in bytes. This field is returned only if it is explicitly requested using desired-attributes.

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Volume name.

=end html

=back



=over 2

=item * I<volume-provenance-uuid>  =>   B<uuid, optional>

=begin html

<br>Provenance UUID of the volume at the time the snapshot was created. Refer to the volume-get-iter API for a description of the volume provenance UUID.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the vserver to which this volume belongs.

=end html

=back



=head2 snapshot-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against snapshot object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<snapshot-key>  =>   B<L<"snapshot-info">>

=begin html

<br>The keys for the snapshot object to which the modify operation applies.

=end html

=back



=head2 snapshot-multirename-error

=begin html

Information of the error details for snapshot multirename operation When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<error-number>  =>   B<integer, optional>

=begin html

<br>Error code due to which snapshot rename failed on a volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-reason>  =>   B<string, optional>

=begin html

<br>Error reason due to which snapshot rename failed on a volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string, optional>

=begin html

<br>Volume name on which snapshot rename failed. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 snapshot-name

=begin html

Name of a snapshot.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snapshot-owner

=begin html

owner of a busy snapshot

=end html



B<Fields>

=over 2

=item * I<owner>  =>   B<string>

=begin html

<br>Name of the owner of a busy snapshot

=end html

=back



=head2 snapshot-policy

=begin html

Snapshot Policy

=end html



B<Fields>

=over 2

=item * None

=back



=head2 snapshot-policy-info

=begin html

A typedef containing information about the Snapshot Scheduling Policies. When returned as part of the output, all elements of this typedef are reported, unless limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A human readable description associated with the snasphot policy. The maximum length of this field can be 255 characters. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<enabled>  =>   B<boolean, optional>

=begin html

<br>The state of the snapshot policy. If true, the snapshot policy is enabled and scheduled snapshots will be created on the volume associated with this policy. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<policy>  =>   B<snapshot-policy, optional>

=begin html

<br>A human readable string describing the name of the snapshot scheduling policy. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<policy-owner>  =>   B<string, optional>

=begin html

<br>Owner of the policy Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-policy-schedules>  =>   B<L<"snapshot-schedule-info">[], optional>

=begin html

<br>Information about individual snapshot schedules. To obtain information about invocation times for individual schedules, use API 'job-schedule-get'.

=end html

=back



=over 2

=item * I<total-schedules>  =>   B<integer, optional>

=begin html

<br>Total Number of Schedules in this Policy Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 snapshot-reserve-detail-info

=begin html

Information about a volume's snapshot space reservation configuration.

=end html



B<Fields>

=over 2

=item * I<percentage>  =>   B<integer>

=begin html

<br>Percentage of volume reserved for snapshots. Range : [0 - 100].

=end html

=back



=over 2

=item * I<size>  =>   B<integer>

=begin html

<br>Size in bytes of volume reserved for snapshots. Range : [0 - 2^64-1].

=end html

=back



=over 2

=item * I<volume>  =>   B<string>

=begin html

<br>Name of volume.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the vserver to which this volume belongs. This field is returned only when request is sent to Admin Vserver LIF.

=end html

=back



=head2 snapshot-schedule-info

=begin html

Information about individual snapshot schedules

=end html



B<Fields>

=over 2

=item * I<count>  =>   B<integer, optional>

=begin html

<br>Maximum number of snapshots to retain for the schedule present in the snapshot policy. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<prefix>  =>   B<string, optional>

=begin html

<br>Snapshot name prefix for the schedule present in the snapshot policy. Prefix will be used in the snapshot name instead of the schedule name. If prefix is not provided, schedule name will be used in the snapshot name. For eg, if the prefix name 'hourly-even' is assigned to the schedule name 'hourly' then the snapshot name will look like 'hourly-even.2010-05-10_0205'. If no prefix is associated with the schedule 'hourly' then prefix will be set to 'hourly' as the default value. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>A human readable string describing the name of a schedule present in the snapshot policy. Maximum length of this field can be 255 characters. The schedule name can be any one of the reserved schedules like 'hourly', 'weekly','daily' or it can be a user created schedule. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapmirror-label>  =>   B<string, optional>

=begin html

<br>Snapshot SnapMirror Label for the schedule present in the snapshot policy. The value specified will be added as an attribute to the snapshot created by the schedule. The maximum length of this field is 31 characters Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-error

=begin html

The error code of a given volume.

=end html



B<Fields>

=over 2

=item * I<errno>  =>   B<integer, optional>

=begin html

<br>The error code of the snapshot operation for a given volume. It is returned only when an error is found.

=end html

=back



=over 2

=item * I<name>  =>   B<volume-name>

=begin html

<br>Name of a volume.

=end html

=back



=over 2

=item * I<reason>  =>   B<string, optional>

=begin html

<br>Description of the error. It is returned only when an error is found.

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Virtual server containing the volume.

=end html

=back



=head2 volume-is-snapcreated

=begin html

The status of the snapshot creation for a given volume.

=end html



B<Fields>

=over 2

=item * I<is-snapcreated>  =>   B<boolean>

=begin html

<br>TRUE means a snapshot has been created for the volume.

=end html

=back



=over 2

=item * I<name>  =>   B<volume-name>

=begin html

<br>Name of a volume.

=end html

=back



=head2 community-info

=begin html

Information about a single community.

=end html



B<Fields>

=over 2

=item * I<access-control>  =>   B<string>

=begin html

<br>Access control of the community.The only supported value is "ro" (read-only).

=end html

=back



=over 2

=item * I<community>  =>   B<string>

=begin html

<br>Community name.

=end html

=back



=head2 traphost-info

=begin html

Information about a single registered trap host.

=end html



B<Fields>

=over 2

=item * I<host-name>  =>   B<string>

=begin html

<br>Name of the trap host given by the user. Can be one of the following: hostname, ip-address, or alias Hostname will be a fully qualified Domain Name.

=end html

=back



=over 2

=item * I<ip-address>  =>   B<string>

=begin html

<br>IP address of the trap host.

=end html

=back



=head2 storage-acp-firmware-file

=begin html

Show firmware files When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<filename>  =>   B<string, optional>

=begin html

<br>Storage Firmware File Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 adapter-bar-info

=begin html

display base address information

=end html



B<Fields>

=over 2

=item * I<bar-base>  =>   B<integer>

=begin html

<br>Base address occupied by the storage port adapter. Range : [0..2^32-1]

=end html

=back



=over 2

=item * I<bar-size>  =>   B<integer>

=begin html

<br>Address range occupied by the storage port adapter. Range : [0..2^32-1]

=end html

=back



=over 2

=item * I<bar-type>  =>   B<string>

=begin html

<br>Type of base address information. Possible values are: "I/O", and "memory mapped I/O".

=end html

=back



=head2 adapter-detail-info

=begin html

Detailed information for specific adapter. Display different info base on the type of adapter.

=end html



B<Fields>

=over 2

=item * I<adapter-fc>  =>   B<L<"adapter-fc-info">, optional>

=begin html

<br>Information for fc (Fibre Channel) adapter.

=end html

=back



=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>Adapter port name, which is adapter slot number and, if presented, the port letter designator together. Examples are 8a, 11b. Note that a physical adapter may contain multiple ports.

=end html

=back



=over 2

=item * I<adapter-parallel-scsi>  =>   B<L<"adapter-parallel-scsi-info">, optional>

=begin html

<br>Information for parallel SCSI adapter.

=end html

=back



=over 2

=item * I<adapter-sas>  =>   B<L<"adapter-sas-info">, optional>

=begin html

<br>Information for sas (serial attached SCSI) adapter.

=end html

=back



=over 2

=item * I<adapter-type>  =>   B<string>

=begin html

<br>Type of adapter present in the system. Possible values: "ADT_IF_ATA", "ADT_IF_PARALLEL_SCSI", "ADT_IF_SAS", "ADT_IF_FC".

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF, in which case it is the storage system name.

=end html

=back



=head2 adapter-fc-info

=begin html

Detailed information for fc adapter.

=end html



B<Fields>

=over 2

=item * I<adapter-bar>  =>   B<L<"adapter-bar-info">[], optional>

=begin html

<br>List of base address information

=end html

=back



=over 2

=item * I<adapter-model>  =>   B<string>

=begin html

<br>Model of the adapter.

=end html

=back



=over 2

=item * I<adapter-sff-info>  =>   B<L<"adapter-sff-info">, optional>

=begin html

<br>If the port has a small form factor transceiver/connector (also known as sff), then this is the vendor information on the sff.

=end html

=back



=over 2

=item * I<adapter-sfp-info>  =>   B<L<"adapter-sfp-info">, optional>

=begin html

<br>If the port has a small form factor pluggable transceiver/connector (also known as sfp), then this is the vendor information on the sfp.

=end html

=back



=over 2

=item * I<cache-line-sz>  =>   B<integer, optional>

=begin html

<br>Storage port adapter's data cache size,

=end html

=back



=over 2

=item * I<fc-link-rate>  =>   B<integer>

=begin html

<br>Link rate of Fibre Channel port.

=end html

=back



=over 2

=item * I<fc-node-name>  =>   B<string>

=begin html

<br>Fibre Channel node name.

=end html

=back



=over 2

=item * I<fc-packet-size>  =>   B<integer>

=begin html

<br>Size of Fibre Channel packets.

=end html

=back



=over 2

=item * I<fc-port-name>  =>   B<string, optional>

=begin html

<br>Fibre Channel World Wide Port Name (WWPN) of adapter.

=end html

=back



=over 2

=item * I<firmware-rev>  =>   B<string>

=begin html

<br>Firmware revision of adapter.

=end html

=back



=over 2

=item * I<hardware-rev>  =>   B<string>

=begin html

<br>Hardware revision of adapter.

=end html

=back



=over 2

=item * I<host-loop-id>  =>   B<integer, optional>

=begin html

<br>Storage port adapter's Fibre Channel loop id,

=end html

=back



=over 2

=item * I<host-port-id>  =>   B<integer, optional>

=begin html

<br>Storage port adapter's port id,

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>Is the adapter enabled? true or false.

=end html

=back



=over 2

=item * I<is-ext-gbic>  =>   B<boolean>

=begin html

<br>Is the Fibre Channel gbic external? true or false.

=end html

=back



=over 2

=item * I<is-in-use>  =>   B<boolean>

=begin html

<br>Is the adapter inuse? true or false

=end html

=back



=over 2

=item * I<is-pci-64-capable>  =>   B<boolean, optional>

=begin html

<br>Is the adapter pci-64-capable? true or false.

=end html

=back



=over 2

=item * I<is-redundant>  =>   B<boolean>

=begin html

<br>Is the adapter used in dual-attached config? true or false

=end html

=back



=over 2

=item * I<is-sram-parity>  =>   B<boolean, optional>

=begin html

<br>Is the adapter sram parity configured and enabled? true or false.

=end html

=back



=over 2

=item * I<preload-table-rev>  =>   B<string, optional>

=begin html

<br>Preload table revision of adapter.

=end html

=back



=head2 adapter-name-elem

=begin html

A list of adapter-names that can be used in other storage-adapter interface calls.

=end html



B<Fields>

=over 2

=item * I<adapter-name>  =>   B<string>

=begin html

<br>The adapter name is the slot number and, if present, the port letter designate. Examples are 8a, 11b

=end html

=back



=over 2

=item * I<node-name>  =>   B<string, optional>

=begin html

<br>This field is only valid when the request is sent to the Admin Vserver LIF, in which case it is the storage system name.

=end html

=back



=head2 adapter-parallel-scsi-info

=begin html

Detailed information for parallel SCSI adapter.

=end html



B<Fields>

=over 2

=item * I<adapter-model>  =>   B<string>

=begin html

<br>Model of the adapter.

=end html

=back



=over 2

=item * I<bus-width>  =>   B<string>

=begin html

<br>Possible values: "narrow", or "wide".

=end html

=back



=over 2

=item * I<firmware-rev>  =>   B<string>

=begin html

<br>Firmware revision of adapter.

=end html

=back



=over 2

=item * I<hardware-rev>  =>   B<string>

=begin html

<br>Hardware revision of adapter.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>Is the adapter enabled?

=end html

=back



=head2 adapter-sas-info

=begin html

Detailed information for sas (Serial Attached SCSI) adapter.

=end html



B<Fields>

=over 2

=item * I<adapter-board-revision>  =>   B<string, optional>

=begin html

<br>Adapter board revision as assigned by the manufacturer. Will be missing if data not available or not supported.

=end html

=back



=over 2

=item * I<adapter-date-code>  =>   B<string, optional>

=begin html

<br>Adapter data code assigned by the manufacturer. Will be missing if data not available or not supported.

=end html

=back



=over 2

=item * I<adapter-family>  =>   B<string, optional>

=begin html

<br>Adapter family as assigned by the vendor. Example: 2432. Will be missing if data not available or not supported.

=end html

=back



=over 2

=item * I<adapter-manufacturer>  =>   B<string, optional>

=begin html

<br>Manufacturing facility where adapter was built. Will be missing if data not available or not supported.

=end html

=back



=over 2

=item * I<adapter-manufacturer-part-number>  =>   B<string, optional>

=begin html

<br>Adapter part number assigned by the manufacturer. Will be missing if data not available or not supported.

=end html

=back



=over 2

=item * I<adapter-model>  =>   B<string>

=begin html

<br>Model of the adapter. This is the same as adapter-vendor followed with adapter-family. Example: "Qlogic 2432"

=end html

=back



=over 2

=item * I<adapter-part-number>  =>   B<string, optional>

=begin html

<br>Adapter part number assigned by the vendor. Will be missing if data not available or not supported.

=end html

=back



=over 2

=item * I<adapter-serial-number>  =>   B<string, optional>

=begin html

<br>Adapter serial number. If the serial number is missing, a) It could be an internal connection , i.e. platforms with an embedded shelf b) The cable serial number can't be read or has a mal-formed serial number, part number. If the serial number is missing, but disks are present, a connection is present.

=end html

=back



=over 2

=item * I<adapter-slot>  =>   B<integer>

=begin html

<br>Slot number for the adapter port.

=end html

=back



=over 2

=item * I<adapter-state>  =>   B<string>

=begin html

<br>Current state of the adapter. Possible values: "up", "down", "offline_soft", "offline_hard", "offline_loopback".

=end html

=back



=over 2

=item * I<adapter-vendor>  =>   B<string, optional>

=begin html

<br>Represents the adapter vendor. Example: Qlogic. Will be missing if data not available or not supported.

=end html

=back



=over 2

=item * I<base-wwn>  =>   B<string>

=begin html

<br>Physical base node world-wide name

=end html

=back



=over 2

=item * I<firmware-rev>  =>   B<string>

=begin html

<br>Firmware revision of adapter

=end html

=back



=over 2

=item * I<hardware-rev>  =>   B<string>

=begin html

<br>This is the hardware chip revision of adapter.

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean>

=begin html

<br>Is the adapter enabled?

=end html

=back



=over 2

=item * I<is-in-use>  =>   B<boolean>

=begin html

<br>Is adapter in use? true or false.

=end html

=back



=over 2

=item * I<is-redundant>  =>   B<boolean>

=begin html

<br>Is adapter dual-attached? true or false.

=end html

=back



=over 2

=item * I<sas-adapter-disabled-phy-count>  =>   B<integer, optional>

=begin html

<br>Number of disabled PHYs on the host adapter.

=end html

=back



=over 2

=item * I<sas-adapter-enabled-phy-count>  =>   B<integer, optional>

=begin html

<br>Number of enabled PHYs on the host adapter.

=end html

=back



=over 2

=item * I<sas-adapter-expander-phy-states>  =>   B<L<"sas-adapter-expander-phy-state-info">[], optional>

=begin html

<br>List of expander PHYs, a SAS adapter transceivers, state info. It will be missing if data is not available or if no expander is connected to the adapter.

=end html

=back



=over 2

=item * I<sas-phy>  =>   B<L<"phy-state-info">[], optional>

=begin html

<br>List of adapter PHY state info.

=end html

=back



=over 2

=item * I<sas-qsfp-cable>  =>   B<L<"sas-qsfp-cable-info">, optional>

=begin html

<br>QSFP information of the cable. QSFP is acronym for Quad Small Form-factor Pluggable.. Will be missing if data not available or not or cable not present supported.

=end html

=back



=head2 adapter-sff-info

=begin html

Information on small form factor transceiver/connector (also known as sff).

=end html



B<Fields>

=over 2

=item * I<part-number>  =>   B<string>

=begin html

<br>Vendor's part number for the sff. If data not available, value will be "not_available".

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Serial number for sff. If data not available, value will be "not_available".

=end html

=back



=over 2

=item * I<speed-capabilities>  =>   B<string>

=begin html

<br>Comma separated list of speed capabilities of the sff. Example: "1, 2 Gbit/Sec". If data not available, value will be "not_available".

=end html

=back



=over 2

=item * I<vendor>  =>   B<string>

=begin html

<br>sff vendor name. If data not available, value will be "not_available".

=end html

=back



=head2 adapter-sfp-info

=begin html

Information on small form factor pluggable transceiver/connector (also known as sfp).

=end html



B<Fields>

=over 2

=item * I<part-number>  =>   B<string>

=begin html

<br>Vendor's part number for the sfp. If data not available, value will be "not_available".

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Serial number for sfp. If data not available, value will be "not_available".

=end html

=back



=over 2

=item * I<speed-capabilities>  =>   B<string, optional>

=begin html

<br>Comma separated list of speed capabilities of the sfp. Example: "1, 2 Gbit/Sec". If data not available, value will be "not_available".

=end html

=back



=over 2

=item * I<vendor>  =>   B<string>

=begin html

<br>sfp vendor name If data not available, value will be "not_available".

=end html

=back



=head2 expander-phy-state-info

=begin html

Expander PHY state information.

=end html



B<Fields>

=over 2

=item * I<expander-phy>  =>   B<integer>

=begin html

<br>A PHY is a transceiver; it is the object in a device that electrically interfaces to a physical link.

=end html

=back



=over 2

=item * I<expander-phy-attached-device-type>  =>   B<string>

=begin html

<br>Device type attached to an adapter PHY. Possible values: <ul> <li> "initiator" - A device type that can initiate a SAS communication, <li> "expander" - A device type that facilitates communication between multiple SAS devices, <li> "sas_end_device" - A SAS device that is not contained within an expander device, <li> "sata_end_device" - A SATA end device, <li> "unknown" - An unknown device type. </ul>

=end html

=back



=over 2

=item * I<expander-phy-state>  =>   B<string>

=begin html

<br>Expander PHY state info. Possible values: <ul> <li> "sas_phy_state_enabled_rate_unknown" - PHY is enabled but data transfer rate is unknown, <li> "sas_phy_state_disabled" - PHY is disabled, <li> "sas_phy_state_speed_neg_failed" - Data tranfer rate negotiation failed, <li> "sas_phy_state_sata_oob_failed" - SATA OOB(Out Of Band) signaling failed, <li> "sas_phy_state_enabled_15gbs" - 1.5 Gb/s data transfer rate, <li> "sas_phy_state_enabled_30gbs" - 3.0 Gb/s data transfer rate, <li> "sas_phy_state_enabled_60gbs" - 6.0 Gb/s data transfer rate, <li> "sas_phy_state_enabled_120gbs" - 12.0 Gb/s data transfer rate, <li> "unknown" - Unknown PHY state. </ul>

=end html

=back



=over 2

=item * I<expander-phy-wwn>  =>   B<string>

=begin html

<br>Expander PHY's world-wide name.

=end html

=back



=head2 phy-state-info

=begin html

Adapter PHY state information.

=end html



B<Fields>

=over 2

=item * I<phy>  =>   B<integer>

=begin html

<br>A PHY is a transceiver; it is the object in a device that electrically interfaces to a physical link.

=end html

=back



=over 2

=item * I<phy-state>  =>   B<string>

=begin html

<br>Adapter PHY state info. Possible values: "sas_phy_state_enabled_rate_unknown", "sas_phy_state_disabled", "sas_phy_state_speed_neg_failed", "sas_phy_state_SATA_OOB_failed", "sas_phy_state_enabled_15gbs", "sas_phy_state_enabled_30gbs", "sas_phy_state_enabled_60gbs", "sas_phy_state_enabled_120gbs", "unknown".

=end html

=back



=over 2

=item * I<phy-wwn>  =>   B<string, optional>

=begin html

<br>Adapter PHY's world-wide name.

=end html

=back



=head2 sas-adapter-expander-phy-state-info

=begin html

Adapter PHY and list of connected expander PHYs.

=end html



B<Fields>

=over 2

=item * I<adapter-phy>  =>   B<integer>

=begin html

<br>Adapter PHY connected to a list of expander PHYs.

=end html

=back



=over 2

=item * I<expander-phy-states>  =>   B<L<"expander-phy-state-info">[]>

=begin html

<br>List of all expanders connected to an adapter's PHY.

=end html

=back



=head2 sas-qsfp-cable-info

=begin html

QSPF Cable information.

=end html



B<Fields>

=over 2

=item * I<attached-serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of the attached cable as assigned by the cable manufacturer. This field will not be present if the information is not available, or if a cable is not connected at this connector. Note that depending on the cable, the serial number at the two ends of the cable may or may not match. An example of this is SAS optical cables that do not have integrated QSFP's, which will show different attached serial numbers at the ends of cable. Cables with integrated QSFP's will have matching serial numbers at both ends.

=end html

=back



=over 2

=item * I<cable-end-identifier>  =>   B<string, optional>

=begin html

<br>Each cable has two ends. This field shows which end of the cable is connected to the shelf. This field will not be present if the information is not available or accessible, or if a cable is not connected at this connector. Possible values: "end_0", "end_1".

=end html

=back



=over 2

=item * I<cable-length>  =>   B<string, optional>

=begin html

<br>Length of the cable. Will be missing if data not available or not present.

=end html

=back



=over 2

=item * I<cable-manufacturer>  =>   B<string, optional>

=begin html

<br>Manufacturer of the cable. Will be missing if data not available or not present.

=end html

=back



=over 2

=item * I<cable-part-number>  =>   B<string, optional>

=begin html

<br>Cable part number as assigned by the manufacturer. Will be missing if data not available or not present.

=end html

=back



=over 2

=item * I<cable-serial-number>  =>   B<string, optional>

=begin html

<br>This is actually not serial number, but rather cable identifier. For backwards compatibility this is reported as cable-serial-number. For the actual serial number see attached-serial-number. The connectors at both ends of the same cable will report the same value for this field. This field can be used to generate topology. This field will not be present if a cable is not connected to the connector or if the cable is not connected to a functioning device.

=end html

=back



=over 2

=item * I<cable-technology>  =>   B<string, optional>

=begin html

<br>Cable technology. This field will not be present if the information is not available or accessible, or if a cable is not connected at this connector. Possible values: "active_copper", "passive_copper", "copper", "optical".

=end html

=back



=head2 storage-array-config-summary

=begin html

A summary of array LUN connectivity for each attached array.

=end html



B<Fields>

=over 2

=item * I<array-name>  =>   B<string>

=begin html

<br>The name assigned to the array this group of array LUNs is exported from. 28 character string, no spaces.

=end html

=back



=over 2

=item * I<chassis-serial-number>  =>   B<string>

=begin html

<br>The serial number assigned to the array.

=end html

=back



=over 2

=item * I<device-type>  =>   B<string, optional>

=begin html

<br>Type of LUN device. Describes the type of lun device or tape library. Possible Values are: <ul> <li> "array_lun" - Array LUN type <li> "tape_mc" - Tape Drive or Media Changer/library type <li> "unknown" - Unknown device type </ul>

=end html

=back



=over 2

=item * I<group-number>  =>   B<integer>

=begin html

<br>A unique number associated with a set of array LUNs that share the exact same pathing/connectivity information. Range: [0..65535]

=end html

=back



=over 2

=item * I<initiator-port>  =>   B<string>

=begin html

<br>Initiator port name, e.g. 0a.

=end html

=back



=over 2

=item * I<lun-count>  =>   B<integer>

=begin html

<br>The number of array LUNs assigned to this group. Range: [0..65535]

=end html

=back



=over 2

=item * I<switch-port>  =>   B<string>

=begin html

<br>Name of switch port connected to the HBA (controller's initiator port), or UNKNOWN if direct attached.

=end html

=back



=over 2

=item * I<target-iqn>  =>   B<string>

=begin html

<br>World wide port name of array's target port (224 chars).

=end html

=back



=over 2

=item * I<target-side-switch-port>  =>   B<string>

=begin html

<br>Name of switch port connected to target array, or UNKNOWN if direct attached.

=end html

=back



=over 2

=item * I<target-wwpn>  =>   B<string>

=begin html

<br>World wide port name of array's target port (64 chars).

=end html

=back



=head2 storage-array-error-info

=begin html

Contains error messages associated with array.

=end html



B<Fields>

=over 2

=item * I<error-id>  =>   B<integer>

=begin html

<br>A unique ID for each error returned. ID is unique on a per API call basis only. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<error-text>  =>   B<string>

=begin html

<br>A description of the error being reported.

=end html

=back



=over 2

=item * I<error-type>  =>   B<string>

=begin html

<br>Enum describing type of error. ARRAY_INCONSISTENT_LUN_ADDRESSING_METHOD - 1. Array is using inconsistent LUN addressing schemes. ARRAY_DEVTYPE_ERROR - 2. Array has encountered a device class error. ARRAY_PATH_HIGH_ERROR - 3. Array has exceeded an error rate threshold on a given path. ARRAY_NON_OPTIMIZED_TP - 4. Array is experiencing service times greater than the threshold on the given target port. ARRAY_EXCESSIVE_TP_LATENCY - 5. Array is experiencing latency times greater than the threshold on the given target port.

=end html

=back



=head2 storage-array-port

=begin html

Maps array definition to target port

=end html



B<Fields>

=over 2

=item * I<array-id>  =>   B<integer>

=begin html

<br>Primary key (system defined) for the array record. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<array-name>  =>   B<string>

=begin html

<br>Name of the array in the array record. (28 char max)

=end html

=back



=over 2

=item * I<connection-type>  =>   B<string, optional>

=begin html

<br>Describes the type of connection between the controller and the back end storage. <p>Possible values are: <ul> <li>"direct" - Direct Attached <li>"fabric" - Fabric Attached </ul>

=end html

=back



=over 2

=item * I<max-queue-depth>  =>   B<integer, optional>

=begin html

<br>The target port queue depth for this target port. Range: [0..2048]

=end html

=back



=over 2

=item * I<port-stat-info>  =>   B<L<"storage-array-port-stats">[], optional>

=begin html

<br>Contains statistics about each array port.

=end html

=back



=over 2

=item * I<switch-port>  =>   B<string, optional>

=begin html

<br>For fabric attached connections, the switch port the array target port is connected to. N/A for direct attached.

=end html

=back



=over 2

=item * I<target-iqn>  =>   B<string>

=begin html

<br>The IQN of the iSCSI target.

=end html

=back



=over 2

=item * I<target-port-speed>  =>   B<string, optional>

=begin html

<br>The speed that the target port has negotiated with its connected switch port, or initiator port if direct attached.

=end html

=back



=over 2

=item * I<tpgt>  =>   B<integer>

=begin html

<br>The target portal group of the array. Range: [0..2^16-1]

=end html

=back



=over 2

=item * I<utilization-policy>  =>   B<string, optional>

=begin html

<br>Describes the behavior of Data ONTAP when an array target port reaches its queue depth and is being forced to wait before sending additional I/O. <p>Possible values are: <ul> <li>"normal" - This policy aggressively competes for target port resources, in effect competing with other hosts. (default) <li>"defer" - This policy does not aggressively compete for target port resources, in effect deferring to other hosts. </ul>

=end html

=back



=over 2

=item * I<wwnn>  =>   B<string>

=begin html

<br>World wide node name of array's target port (64 chars).

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string>

=begin html

<br>World wide port name of array's target port (64 chars).

=end html

=back



=head2 storage-array-port-stats

=begin html

Contains statistics about an array port.

=end html



B<Fields>

=over 2

=item * I<average-dynamic-queue-depth>  =>   B<integer>

=begin html

<br>The average value of the dynamic target port queue depth. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<average-latency-per-iop>  =>   B<integer>

=begin html

<br>The average latency for I/O operations performed by this controller on this target port. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<average-pending>  =>   B<integer>

=begin html

<br>An average over time of how many commands are on the outstanding queue. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<average-waiting>  =>   B<integer>

=begin html

<br>An average over time of how many commands are on the waiting queue. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<dynamic-queue-depth>  =>   B<integer>

=begin html

<br>Current dynamic target port queue depth, the maximum number of commands allowed outstanding. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<initiator-port>  =>   B<string>

=begin html

<br>Initiator port name, e.g. 0a.

=end html

=back



=over 2

=item * I<max-pending>  =>   B<integer>

=begin html

<br>The largest number of commands observed on the outstanding queue. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<max-waiting>  =>   B<integer>

=begin html

<br>The largest number of commands observed on the waiting queue. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Node name of array's target port.

=end html

=back



=over 2

=item * I<path-link-errors>  =>   B<integer>

=begin html

<br>Number of link errors reported on the path. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<percent-busy>  =>   B<integer>

=begin html

<br>The percentage of time I/Os are outstanding on the port. Range: [0..100]

=end html

=back



=over 2

=item * I<percent-waiting>  =>   B<integer>

=begin html

<br>The percentage of time there are I/Os waiting on the waiting queue on the target port. Range: [0..100]

=end html

=back



=over 2

=item * I<target-io-kbps>  =>   B<integer>

=begin html

<br>Rolling average of kilobytes per second read and written to this target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<target-iops>  =>   B<integer>

=begin html

<br>Rolling average of I/O operations per second read and written to this target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<target-lun-in-use-count>  =>   B<integer>

=begin html

<br>Number of disks in the IN-USE state on this target port. Range: [0..2^64-1]

=end html

=back



=head2 storage-array-profile

=begin html

data describing characteristics/parameters of/about a storage array

=end html



B<Fields>

=over 2

=item * I<affinity>  =>   B<string>

=begin html

<br>Describes the affinity model supported by the array. <p>Possible values are: <ul> <li>"none" - None <li>"aaa" - Active/Active Asymmettric <li>"ap" - Active/Passive <li>"mixed" - This array is presenting different affinity models to different controllers within the cluster. </ul>

=end html

=back



=over 2

=item * I<all-path-fail-delay>  =>   B<integer>

=begin html

<br>Extend All Path Failure Event (secs). Range: [0|30..90]

=end html

=back



=over 2

=item * I<array-id>  =>   B<integer>

=begin html

<br>primary key (system defined) for the array record. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<errors>  =>   B<L<"storage-array-error-info">[], optional>

=begin html

<br>A list of all errors for the requested array.

=end html

=back



=over 2

=item * I<firmware>  =>   B<string>

=begin html

<br>The firmware revision of the array. (64 chars max)

=end html

=back



=over 2

=item * I<is-upgrade-pending>  =>   B<boolean>

=begin html

<br>The is-upgrade-pending status for the array.

=end html

=back



=over 2

=item * I<lun-queue-depth>  =>   B<integer>

=begin html

<br>The default queue depths assigned to array LUNs from this array. Range: [3..32]

=end html

=back



=over 2

=item * I<max-queue-depth>  =>   B<integer>

=begin html

<br>The target port queue depth for all target ports on this array. Range: [8..2048]

=end html

=back



=over 2

=item * I<model>  =>   B<string>

=begin html

<br>The model name of the array. (16 chars max)

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>A unique node-level user supplied name for the array. (28 char max)

=end html

=back



=over 2

=item * I<network-address>  =>   B<string>

=begin html

<br>IP address/node name of the array's SNMP management port. (1024 char max)

=end html

=back



=over 2

=item * I<optimization-policy>  =>   B<string>

=begin html

<br>Describes the I/O optimization policy used by this array. <p>Possible values are: <ul> <li>"ialua" - The array supports iALUA. <li>"ealua" - The array supports eALUA. <li>"symmetric" - All ports on the array will be treated equally. <li>"proprietary" - A vendor specific optimization is supported for this array. <li>"mixed" - This array supports multiple optimization policies, one per node. <li>"unknown" - No known optimization method is supported for this array (will be treated as if Symmetric) </ul>

=end html

=back



=over 2

=item * I<options>  =>   B<string>

=begin html

<br>A comma separated list of name value pairs of array specific settings. (128 chars max)

=end html

=back



=over 2

=item * I<path-failover-time>  =>   B<integer>

=begin html

<br>Path Failover Timeout (sec). Range: [0..32]

=end html

=back



=over 2

=item * I<port-failover-type>  =>   B<string>

=begin html

<br>The pathing failover supported by the array, either ACTIVE-ACTIVE or ACTIVE-PASSIVE.

=end html

=back



=over 2

=item * I<prefix>  =>   B<string>

=begin html

<br>A unique character code used to refer to this array. (7 chars max)

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>The serial number of the array. (17 char max)

=end html

=back



=over 2

=item * I<vendor>  =>   B<string>

=begin html

<br>The name of the array's vendor, e.g. NetApp. (8 chars max)

=end html

=back



=head2 utilizationpolicytypes

=begin html

normal|defer Possible values: <ul> <li> "normal" - This policy aggressively competes for target port resources, in effect competing with other hosts. (default), <li> "defer" - This policy does not aggressively compete for target port resources, in effect deferring to other hosts. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-chassis-temp-status

=begin html

normal|warning|critical Possible values: <ul> <li> "normal" , <li> "warning" , <li> "critical" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-config-dump-info

=begin html

Storage bridge config-dump file When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<bridge>  =>   B<string, optional>

=begin html

<br>The Bridge name of the bridge that generated the dumpconfiguration file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file>  =>   B<string, optional>

=begin html

<br>The name of the dumpconfiguration file. The file name has the following format: dsbridge_config.serial_no.timestamp.txt. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The node where the dumpconfiguration file is located. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of the bridge that generated the dumpconfiguration file. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<timestamp>  =>   B<datetime, optional>

=begin html

<br>Time when the dumpconfiguration file was collected. This is expressed in seconds since the Epoch. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-configured-fc-port-connection-mode

=begin html

loop|ptp|loop-preferred|ptp-preferred Possible values: <ul> <li> "loop" - Arbitrated loop., <li> "ptp" - Point to point., <li> "loop_preferred" - Arbitrated loop preferred., <li> "ptp_preferred" - Point to point preferred. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-configured-fc-port-data-rate

=begin html

auto|2Gb|4Gb|8Gb|16Gb Possible values: <ul> <li> "auto" - auto, <li> "2gbps" - 2 gigabits/second., <li> "4gbps" - 4 gigabits/second., <li> "8gbps" - 8 gigabits/second., <li> "16gbps" - 16 gigabits/second. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-connectivity-info

=begin html

Information about the individual storage path to the bridge.

=end html



B<Fields>

=over 2

=item * I<initiator-name>  =>   B<string, optional>

=begin html

<br>Name of the adapter in the node to which the bridge is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<initiator-side-switch-port-id>  =>   B<string, optional>

=begin html

<br>WWN of the port and switch to which the adapter in the node is directly connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<initiator-side-switch-port-name>  =>   B<string, optional>

=begin html

<br>Name of the port and switch to which the adapter in the node is directly connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Name of the node to which the bridge is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<uuid, optional>

=begin html

<br>UUID of the node to which the bridge is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-port-wwn>  =>   B<string, optional>

=begin html

<br>World wide name of the port in the bridge to which the node is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-side-switch-port-id>  =>   B<string, optional>

=begin html

<br>WWN of the port and switch to which the bridge is directly connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-side-switch-port-name>  =>   B<string, optional>

=begin html

<br>Name of the port and switch to which the bridge is directly connected. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-cooling-info

=begin html

Information about the storage bridge cooling environment.

=end html



B<Fields>

=over 2

=item * I<maximum-safe-operating-temperature>  =>   B<integer, optional>

=begin html

<br>Maximum safe operating temperature (in degree cesius) reported by the sensor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<minimum-safe-operating-temperature>  =>   B<integer, optional>

=begin html

<br>Minimum safe operating temperature (in degree celsius) reported by the sensor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<temperature-sensor-name>  =>   B<string, optional>

=begin html

<br>Name of the temperature sensor in the bridge. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<temperature-sensor-operational-status>  =>   B<storage-bridge-chassis-temp-status, optional>

=begin html

<br>Operational Status of the Temperature Sensor. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "normal" , <li> "warning" , <li> "critical" </ul>

=end html

=back



=over 2

=item * I<temperature-sensor-reading>  =>   B<integer, optional>

=begin html

<br>Temperature Sensor reading in degree celsius. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-coredump-info

=begin html

Information about a bridge coredump When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<corename>  =>   B<string, optional>

=begin html

<br>The name of the coredump file. The coredump filename has the following format: core.<serial_no>.<date>.<time>.mem Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>The Bridge name of the bridge that generated the coredump. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id, optional>

=begin html

<br>The node where the coredump file is located. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<panic-string>  =>   B<string, optional>

=begin html

<br>Panic string for the panic that generate the coredump. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<panic-time>  =>   B<datetime, optional>

=begin html

<br>Time when the panic occurred. This is expressed in seconds since the Epoch. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of the bridge that generated the coredump. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-error-info

=begin html

Information about the invidual error.

=end html



B<Fields>

=over 2

=item * I<bridge-component-id>  =>   B<integer, optional>

=begin html

<br>SNMP identifier for the bridge component with error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bridge-component-name>  =>   B<string, optional>

=begin html

<br>Name of the bridge component with error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bridge-component-unique-id>  =>   B<string, optional>

=begin html

<br>Unique textual identifier for the bridge component with error. It refers to World Wide Name of the component if available, SNMP identifier otherwise. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Text describing the error occurred in the bridge. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-type>  =>   B<storage-bridge-error-type, optional>

=begin html

<br>Type of the error occurred in the bridge. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "bridge_unreachable" - Bridge is Unreachable over Management Network, <li> "temp_above_critical_level" - Bridge Temperature Above Critical Level, <li> "temp_below_critical_level" - Bridge Temperature Below Critical Level, <li> "temp_sensor_status_critical" - Temperature Sensor Status is Critical, <li> "temp_sensor_status_unavailable" - Temperature Sensor Status is Unavailable, <li> "invalid_configuration" - Bridge FC Ports are not correctly configured, <li> "sas_port_offline" - Bridge SAS Port is Offline, <li> "link_failure" - Link to Bridge has Failed, <li> "fc_port_offline" - Bridge FC Port is Offline, <li> "sas_port_online" - Bridge SAS Port is Online, <li> "power_supply_offline" - Bridge Power Supply is Offline </ul>

=end html

=back



=over 2

=item * I<severity>  =>   B<storage-bridge-error-severity, optional>

=begin html

<br>Severity of the error occurred in the bridge. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Severity Unknown, <li> "notice" - Notice, <li> "warning" - Warning, <li> "error" - Error </ul>

=end html

=back



=head2 storage-bridge-error-severity

=begin html

unknown|notice|warning|error Possible values: <ul> <li> "unknown" - Severity Unknown, <li> "notice" - Notice, <li> "warning" - Warning, <li> "error" - Error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-error-type

=begin html

unknown|bridge-unreachable|temp-above-critical-level|temp-below-critical-level|temp-sensor-status-critical|temp-sensor-status-unavailable|invalid-configuration|sas-port-offline|link-failure|sas-port-online|power-supply-offline Possible values: <ul> <li> "unknown" - Unknown, <li> "bridge_unreachable" - Bridge is Unreachable over Management Network, <li> "temp_above_critical_level" - Bridge Temperature Above Critical Level, <li> "temp_below_critical_level" - Bridge Temperature Below Critical Level, <li> "temp_sensor_status_critical" - Temperature Sensor Status is Critical, <li> "temp_sensor_status_unavailable" - Temperature Sensor Status is Unavailable, <li> "invalid_configuration" - Bridge FC Ports are not correctly configured, <li> "sas_port_offline" - Bridge SAS Port is Offline, <li> "link_failure" - Link to Bridge has Failed, <li> "fc_port_offline" - Bridge FC Port is Offline, <li> "sas_port_online" - Bridge SAS Port is Online, <li> "power_supply_offline" - Bridge Power Supply is Offline </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-fc-port-admin-state

=begin html

unknown|disabled|enabled Possible values: <ul> <li> "unknown" , <li> "disabled" , <li> "enabled" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-fc-port-data-rate-capability

=begin html

2Gbps|4Gbps|8Gbps|16Gbps Possible values: <ul> <li> "unknown" , <li> "2gbps" - 2 gigabits per second., <li> "4gbps" - 4 gigabits per second., <li> "8gbps" - 8 gigabits per second., <li> "16gbps" - 16 gigabits per second. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-fc-port-oper-state

=begin html

unknown|online|offline Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-fc-port-sfp-info

=begin html

Information about the individual sfp.

=end html



B<Fields>

=over 2

=item * I<data-rate-capability>  =>   B<storage-bridge-fc-sfp-data-rate-capability, optional>

=begin html

<br>Data Rate capability of the small form-factor pluggable. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "2gbps" - 2 gigabits/second., <li> "4gbps" - 4 gigabits/second., <li> "8gbps" - 8 gigabits/second., <li> "16gbps" - 16 gigabits/second. </ul>

=end html

=back



=over 2

=item * I<fc-port-index>  =>   B<integer, optional>

=begin html

<br>Index of FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<part-number>  =>   B<string, optional>

=begin html

<br>Part number of the small form-factor pluggable. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of the small form-factor pluggable. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Vendor of the small form-factor pluggable. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-fc-port-statistics-info

=begin html

Statistics information about the individual fibre channel port.

=end html



B<Fields>

=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>Index of FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<invalid-crc-count>  =>   B<integer, optional>

=begin html

<br>Invalid CRC count for the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<invalid-primitive-count>  =>   B<integer, optional>

=begin html

<br>Bridge FC Port Error Primitive Count List Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<invalid-txword-count>  =>   B<integer, optional>

=begin html

<br>Bridge FC Port Invalid TX Words List Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<link-failures-count>  =>   B<integer, optional>

=begin html

<br>Link Failure count for the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lip-count>  =>   B<integer, optional>

=begin html

<br>LIP count for the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nos-count>  =>   B<integer, optional>

=begin html

<br>NOS count for the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rx-words-count>  =>   B<integer, optional>

=begin html

<br>Number of words received by the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<signal-loss-count>  =>   B<integer, optional>

=begin html

<br>Signal Loss count for the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sync-losses-count>  =>   B<integer, optional>

=begin html

<br>Sync Loss count for the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<time-since-reset>  =>   B<integer, optional>

=begin html

<br>Bridge FC Port Time Since Statistics Reset List Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tx-words-count>  =>   B<integer, optional>

=begin html

<br>Number of words transmitted by the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-fc-sfp-data-rate-capability

=begin html

2Gb|4Gb|8Gb|16Gb Possible values: <ul> <li> "2gbps" - 2 gigabits/second., <li> "4gbps" - 4 gigabits/second., <li> "8gbps" - 8 gigabits/second., <li> "16gbps" - 16 gigabits/second. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-info

=begin html

Storage Bridge When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>IP Address of the bridge. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<chassis-throughput-status>  =>   B<storage-bridge-throughput-status, optional>

=begin html

<br>Chassis throughput status. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "normal" , <li> "warning" </ul>

=end html

=back



=over 2

=item * I<dram-single-bit-error-count>  =>   B<integer, optional>

=begin html

<br>Number of DRAM single-bit errors since reboot. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<firmware-version>  =>   B<string, optional>

=begin html

<br>Firmware version of the bridge. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-being-monitored>  =>   B<boolean, optional>

=begin html

<br>Is bridge being monitored under Fabric Health Monitor? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-reboot-reason>  =>   B<string, optional>

=begin html

<br>Reason for last reboot. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-reboot-time>  =>   B<datetime, optional>

=begin html

<br>Last time bridge was rebooted. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<model>  =>   B<string, optional>

=begin html

<br>Model of the bridge. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the bridge. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial Number of the bridge. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<storage-device-status, optional>

=begin html

<br>Status of the bridge. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Device Status Unknown, <li> "ok" - Device Status Ok, <li> "error" - Device Status Erroneous </ul>

=end html

=back



=over 2

=item * I<storage-bridge-connectivity-list>  =>   B<L<"storage-bridge-connectivity-info">[], optional>

=begin html

<br>Information about the individual storage path to the bridge.

=end html

=back



=over 2

=item * I<storage-bridge-cooling-info>  =>   B<L<"storage-bridge-cooling-info">, optional>

=begin html

<br>Information about the storage bridge cooling environment.

=end html

=back



=over 2

=item * I<storage-bridge-error-list>  =>   B<L<"storage-bridge-error-info">[], optional>

=begin html

<br>Information about the invidual error.

=end html

=back



=over 2

=item * I<storage-bridge-fc-port-list>  =>   B<L<"storage-brige-fc-port-info">[], optional>

=begin html

<br>Information about the individual fibre channel port.

=end html

=back



=over 2

=item * I<storage-bridge-fc-port-sfp-list>  =>   B<L<"storage-bridge-fc-port-sfp-info">[], optional>

=begin html

<br>Information about the individual sfp.

=end html

=back



=over 2

=item * I<storage-bridge-fc-port-statistics-list>  =>   B<L<"storage-bridge-fc-port-statistics-info">[], optional>

=begin html

<br>Statistics information about the individual fibre channel port.

=end html

=back



=over 2

=item * I<storage-bridge-mini-sas-hd-list>  =>   B<L<"storage-bridge-mini-sas-hd-info">[], optional>

=begin html

<br>Information about the individual Mini-SAS HD.

=end html

=back



=over 2

=item * I<storage-bridge-power-supply-list>  =>   B<L<"storage-bridge-power-supply-info">[], optional>

=begin html

<br>Information about the bridge power supplies.

=end html

=back



=over 2

=item * I<storage-bridge-sas-port-list>  =>   B<L<"storage-bridge-sas-port-info">[], optional>

=begin html

<br>Information about the individual SAS port.

=end html

=back



=over 2

=item * I<storage-bridge-sas-port-qsfp-list>  =>   B<L<"storage-bridge-sas-port-qsfp-info">[], optional>

=begin html

<br>Information about the individual sfp.

=end html

=back



=over 2

=item * I<storage-bridge-sas-port-statistics-list>  =>   B<L<"storage-bridge-sas-port-statistics-info">[], optional>

=begin html

<br>Statistics information about the individual SAS port.

=end html

=back



=over 2

=item * I<symbolic-name>  =>   B<string, optional>

=begin html

<br>If set, symbolic name of the bridge, 'Not Set' otherwise. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vendor>  =>   B<storage-bridge-vendor, optional>

=begin html

<br>Vendor of the bridge. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "atto" </ul>

=end html

=back



=over 2

=item * I<wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the bridge. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-mini-sas-hd-info

=begin html

Information about the individual Mini-SAS HD.

=end html



B<Fields>

=over 2

=item * I<mini-sas-hd-index-list>  =>   B<integer, optional>

=begin html

<br>Index of Mini-SAS HD. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mini-sas-hd-part-number-list>  =>   B<string, optional>

=begin html

<br>Part number of the Mini-SAS HD. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mini-sas-hd-serial-number-list>  =>   B<string, optional>

=begin html

<br>Serial Number of the Mini-SAS HD. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mini-sas-hd-type-list>  =>   B<string, optional>

=begin html

<br>Type of the Mini-SAS HD. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mini-sas-hd-vendor-list>  =>   B<string, optional>

=begin html

<br>Vendor of the Mini-SAS HD. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-negotiated-fc-port-data-rate

=begin html

unknown|2|4|8|16 Possible values: <ul> <li> "unknown" , <li> "2gb" , <li> "4gb" , <li> "8gb" , <li> "16gb" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-negotiated-sas-port-data-rate

=begin html

unknown|1.5Gbps|3Gbps|6Gbps|12Gbps Possible values: <ul> <li> "unknown" - Unknown data rate., <li> "1_5gbps" - 1.5 gigabits., <li> "3gbps" - 3 gigabits., <li> "6gbps" - 6 gigabits., <li> "12gbps" - 12 gigabits. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-power-supply-info

=begin html

Information about the bridge power supplies.

=end html



B<Fields>

=over 2

=item * I<power-supply-index-list>  =>   B<integer, optional>

=begin html

<br>Bridge Power Supply Index List Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<power-supply-name-list>  =>   B<string, optional>

=begin html

<br>Name of the bridge power supply. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<power-supply-status-list>  =>   B<storage-bridge-power-supply-status, optional>

=begin html

<br>Status of the bridge power supply. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "down" , <li> "up" </ul>

=end html

=back



=head2 storage-bridge-power-supply-status

=begin html

unknown|down|up Possible values: <ul> <li> "unknown" , <li> "down" , <li> "up" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-qsfp-type

=begin html

unknown|optical|active-copper|passive-copper Possible values: <ul> <li> "unknown" - Unknown type., <li> "optical" - Optical quad small form factor pluggable., <li> "active_copper" - Active copper quad small form factor pluggable., <li> "passive_copper" - Passive copper quad small form factor pluggable. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-sas-port-admin-state

=begin html

unknown|disabled|enabled Possible values: <ul> <li> "unknown" , <li> "disabled" , <li> "enabled" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-sas-port-data-rate-capability

=begin html

unknown|1.5Gbps|3Gbps|6Gbps|12Gbps Possible values: <ul> <li> "unknown" - Unknown data rate., <li> "1_5gbps" - 1.5 gigabits per second., <li> "3gbps" - 3 gigabits per second., <li> "6gbps" - 6 gigabits per second., <li> "12gbps" - 12 gigabits per second. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-sas-port-info

=begin html

Information about the individual SAS port.

=end html



B<Fields>

=over 2

=item * I<administrative-state>  =>   B<storage-bridge-sas-port-admin-state, optional>

=begin html

<br>Administrative state of the SAS port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "disabled" , <li> "enabled" </ul>

=end html

=back



=over 2

=item * I<data-rate-capability>  =>   B<storage-bridge-sas-port-data-rate-capability, optional>

=begin html

<br>Data Rate capability of the SAS port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown data rate., <li> "1_5gbps" - 1.5 gigabits per second., <li> "3gbps" - 3 gigabits per second., <li> "6gbps" - 6 gigabits per second., <li> "12gbps" - 12 gigabits per second. </ul>

=end html

=back



=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>Index of SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<negotiated-data-rate>  =>   B<storage-bridge-negotiated-sas-port-data-rate, optional>

=begin html

<br>Negotiated Data Rate of the SAS port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown data rate., <li> "1_5gbps" - 1.5 gigabits., <li> "3gbps" - 3 gigabits., <li> "6gbps" - 6 gigabits., <li> "12gbps" - 12 gigabits. </ul>

=end html

=back



=over 2

=item * I<operational-state>  =>   B<storage-bridge-sas-port-oper-state, optional>

=begin html

<br>Operational status of the SAS port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" , <li> "degraded" </ul>

=end html

=back



=over 2

=item * I<phy1-operational-state>  =>   B<storage-bridge-sas-port-phy-oper-state, optional>

=begin html

<br>Operational state of 1st physical link in SAS port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html

=back



=over 2

=item * I<phy2-operational-state>  =>   B<storage-bridge-sas-port-phy-oper-state, optional>

=begin html

<br>Operational state of 2nd physical link in SAS port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html

=back



=over 2

=item * I<phy3-operational-state>  =>   B<storage-bridge-sas-port-phy-oper-state, optional>

=begin html

<br>Operatinal state of 3rd physical link in SAS port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html

=back



=over 2

=item * I<phy4-operational-state>  =>   B<storage-bridge-sas-port-phy-oper-state, optional>

=begin html

<br>Operational state of 4th physical link in SAS port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html

=back



=over 2

=item * I<sas-port-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-sas-port-oper-state

=begin html

unknown|online|offline|degraded Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" , <li> "degraded" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-sas-port-phy-oper-state

=begin html

unknown|online|offline Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-sas-port-qsfp-info

=begin html

Information about the individual sfp.

=end html



B<Fields>

=over 2

=item * I<part-number>  =>   B<string, optional>

=begin html

<br>Part Number of the quad small form-factor pluggable. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<qsfp-type>  =>   B<storage-bridge-qsfp-type, optional>

=begin html

<br>Type of quad small form-factor pluggable. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown type., <li> "optical" - Optical quad small form factor pluggable., <li> "active_copper" - Active copper quad small form factor pluggable., <li> "passive_copper" - Passive copper quad small form factor pluggable. </ul>

=end html

=back



=over 2

=item * I<sas-port-index>  =>   B<integer, optional>

=begin html

<br>Index of SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial Number of the quad small form-factor pluggable. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Vendor of the quad small form-factor pluggable. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-sas-port-statistics-info

=begin html

Statistics information about the individual SAS port.

=end html



B<Fields>

=over 2

=item * I<phy-disparity-count>  =>   B<integer, optional>

=begin html

<br>Disparity count for the physical link in SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-index>  =>   B<integer, optional>

=begin html

<br>Index of physical link in SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-invalid-crc-count>  =>   B<integer, optional>

=begin html

<br>Invalid CRC count for the physical link in SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-invalid-dword-count>  =>   B<integer, optional>

=begin html

<br>Invalid DWORD coung for the physical link in SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-link-changed-count>  =>   B<integer, optional>

=begin html

<br>Link changed count for the physical link in SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-reset-count>  =>   B<integer, optional>

=begin html

<br>physical link reset count. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-sync-losses-count>  =>   B<integer, optional>

=begin html

<br>Sync Loss count for the physical link in SAS port. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-bridge-throughput-status

=begin html

normal|warning Possible values: <ul> <li> "normal" , <li> "warning" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-bridge-vendor

=begin html

unknown|Atto Possible values: <ul> <li> "unknown" , <li> "atto" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-brige-fc-port-info

=begin html

Information about the individual fibre channel port.

=end html



B<Fields>

=over 2

=item * I<administrative-state>  =>   B<storage-bridge-fc-port-admin-state, optional>

=begin html

<br>Administrative status of the FC port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "disabled" , <li> "enabled" </ul>

=end html

=back



=over 2

=item * I<configured-connection-mode>  =>   B<storage-bridge-configured-fc-port-connection-mode, optional>

=begin html

<br>Configured connection mode for the FC port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "loop" - Arbitrated loop., <li> "ptp" - Point to point., <li> "loop_preferred" - Arbitrated loop preferred., <li> "ptp_preferred" - Point to point preferred. </ul>

=end html

=back



=over 2

=item * I<configured-data-rate>  =>   B<storage-bridge-configured-fc-port-data-rate, optional>

=begin html

<br>Configured Data Rate of the FC port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "auto" - auto, <li> "2gbps" - 2 gigabits/second., <li> "4gbps" - 4 gigabits/second., <li> "8gbps" - 8 gigabits/second., <li> "16gbps" - 16 gigabits/second. </ul>

=end html

=back



=over 2

=item * I<data-rate-capability>  =>   B<storage-bridge-fc-port-data-rate-capability, optional>

=begin html

<br>Data Rate capability of the FC port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "2gbps" - 2 gigabits per second., <li> "4gbps" - 4 gigabits per second., <li> "8gbps" - 8 gigabits per second., <li> "16gbps" - 16 gigabits per second. </ul>

=end html

=back



=over 2

=item * I<fc-port-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>Index of FC port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<negotiated-data-rate>  =>   B<storage-bridge-negotiated-fc-port-data-rate, optional>

=begin html

<br>Negotiated Data Rate of the FC port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "2gb" , <li> "4gb" , <li> "8gb" , <li> "16gb" </ul>

=end html

=back



=over 2

=item * I<operational-state>  =>   B<storage-bridge-fc-port-oper-state, optional>

=begin html

<br>Operational status of the FC port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html

=back



=over 2

=item * I<peer-port-name>  =>   B<string, optional>

=begin html

<br>FC port's peer port name. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-device-status

=begin html

unknown|ok|error Possible values: <ul> <li> "unknown" - Device Status Unknown, <li> "ok" - Device Status Ok, <li> "error" - Device Status Erroneous </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 disk-aggregate-info

=begin html

Details giving disk's basic disposition within its overlying aggregate or traditional volume. Information that is specific to a disk contained within an aggregate or traditional volume is returned here. Returned only if 'container-type' is "aggregate" or "volume".

=end html



B<Fields>

=over 2

=item * I<aggregate-name>  =>   B<string, optional>

=begin html

<br>Name of aggregate or traditional volume with which this disk is associated. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<checksum-type>  =>   B<string, optional>

=begin html

<br>The checksum type that has been assigned to this disk. Omitted if information is unavailable, or if excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "advanced_zoned" - Advanced zoned checksum. <li> "block" - Block checksum. <li> "none" - No checksum type assigned. <li> "wafl" - WAFL checksum. <li> "zoned" - Zoned checksum (this value is no longer supported). </ul>

=end html

=back



=over 2

=item * I<copy-destination-cluster-name>  =>   B<string, optional>

=begin html

<br>cluster unique name of the copy destination disk. 'stack-id'.'shelf'.'bay'. Disks on multi-disk carriers take the form 'stack-id'.'shelf'.'bay'.'lun'. <p> Virtual disks take the form 'prefix'.'number' where prefix is the storage array's prefix and number is a unique ascending number. <p> Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'. <p> Omitted if both 'is-prefailed' and 'is-replacing' are false, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<copy-destination-name>  =>   B<string, optional>

=begin html

<br>name of copy destination. Omitted if both 'is-prefailed' and 'is-replacing' are false, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<copy-percent-complete>  =>   B<integer, optional>

=begin html

<br>Percent completion of disk copy. Omitted if no copy operation involving this disk is in progress. So omitted if neither 'is-prefailed' nor 'is-replacing' is true, and if position is not "copy".

=end html

=back



=over 2

=item * I<is-media-scrubbing>  =>   B<boolean, optional>

=begin html

<br>True if media scrub is currently active for this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-offline>  =>   B<boolean, optional>

=begin html

<br>True if disk is offline. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-prefailed>  =>   B<boolean, optional>

=begin html

<br>True if the admin issued a 'disk fail' or if the the system marked this disk for Rapid RAID Recovery. This flag is expected to remain set until the system has copied the contents of this disk to a system-selected replacement disk. At that point, this disk is expected to be removed from service and placed in in the broken pool. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-reconstructing>  =>   B<boolean, optional>

=begin html

<br>True if disk is in process of being reconstructed. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-replacing>  =>   B<boolean, optional>

=begin html

<br>True if the admin issued 'disk replace' to replace this disk with a specified replacement disk. This flag is expected to remain true until the system has copied the contents of this disk to the admin-specified replacement disk. At that point this disk is expected to be released to the spare pool. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-zeroed>  =>   B<boolean, optional>

=begin html

<br>True if disk is in pre-zeroed state. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-zeroing>  =>   B<boolean, optional>

=begin html

<br>True only if disk position is 'pending' and disk is in process of being zeroed. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<plex-name>  =>   B<string, optional>

=begin html

<br>Name of plex with which this disk is associated. Omitted if disk is not associated with a plex, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<raid-group-name>  =>   B<string, optional>

=begin html

<br>Name of RAID group to which this disk belongs. Omitted if disk does not belong to a RAID group, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<reconstruct-percent-complete>  =>   B<integer, optional>

=begin html

<br>Percent completion of disk reconstruction. Omitted if 'is-reconstructing' is not true, if reconstruct is stalled, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<zeroing-percent-complete>  =>   B<integer, optional>

=begin html

<br>Percent completion of disk zeroing. Omitted if is-zeroing' is not true, or if excluded by 'desired-attributes'.

=end html

=back



=head2 disk-inventory-info

=begin html

Disk inventory info.

=end html



B<Fields>

=over 2

=item * I<bytes-per-sector>  =>   B<integer, optional>

=begin html

<br>Number of bytes per disk sector. A sector count element, such as 'capacity-sectors' and 'right-size-sectors', may be multiplied by this value to convert to a byte count. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<capacity-sectors>  =>   B<integer, optional>

=begin html

<br>Total number of disk sectors on this disk, given in units of 'bytes-per-sector'. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<carrier-id>  =>   B<string, optional>

=begin html

<br>Unique identifier of the disk carrier. Maximum length of 34 characters. It is not returned if is-multidisk-carrier is set to false. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<carrier-serialno>  =>   B<string, optional>

=begin html

<br>Unique serial number of the disk carrier. Maximum length of 17 characters. It is not returned if is-multidisk-carrier is set to false. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<checksum-compatibility>  =>   B<string, optional>

=begin html

<br>An indication of the checksum types that this disk is capable of supporting. Each possible return value represents one or more checksum types. Omitted if not available or if excluded by 'desired-attributes'. <p> Starting in Data ONTAP 8.1, "zoned/block" is no longer supported. <p> Possible values: <ul> <li> "advanced_zoned" - Supports advanced zoned checksum. <li> "block" - Supports block checksum. <li> "none" - No checksum support. <li> "zoned/advanced_zoned" - Supports zoned and advanced zoned checksum (this value is no longer supported). </ul>

=end html

=back



=over 2

=item * I<disk-class>  =>   B<string, optional>

=begin html

<br>Disk class of this disk. Disks are grouped into classes based on their performance characteristics. Disks with the same 'disk-class' value are compatible for use in the same aggregate. Omitted if excluded by 'desired attributes'. <p> Possible values: <ul> <li> "unknown" - Unknown disk class.</li> <li> "capacity" - Capacity-oriented, near-line disk types. Includes disk types FSAS, BSAS and ATA.</li> <li> "performance" - Performance-oriented, enterprise class disk types. Includes disk types FCAL and SAS.</li> <li> "archive" - Archive class SATA disks in multi-disk carrier storage shelves. Includes disk type MSATA.</li> <li> "solid_state" - Solid-state drives. Includes disk type SSD.</li> <li> "array" - Logical storage devices backed by storage arrays and used by Data ONTAP as disks. Includes disk type LUN</li> <li> "virtual" - Virtual disks that are formatted and managed by the hypervisor. Includes disk type VMDISK.</li> </ul>

=end html

=back



=over 2

=item * I<disk-cluster-name>  =>   B<string, optional>

=begin html

<br>A cluster unique name for a disk. Disks take the form 'stack-id'.'shelf'.'bay'. Disks on multi-disk carriers take the form 'stack-id'.'shelf'.'bay'.'lun'. <p> Virtual disks take the form 'prefix'.'number' where prefix is the storage array's prefix and number is a unique ascending number. <p> Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Disk interface type. Omitted if excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "ATA" <li> "BSAS" <li> "FCAL" <li> "LUN" <li> "MSATA" <li> "SAS" <li> "SSD" <li> "FSAS" <li> "VMDISK" <li> "unknown" </ul>

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string, optional>

=begin html

<br>Disk unique identifier. Maximum length of 90 characters. Omitted if excluded by desired-attributes'.

=end html

=back



=over 2

=item * I<drawer>  =>   B<integer, optional>

=begin html

<br>Used for shelves with drawers. Identifies the physical drawer where this disk is located.

=end html

=back



=over 2

=item * I<drawer-slot>  =>   B<integer, optional>

=begin html

<br>Used for shelves with drawers. Identifies which slot in the drawer this disk is located.

=end html

=back



=over 2

=item * I<firmware-revision>  =>   B<string, optional>

=begin html

<br>Firmware revision of disk. The format of the firmware revision will vary depending on the type of disk and its vendor. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<grown-defect-list-count>  =>   B<integer, optional>

=begin html

<br>Number of entries in the drive's grown defect list. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<health-monitor-time-interval>  =>   B<integer, optional>

=begin html

<br>Number of seconds we have been keeping track of errors from storage health monitor (SHM). Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<hw-minimum-os>  =>   B<string, optional>

=begin html

<br>Hardware minimum supported Data ONTAP version for the disk. Omitted if not available or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-dynamically-qualified>  =>   B<boolean, optional>

=begin html

<br>True if the drive was dynamically qualified. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-foreign>  =>   B<boolean, optional>

=begin html

<br>Indicates an array LUN has been designated as a foreign LUN and cannot be assigned. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-multidisk-carrier>  =>   B<boolean, optional>

=begin html

<br>True if the disk is in a carrier which contains more than one disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-shared>  =>   B<boolean, optional>

=begin html

<br>True if the disk is a shared disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<location>  =>   B<string, optional>

=begin html

<br>Name of the node to which this disk is attached. Only available on non-shared HA platforms. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<location-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of node to which this disk is attached. Only available on non-shared HA platforms. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<media-scrub-count>  =>   B<integer, optional>

=begin html

<br>Number of times media has been scrubbed since controller last powered on. Omitted if not available.

=end html

=back



=over 2

=item * I<media-scrub-last-done-time-interval>  =>   B<integer, optional>

=begin html

<br>Number of seconds since a media scrub last completed. Omitted if not available.

=end html

=back



=over 2

=item * I<model>  =>   B<string, optional>

=begin html

<br>Disk model string. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<reservation-key>  =>   B<string, optional>

=begin html

<br>Reservation key identifies which initiator target nexus holds the persistent reservation on this disk, 0x0 if there is none(range: 0x0 .. 0xffffffffffffffff). Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<reservation-type>  =>   B<string, optional>

=begin html

<br>Describes the persistent disk reservation type. Omitted if excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "rs" - Read Shared Reservation. <li> "we" - Write Exclusive Reservation. <li> "re" - Read Exclusive Reservation. <li> "ea" - Exclusive Access Reservation. <li> "sa" - Shared Access Reservation. <li> "wero" - Write Exclusive Registrants Only Reservation. <li> "earo" - Exclusive Access Registrants Only Reservation. <li> "wear" - Write Exclusive All Registrants Reservation. <li> "eaar" - Exclusive Access All Registrants Reservation. <li> "none" - No Reservation. </ul>

=end html

=back



=over 2

=item * I<right-size-sectors>  =>   B<integer, optional>

=begin html

<br>Number of usable disk sectors that remain after subtracting the right-size adjustment for this disk. Given in units of 'bytes-per-sector'. Omitted if information is unavailable, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<rpm>  =>   B<integer, optional>

=begin html

<br>Rotational speed in revolutions per minute. Possible values are: 5400, 7200, 10000, and 15000. Omitted if information is unavailable, if rpm does not apply to this 'disk-type', or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Disk serial number. Maximum length of 129 characters. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Disk shelf, if it can be determined. Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<shelf-bay>  =>   B<string, optional>

=begin html

<br>Disk shelf bay, if it can be determined. Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<shelf-uid>  =>   B<string, optional>

=begin html

<br>Unique identifier for a shelf as reported by SES. Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<stack-id>  =>   B<integer, optional>

=begin html

<br>A cluster unique id for a collection of one or more interconnected shelves. Omitted if Shelf Enclosure Service is not enabled for this device, information is unavailable, or excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<storage-sed-info>  =>   B<L<"storage-sed-info">, optional>

=begin html

<br>Self-encrypting disk info Omitted if disk is not a Self-Encrypting Disk (SED), or if excluded by "desired-attributes'.

=end html

=back



=over 2

=item * I<storage-ssd-info>  =>   B<L<"storage-ssd-info">, optional>

=begin html

<br>solid state device specific lifecycle data Omitted if 'disk-type' is not "SSD", or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Vendor of this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<virtual-machine-disk-info>  =>   B<L<"virtual-machine-disk-info">, optional>

=begin html

<br>A typedef containing the attributes for virtual machine disks. Such attributes are the hypervisor VM file name, the backing store and the adapter to name a few.

=end html

=back



=over 2

=item * I<vmdisk-backing-info>  =>   B<L<"vmdisk-backing-info">, optional>

=begin html

<br>Backing info block for virtual machine disks.

=end html

=back



=head2 disk-metrocluster-info

=begin html

Disk Metrocluster Info.

=end html



B<Fields>

=over 2

=item * I<is-local-attach>  =>   B<boolean, optional>

=begin html

<br>Indicates if a disk is locally attached, vs remotely attached. A locally attached disk resides in the same proximity as the host cluster vs. attached to the remote cluster.

=end html

=back



=head2 disk-outage-info

=begin html

Information about a disk that is not in service.

=end html



B<Fields>

=over 2

=item * I<is-in-fdr>  =>   B<boolean, optional>

=begin html

<br>True if disk has entry in the persistent Failed Disk Registry. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<reason>  =>   B<string>

=begin html

<br>Reason disk is not in service. Omitted if excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "admin failed" - Admin has persistently failed disk. <li> "admin removed" - Admin requested spare disk to be removed from system. <li> "admin testing" - Admin isolated disk for maintenance testing. <li> "bad label" - Disk has bad RAID label. <li> "bypassed" - Disk has been bypassed. <li> "failed" - Disk is persistently failed. <li> "init failed" - Disk failed initialization. <li> "label version" - Disk has invalid RAID label version. <li> "labeled broken" - Disk was persistently failed in a prior Data ONTAP release. <li> "labelmaint" - Disk is isolated for online label maintenance. <li> "LUN resized" - Array LUN was inappropriately resized. <li> "missing" - Disk has gone missing. <li> "not responding" - Disk is non-responsive. <li> "predict failure" - Disk failure is predicted. capacity than previously. <li> "rawsize shrank" - Disk reporting smaller <li> "recovering" - Disk is underoing recovery. <li> "sanitizing" - Disk is in process of being sanitized. <li> "sanitized" - Disk sanitization complete, but admin has not yet released disk back to the spare pool. in this release. <li> "trad_vol_disk" - Traditional Volume Disk, not supported on clustered data ONTAP systems. <li> "SnapLock Disk" - SnapLock disk, not supported. <li> "testing" - System isolated disk for maintenance testing. <li> "unassigned" - Disk ownership has not been assigned. <li> "unknown" - Don't know reason disk is not in service. </ul>

=end html

=back



=head2 disk-ownership-info

=begin html

Disk sanown information.

=end html



B<Fields>

=over 2

=item * I<data-home>  =>   B<string, optional>

=begin html

<br>Name of the home owner of the data partition (in case of a root-data partitioned disk) on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data-home-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of the home owner of the data partition (in case of root-data partitioned disk) of this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data-owner>  =>   B<string, optional>

=begin html

<br>Name of node that currently owns the data partition (in case of a root-data partitioned disk) on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data-owner-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of node to which the data partition (in case of root-data partitioned disk) of this disk is assigned. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data1-home>  =>   B<string, optional>

=begin html

<br>Name of the home owner of the data1 partition (in case of root-data1-data2 partitioned disk) on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data1-home-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of the home owner of the data1 partition (in case of root-data1-data2 partitioned disk) of this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data1-owner>  =>   B<string, optional>

=begin html

<br>Name of node that currently owns the data1 partition (in case of root-data1-data2 partitioned disk) on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data1-owner-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of node to which the data1 partition (in case of root-data1-data2 partitioned disk) of this disk is assigned. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data2-home>  =>   B<string, optional>

=begin html

<br>Name of the home owner of the data2 partition (in case of root-data1-data2 partitioned disk) on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data2-home-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of the home owner of the data2 partition (in case of root-data1-data2 partitioned disk) of this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data2-owner>  =>   B<string, optional>

=begin html

<br>Name of node that currently owns the data2 partition (in case of root-data1-data2 partitioned disk) on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<data2-owner-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of node to which the data2 partition (in case of root-data1-data2 partitioned disk) of this disk is assigned. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string, optional>

=begin html

<br>Disk unique identifier. Maximum length of 90 characters. Example of output format is: 20000000:87A9652B:00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000000 Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<dr-home-node-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of home owner of a disk in switchover state when there is a disaster. Before disaster switchover, the value of this field is zero. At the time of switchover, it would be changed so as to keep track of whom to give the disks to, at the time of switchback. Omitted if disk has no dr home id.

=end html

=back



=over 2

=item * I<dr-home-node-name>  =>   B<string, optional>

=begin html

<br>This is the name of home owner of a disk in switchover state when there is a disaster. Before disaster switchover, the value of this field is a NULL string. At the time of switchover, it would be changed so as to keep track of whom to give the disks to, at the time of switchback. Omitted if disk has no dr home owner.

=end html

=back



=over 2

=item * I<home-node-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of home node to which this disk is assigned. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<home-node-name>  =>   B<string, optional>

=begin html

<br>Name of the home node to which this disk is assigned. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-failed>  =>   B<boolean, optional>

=begin html

<br>'true' if the disk is failed such that its ownership cannot be determined. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<owner-node-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of node that currently owns this disk. Normally 'owner-node-id' matches 'home-node-id'. However, SFO style HA changes 'owner-node-id' when it localizes partner storage on takeover; and restores it to 'home-node-id' on giveback. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<owner-node-name>  =>   B<string, optional>

=begin html

<br>Name of node that currently owns this disk. Normally 'owner-node-name' matches 'home-node-name'. However, SFO style HA changes 'owner-node-name' when it localizes partner storage on takeover; and restores it to 'home-node-name' on giveback. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<pool>  =>   B<integer, optional>

=begin html

<br>Pool to which disk is assigned. Omitted if disk is unassigned, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<reserved-by-node-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of node which currently holds the persistent reservation on this disk, 0 if there is none. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<root-home>  =>   B<string, optional>

=begin html

<br>Name of the home owner of the root partition on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<root-home-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of the home owner of the root partition of this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<root-owner>  =>   B<string, optional>

=begin html

<br>Name of node that currently owns the root partition on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<root-owner-id>  =>   B<integer, optional>

=begin html

<br>ID (NVRAM ID) of node to which the root partition of this disk is assigned. Omitted if excluded by 'desired-attributes'.

=end html

=back



=head2 disk-raid-info

=begin html

RAID specific information about a disk, including RAID specific disk properties, and the disk's overlying container.

=end html



B<Fields>

=over 2

=item * I<active-node-name>  =>   B<string, optional>

=begin html

<br>Name of the node that is the active RAID controller for this disk, if any. Omitted if unavailable, or excluded by 'desired-attrributes'.

=end html

=back



=over 2

=item * I<container-type>  =>   B<string, optional>

=begin html

<br>Type of overlying disk container. Omitted if information is unavailable, or excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "aggregate" - Container is an aggregate. <li> "broken" - Container is broken pool. <li> "foreign" - Array LUN has been marked foreign. <li> "labelmaint" - Container is online label maintenance list. <li> "maintenance" - Container is disk maintenance center. <li> "mediator" - Container is a mediator disk. <li> "remote" - Disk belongs to the remote cluster. <li> "shared" - Container is storage pool. <li> "spare" - Container is spare pool. <li> "unassigned" - Disk ownership has not been assigned. <li> "unknown" - Container is currently unknown. This is the default setting. <li> "volume" - Container is a traditional volume. <li> "unsupported" - Container is not supported. </ul>

=end html

=back



=over 2

=item * I<disk-aggregate-info>  =>   B<L<"disk-aggregate-info">, optional>

=begin html

<br>Information giving disk's basic disposition within its overlying aggregate or traditional volume. Omitted if container-type is not "aggregate" or "volume", or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-outage-info>  =>   B<L<"disk-outage-info">, optional>

=begin html

<br>Information about a disk that is not in service. Omitted if container-type is not "broken", "maintenance", "labelmaint", or "unassigned", or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-shared-info>  =>   B<L<"disk-shared-info">, optional>

=begin html

<br>Information giving disk's basic disposition within its overlying storage pool. Omitted if container-type is not "shared", or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-spare-info>  =>   B<L<"disk-spare-info">, optional>

=begin html

<br>Information giving disk's basic disposition within its overlying spare pool. Omitted if container-type is not "spare", or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string, optional>

=begin html

<br>Disk unique identifier. Maximum length of 90 characters. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<effective-disk-type>  =>   B<string, optional>

=begin html

<br>Effective disk interface type. Disks can report different physical 'disk-type', but the same 'effective-disk-type'. Disks with the same 'effective-disk-type' are compatible for use within the same aggregate or traditional volume. Omitted if information is unavailable, or excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "ATA" <li> "FCAL" <li> "LUN" <li> "MSATA" <li> "SAS" <li> "BSAS" <li> "SSD" <li> "FSAS" <li> "VMDISK" <li> "unknown" </ul>

=end html

=back



=over 2

=item * I<effective-rpm>  =>   B<integer, optional>

=begin html

<br>Effective rotational speed in revolutions per minute. Disks can report different actual 'rpm', but have the same 'effective-rpm'. Disks with the same 'effective- rpm' are compatible for use within the same aggregate or traditional volume. Omitted if information is unavailable, or excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<physical-blocks>  =>   B<integer, optional>

=begin html

<br>RAID recorded disk capacity expressed in units of 4096-byte blocks. Typically this is the disk capacity reported by disk driver, but rounded down to the nearest 4096-byte block. Omitted if information is unavailable, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<position>  =>   B<string, optional>

=begin html

<br>Position of disk relative to its container-type. Omitted if excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "copy" - RAID group copy destination disk. <li> "data" - RAID group data disk. <li> "tparity" - RAID group third (anti-diagonal) parity disk. <li> "dparity" - RAID group diagonal parity disk. <li> "orphan" - Disk is orphan of an aggregate or traditional volume. <li> "parity" - RAID group parity disk. <li> "pending" - Disk is pending addition to an aggregate or traditional volume. <li> "present" - Disk is present in system. This is the default setting. </ul>

=end html

=back



=over 2

=item * I<spare-pool>  =>   B<string, optional>

=begin html

<br>Name of RAID managed spare pool with which this disk is associated. Omitted if unavailable. Generally determined both by whether ownership has been assigned for this disk, and whether SyncMirror feature is supported on the reporting node. This disk may not currently be contained within this spare-pool, such as if it's been allocated to an aggregate or removed from service. This is the spare pool with which disk would be contained if/when it is initialized or released as a spare. Omitted if excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "Pool0" - Disk is associated with spare Pool0. <li> "Pool1" - Disk is associated with spare Pool1. <li> "spare" - Disk is associated with the general spare pool. <li> "unknown" - Cannot determine spare pool associativity for this disk. </ul>

=end html

=back



=over 2

=item * I<standard-disk-type>  =>   B<standarddisktype, optional>

=begin html

<br>Industry standard disk type. Note suggested display strings for each value. Possible values: <ul> <li> "sata" - SATA, Serial Advanced Technology Attachment, <li> "fc" - FC, Fibre Channel, <li> "nl_sas" - NL-SAS, Near Line SAS <li> "lun" - LUN, SCSI Logical Unit Number (e.g. Array), <li> "sas" - SAS, Serial Attached SCSI, <li> "scsi" - SCSI, Small Computer System Interface, <li> "ssd" - SSD, Solid-State Disk, <li> "vm_disk" - VM Disk, Hypervisor Virtual Disk, <li> "unknown" - Unknown Disk Type, <li> "nvme_ssd" - NVMe SSD, Non-Volatile Memory Express Solid-State Disk </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-blocks>  =>   B<integer, optional>

=begin html

<br>RAID recorded size of file system region on this disk, given in units of 4096-byte blocks. Typically based upon the disk's right-size capacity, but it may be smaller if RAID has downsized this disk, such as due to reconstruct replacing a smaller with a larger disk. This is distinct from WAFL usage of file system space. Omitted if information is unavailable, or if excluded by 'desired-attributes'.

=end html

=back



=head2 disk-shared-info

=begin html

Details giving disk's basic disposition within its overlying storage pool. Information that is specific to a disk that is contained within a storage pool belongs here.

=end html



B<Fields>

=over 2

=item * I<aggregate-list>  =>   B<L<"shared-aggregate-info">[], optional>

=begin html

<br>List of aggregates sharing this disk. Omitted if not available or excluded by 'desired attributes'.

=end html

=back



=over 2

=item * I<checksum-type>  =>   B<string, optional>

=begin html

<br>The checksum type that has been assigned to this disk. Omitted if information is unavailable, or if excluded by 'desired-attributes'. <p> Possible values: <ul> <li> "advanced_zoned" - Advanced zoned checksum. <li> "block" - Block checksum. <li> "zoned" - Zoned checksum (this value is no longer supported). </ul>

=end html

=back



=over 2

=item * I<copy-destination-cluster-name>  =>   B<string, optional>

=begin html

<br>disk cluster name of copy destination. Omitted if both 'is-prefailed' and 'is-replacing' are false, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<copy-destination-name>  =>   B<string, optional>

=begin html

<br>name of copy destination. Omitted if both 'is-prefailed' and 'is-replacing' are false, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<copy-percent-complete>  =>   B<integer, optional>

=begin html

<br>Percent completion of disk copy. Omitted if no copy operation involving this disk is in progress. So omitted if neither 'is-prefailed' nor 'is-replacing' is true.

=end html

=back



=over 2

=item * I<is-media-scrubbing>  =>   B<boolean, optional>

=begin html

<br>True if media scrub is currently active for this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-offline>  =>   B<boolean, optional>

=begin html

<br>True if disk is offline. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-prefailed>  =>   B<boolean, optional>

=begin html

<br>True if the admin issued a 'disk fail' or if the the system marked this disk for Rapid RAID Recovery. This flag is expected to remain set until the system has copied the contents of this disk to a system-selected replacement disk. At that point, this disk is expected to be removed from service and placed in in the broken pool. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-reconstructing>  =>   B<boolean, optional>

=begin html

<br>True if disk is in process of being reconstructed. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-replacing>  =>   B<boolean, optional>

=begin html

<br>True if the admin issued 'disk replace' to replace this disk with a specified replacement disk. This flag is expected to remain true until the system has copied the contents of this disk to the admin-specified replacement disk. At that point this disk is expected to be released to the spare pool. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-sparecore>  =>   B<boolean, optional>

=begin html

<br>True if disk is sparecore disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-zeroed>  =>   B<boolean, optional>

=begin html

<br>True if disk is in pre-zeroed state. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-zeroing>  =>   B<boolean, optional>

=begin html

<br>True only if disk position is 'pending' and disk is in process of being zeroed. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<partitioning-type>  =>   B<string, optional>

=begin html

<br>This field indicates whether disk is partitioned or storage pool disk. This field is available only if 'container-type' is "shared". Possible values include: <ul> <li> "root_data" - Disk is root-data partitioned disk. <li> "root_data1_data2" - Disk is root-data1-data2 partitioned disk. <li> "storage_pool" - Disk is storage pool disk. </ul> Omitted if excluded by 'desired attributes'.

=end html

=back



=over 2

=item * I<reconstruct-percent-complete>  =>   B<integer, optional>

=begin html

<br>Percent completion of disk reconstruction. Omitted if 'is-reconstructing' is not true, if reconstruct is stalled, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string, optional>

=begin html

<br>Cluster wide unique name of RAID managed storage pool with which this disk is associated.

=end html

=back



=over 2

=item * I<zeroing-percent-complete>  =>   B<integer, optional>

=begin html

<br>Percent completion of disk zeroing. Omitted if is-zeroing' is not true, or if excluded by 'desired-attributes'.

=end html

=back



=head2 disk-spare-info

=begin html

Details giving disk's basic disposition within its overlying spare pool. Information that is specific to a disk that is contained within a spare pool belongs here.

=end html



B<Fields>

=over 2

=item * I<is-media-scrubbing>  =>   B<boolean, optional>

=begin html

<br>True if media scrub is currently active for this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-offline>  =>   B<boolean, optional>

=begin html

<br>True if disk is offline. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-sparecore>  =>   B<boolean, optional>

=begin html

<br>True if disk is sparecore disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-zeroed>  =>   B<boolean, optional>

=begin html

<br>True if disk has been pre-zeroed. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-zeroing>  =>   B<boolean, optional>

=begin html

<br>True if disk is in process of being zeroed. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<zeroing-percent-complete>  =>   B<integer, optional>

=begin html

<br>Percent completion of disk zeroing. Omitted if is-zeroing' is not true, or if excluded by 'desired-attributes'.

=end html

=back



=head2 disk-stats-info

=begin html

Contains disk statistics.

=end html



B<Fields>

=over 2

=item * I<average-latency>  =>   B<integer, optional>

=begin html

<br>Access time to disk in milliseconds. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<bytes-per-sector>  =>   B<integer, optional>

=begin html

<br>Number of bytes per disk sector. A sector count element, such as 'sectors-read' and 'sectors-written', may be multipled by this value to convert to a byte count. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-io-kbps>  =>   B<integer, optional>

=begin html

<br>Rolling average of kilobytes per second read and written to this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-iops>  =>   B<integer, optional>

=begin html

<br>Rolling average of I/O operations per second read and written to this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string, optional>

=begin html

<br>Unique identifier of disk for this disk. Maximum length of 90 characters. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<import-in-progress>  =>   B<boolean, optional>

=begin html

<br>For disks marked with container-type = foreign, this value is true when data is actively being imported from this disk.

=end html

=back



=over 2

=item * I<path-error-count>  =>   B<integer, optional>

=begin html

<br>The number of errors on this disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<power-on-time-interval>  =>   B<integer, optional>

=begin html

<br>Number of seconds the drive has been powered on. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<sectors-read>  =>   B<integer, optional>

=begin html

<br>Number of disk sectors read since system last booted, given in units of 'bytes-per-sector'. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<sectors-written>  =>   B<integer, optional>

=begin html

<br>Number of disk sectors written since system last booted, given in units of 'bytes-per-sector'. Omitted if excluded by 'desired-attributes'.

=end html

=back



=head2 shared-aggregate-info

=begin html

Name of desired aggregate.

=end html



B<Fields>

=over 2

=item * I<aggregate-name>  =>   B<string, optional>

=begin html

<br>String representing name of the aggregate.

=end html

=back



=head2 standarddisktype

=begin html

sata | fc | nl_sas | lun | sas | scsi | ssd | vm_disk | nvme_ssd Possible values: <ul> <li> "sata" - Serial Advanced Technology Attachment, <li> "fc" - Fibre Channel, <li> "nl_sas" - Near Line SAS, <li> "lun" - SCSI Logical Unit Number (e.g. Array), <li> "sas" - Serial Attached SCSI, <li> "scsi" - Small Computer System Interface, <li> "ssd" - Solid-State Disk, <li> "vm_disk" - Hypervisor Virtual Disk, <li> "unknown" - Unknown Disk Type, <li> "nvme_ssd" - Non-Volatile Memory Express Solid-State Disk </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-disk-info

=begin html

Disk record.

=end html



B<Fields>

=over 2

=item * I<disk-inventory-info>  =>   B<L<"disk-inventory-info">, optional>

=begin html

<br>Device driver information. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-metrocluster-info>  =>   B<L<"disk-metrocluster-info">, optional>

=begin html

<br>Disk metrocluster related information. Ommitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-name>  =>   B<string, optional>

=begin html

<br>Name of disk, e.g. "1.1.2" or "NET-1.1" for a virtual disk. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-ownership-info>  =>   B<L<"disk-ownership-info">, optional>

=begin html

<br>Disk ownership information. Omitted if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-paths>  =>   B<L<"disk-path-info">[], optional>

=begin html

<br>List of all known paths associated with this disk. Omitted if no paths to report, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-raid-info>  =>   B<L<"disk-raid-info">, optional>

=begin html

<br>RAID disk information. Omitted if disk is not visible to RAID, or if this information is excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-stats-info>  =>   B<L<"disk-stats-info">, optional>

=begin html

<br>Statistics about disk. Omitted if no stats to report, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string, optional>

=begin html

<br>Disk unique identifier. Maximum length of 90 characters. Example of output format is: 20000000:87A9652B:00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000000 Omitted if excluded by 'desired-attributes'.

=end html

=back



=head2 storage-sed-info

=begin html

Self-encrypting disk (SED) info. Available from the disk-encrypt cluster ZAPI.

=end html



B<Fields>

=over 2

=item * I<data-key-id>  =>   B<string, optional>

=begin html

<br>Key ID of the authentication key that the SED currently requires for authorization to modify the data protection controls. Omitted if disk is not a SED, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<fips-key-id>  =>   B<string, optional>

=begin html

<br>Key ID of the authentication key that the SED currently requires for authorization to modify the FIPS-compliance controls. Omitted if disk is not a SED, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-power-on-lock-enabled>  =>   B<boolean, optional>

=begin html

<br>State of SED power-lock-enable control that determines whether authentication is required after subsequent SED power-cycles before I/O is allowed. True will require authentication; false indicates no authentication is needed to allow I/O. Omitted if disk is not a SED, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<is-sed>  =>   B<boolean>

=begin html

<br>True if the disk is a SED. Omitted if disk is not a SED, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<key-id>  =>   B<string, optional>

=begin html

<br>Key ID of the authentication key that the SED currently requires for authentication. Authentication is necessary to control the SED's encryption capabilities. Omitted if disk is not a SED, or if excluded by 'desired-attributes'.

=end html

=back



=over 2

=item * I<protection-mode>  =>   B<string, optional>

=begin html

<br>The summary of the data protection and FIPS compliance states. Omitted if disk is not a SED, or if excluded by 'desired-attributes'.

=end html

=back



=head2 storage-ssd-info

=begin html

Storage info block for solid-state storage devices.

=end html



B<Fields>

=over 2

=item * I<percent-rated-life-used>  =>   B<integer, optional>

=begin html

<br>An estimate of the percentage of device life that has been used, based on the actual device usage and the manufacturer's prediction of device life. A value greater than 99 indicates that the estimated endurance has been consumed, but may not indicate a device failure. Omitted if value is unknown.

=end html

=back



=over 2

=item * I<percent-spares-consumed>  =>   B<integer, optional>

=begin html

<br>Percentage of device spare blocks that have been used. Each device has a number of spare blocks that will be used when a data block can no longer be used to store data. This value reports what percentage of the spares have already been consumed. Omitted if value is unknown.

=end html

=back



=over 2

=item * I<percent-spares-consumed-limit>  =>   B<integer, optional>

=begin html

<br>Spares consumed percentage limit reported by the device. Omitted if value is unknown.

=end html

=back



=head2 virtual-machine-disk-info

=begin html

A typedef containing the attributes for virtual machine disks. Such attributes are the hypervisor VM file name, the backing store and the adapter to name a few.

=end html



B<Fields>

=over 2

=item * I<vmdisk-adapter-device>  =>   B<string, optional>

=begin html

<br>Backing adapter device name. Example is "vmhba32".

=end html

=back



=over 2

=item * I<vmdisk-adapter-driver>  =>   B<string, optional>

=begin html

<br>Backing adapter driver name. For example, "mptsas". For iSCSI connections, this element represents name of the iSCSI initiator. Example is "iqn.1998-01.com.vmware:esxhostname-5d1555b6".

=end html

=back



=over 2

=item * I<vmdisk-adapter-model>  =>   B<string, optional>

=begin html

<br>Backing adapter model type. Example is "LSI1064E", "iSCSI Software Adapter".

=end html

=back



=over 2

=item * I<vmdisk-adapter-pci>  =>   B<string, optional>

=begin html

<br>Backing adapter PCI device ID for the virtual disk. For iSCSI connections, this element is empty. Example is "50:00.0".

=end html

=back



=over 2

=item * I<vmdisk-lun-canonical-name>  =>   B<string, optional>

=begin html

<br>Hypervisor-assigned unique ID of the backing device (disk or LUN). Example is "naa.75hsfe523hnsfhf46323".

=end html

=back



=over 2

=item * I<vmdisk-lun-capacity>  =>   B<integer, optional>

=begin html

<br>Size of the backing device (disk or LUN) in bytes. Example is "4294967296".

=end html

=back



=over 2

=item * I<vmdisk-lun-model>  =>   B<string, optional>

=begin html

<br>Backing device (disk or lun) model. Example is "LUN", "MBE2073RC".

=end html

=back



=over 2

=item * I<vmdisk-lun-partition>  =>   B<integer, optional>

=begin html

<br>Backing disk partition number where the corresponding VM disk file resides. Example is "3".

=end html

=back



=over 2

=item * I<vmdisk-lun-vendor-name>  =>   B<string, optional>

=begin html

<br>Name of the backing device manufacturer. Example is "FUJITSU".

=end html

=back



=over 2

=item * I<vmdisk-store-capacity>  =>   B<integer, optional>

=begin html

<br>The size of the disk backing store in bytes. Example is "4294967296".

=end html

=back



=over 2

=item * I<vmdisk-store-nas-path>  =>   B<string, optional>

=begin html

<br>Full path to the backing store. This field is valid only for NAS connections. Example is "myvm.domain.com:/backingStoreName".

=end html

=back



=over 2

=item * I<vmdisk-store-type>  =>   B<string, optional>

=begin html

<br>Type of the disk backing store. It can be a VMFS volume, a directory on network-attached storage, or a local file system path. Possible values are "NFS", "VMFS".

=end html

=back



=over 2

=item * I<vmdisk-target-iscsi-address>  =>   B<string, optional>

=begin html

<br>The iSCSI IP address (IPv4 or IPv6) of the disk backing target. This field is valid only for iSCSI connections. Examples are "192.168.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334".

=end html

=back



=over 2

=item * I<vmdisk-target-iscsi-name>  =>   B<string, optional>

=begin html

<br>The iSCSI name of the disk backing target. This field is valid only for iSCSI connections. Example is "iSCSI-targ.com.optional-string".

=end html

=back



=over 2

=item * I<vmdisk-target-lun-id>  =>   B<string, optional>

=begin html

<br>SCSI device name for the backing disk. It takes the form target-id:lun-id. Example is "3:1".

=end html

=back



=over 2

=item * I<vmhost-error>  =>   B<string, optional>

=begin html

<br>Error (if any) while retrieving the virtual disk details. Example is "vSphere server is missing".

=end html

=back



=head2 vmdisk-backing-info

=begin html

Backing info block for virtual machine disks.

=end html



B<Fields>

=over 2

=item * I<vmdisk-backing-device-id>  =>   B<string>

=begin html

<br>Device id of the underlying disk.

=end html

=back



=over 2

=item * I<vmdisk-backing-disk-model>  =>   B<string>

=begin html

<br>Product id of the underlying disk.

=end html

=back



=over 2

=item * I<vmdisk-backing-serial-number>  =>   B<string>

=begin html

<br>Serial number of the underlying disk.

=end html

=back



=over 2

=item * I<vmdisk-backing-vendor-id>  =>   B<string>

=begin html

<br>Vendor of the underlying disk.

=end html

=back



=head2 storage-disk-firmware-file

=begin html

Show firmware files When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<filename>  =>   B<string, optional>

=begin html

<br>Storage Firmware File Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 disk-path-info

=begin html

Contains per path statistics, errors and other related data.

=end html



B<Fields>

=over 2

=item * I<array-name>  =>   B<string>

=begin html

<br>The name of the array providing the lun.

=end html

=back



=over 2

=item * I<disk-name>  =>   B<string>

=begin html

<br>The name of the disk this path information is for

=end html

=back



=over 2

=item * I<disk-port>  =>   B<string, optional>

=begin html

<br>Disk port associated with this path. Possible values are "A" or "B". Omitted for non-disk target.

=end html

=back



=over 2

=item * I<disk-port-name>  =>   B<string, optional>

=begin html

<br>Disk port name associated with this path. This has the form &lt;attachment-style&gt;:&lt;disk-port&gt;, where &lt;attachment-style&gt; is either "FC" for FibreChannel, or "SA" for SAS, and &lt;disk-port&gt; is either "A" or "B". Omitted for non-disk target. <p> Possible values: <ul> <li> "FC:A" <li> "FC:B" <li> "SA:A" <li> "SA:B" </ul>

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string>

=begin html

<br>Disk's UID, as supplied by the hardware, used to uniquely identify this disk.

=end html

=back



=over 2

=item * I<initiator-io-kbps>  =>   B<integer>

=begin html

<br>Rolling average of kilobytes per second read and written over this initiator port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<initiator-iops>  =>   B<integer>

=begin html

<br>Rolling average of I/O operations per second read and written over this initiator port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<initiator-lun-in-use-count>  =>   B<integer>

=begin html

<br>Number of LUNs in the IN-USE state on this initiator. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<initiator-port>  =>   B<string>

=begin html

<br>Initiator port name, e.g. 0a.

=end html

=back



=over 2

=item * I<initiator-port-speed>  =>   B<string>

=begin html

<br>The speed that the initiator port has negotiated with its connected switch, or target port if direct attached.

=end html

=back



=over 2

=item * I<initiator-side-switch-port>  =>   B<string>

=begin html

<br>The name of the switch connected to the controller's initiator port, or N/A when using direct attach

=end html

=back



=over 2

=item * I<lun-io-kbps>  =>   B<integer>

=begin html

<br>Rolling average of kilobytes per second read and written to this LUN. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<lun-iops>  =>   B<integer>

=begin html

<br>Rolling average of I/O operations per second read and written to this LUN. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<lun-number>  =>   B<integer>

=begin html

<br>LU number. Range: [0..65535]

=end html

=back



=over 2

=item * I<lun-path-use-state>  =>   B<string>

=begin html

<br>ONTAP's use of this path INU - (In Use) This path is currently used for I/O. RDY - (Ready) This path is not being used for I/O currently, but might transition to INU if storge errors or load balancing cause it to transition to INU. QED - (Quiesced) : The disk is quiesced on this path. MCF - (Misconfigured) : The disk is misconfigured on this path. The path is not available for I/O. Refer to storage_initiator_errors_list_info for details. FAL - (Failed) The connectivity to this path is lost. INI - (Initializing) The disk/LUN on this path is currently being readied for I/O operations (MPIO disks/LUNs only). PRE - (Persistent Reserve Register Error) An error occurred during the persistent reserve register operation of the disk/LUN on this path. This may be a transient condition and registration may successfully complete at a later time.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>Controller with the initiator port for this path.

=end html

=back



=over 2

=item * I<path-io-kbps>  =>   B<integer>

=begin html

<br>Rolling average of kilobytes per second read and written to this path. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<path-iops>  =>   B<integer>

=begin html

<br>Rolling average of I/O operations per second read and written to this path. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<path-link-errors>  =>   B<integer>

=begin html

<br>Number of link errors reported on the path. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<path-lun-in-use-count>  =>   B<integer>

=begin html

<br>Number of LUNs in the IN-USE state on this path. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<path-quality>  =>   B<integer>

=begin html

<br>The percentage of the error threshold. 0% NO ERROR 1-20% LOW ERROR, available to load balancing and error retry code. 21-99% MEDIUM ERROR, load balancing and error retry code will not switch to this path. 100-? HIGH_ERROR, Excessive errors EMS event will be logged Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<preferred-target-port>  =>   B<boolean, optional>

=begin html

<br>For a logical unit which reports asymmetric access, preferred-target-port indicates that a path, regardless of the current access state, routes to a preferred target port group. Possible values are: <ul> <li> true: This path routes to a preferred target port group for this array LUN. <li> false: This path does not route to a preferred target port group or the array LUN reports that there is no preferred target port group. </ul>

=end html

=back



=over 2

=item * I<target-io-kbps>  =>   B<integer>

=begin html

<br>Rolling average of kilobytes per second read and written to this target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<target-iops>  =>   B<integer>

=begin html

<br>Rolling average of I/O operations per second read and written to this target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<target-iqn>  =>   B<string, optional>

=begin html

<br>Target IQN of target port providing the disk.

=end html

=back



=over 2

=item * I<target-lun-in-use-count>  =>   B<integer>

=begin html

<br>Number of LUNs in the IN-USE state on this target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<target-port-access-state>  =>   B<string>

=begin html

<br>failover optimization type

=end html

=back



=over 2

=item * I<target-side-switch-port>  =>   B<string>

=begin html

<br>Name of the switch port connected to the target array, or UNKNOWN if direct attached.

=end html

=back



=over 2

=item * I<target-wwnn>  =>   B<string>

=begin html

<br>World Wide Node Name of the target device.

=end html

=back



=over 2

=item * I<target-wwpn>  =>   B<string>

=begin html

<br>World Wide Port Name of target port providing the disk.

=end html

=back



=over 2

=item * I<tpgn>  =>   B<integer>

=begin html

<br>The Target Port Group Number of the array's target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<vmdisk-device-id>  =>   B<integer, optional>

=begin html

<br>The device id used for the virtual device (also used by the hypervisor) Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<vmdisk-hypervisor-area-name>  =>   B<string, optional>

=begin html

<br>The name of the storage area where the vmdisk is physically located. For ESX this is the name of a datastore.

=end html

=back



=over 2

=item * I<vmdisk-hypervisor-file-name>  =>   B<string, optional>

=begin html

<br>The file name of the virtual disk used by the hypervisor. For ESX this is the name of the disk's vmdk file. Example is "myvm/myvm_1.vmdk"

=end html

=back



=head2 storage-error-info

=begin html

Contains error messages associated with back end array/shelf/LUNs.

=end html



B<Fields>

=over 2

=item * I<array-name>  =>   B<string>

=begin html

<br>Name of the array/shelf with the configuration error.

=end html

=back



=over 2

=item * I<disk-name>  =>   B<string>

=begin html

<br>The name of the disk or array lun this error information is for.

=end html

=back



=over 2

=item * I<disk-uid>  =>   B<string>

=begin html

<br>Disk's UID, as supplied by the hardware, used to uniquely identify this disk.

=end html

=back



=over 2

=item * I<error-id>  =>   B<integer>

=begin html

<br>A unique ID for each error returned. ID is unique on a per API call basis only. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<error-text>  =>   B<string>

=begin html

<br>A description of the error being reported.

=end html

=back



=over 2

=item * I<error-type>  =>   B<integer>

=begin html

<br>Enum describing type of error.<br> Possible values: <ul> <li> 1 -Redundancy error, less than two paths to a disk. <li> 2 -Redundancy error, device is only accessible via a single fault domain, all paths go into the same target port group. <li> 3 -Device is a control LUN. <li> 4 -This foreign LUN has a reservation. <li> 5 -LUN too large; a LUN has been detected that is larger than the maximum size supported. <li> 6 -LUN too small; a LUN has been detected that is smaller than the minimum size supported. <li> 7 -Invalid Block Size; a LUN has been detected that has an unsupported block size. <li> 8 -A target port is accessible via multiple HBAs but the device to LUN id mappings aren't the same. <li> 9 -A device is presented at different LUN ids on different ports. <li> 10 -Multiple failover mode policies detected. <li> 11 -Unknown array LUN. <li> 12 -Data ONTAP(R) LUN. <li> 13 -Disk firmware is downrev. <li> 14 -Disk is not supported. <li> 15 -This disk is in a failed state. <li> 16 -This disk does not match the All-Flash Optimized personality of the system. </ul>

=end html

=back



=over 2

=item * I<lun-serial-number>  =>   B<string>

=begin html

<br>The serial number of the lun the error occurs on, blank if the error is not lun related.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The nodename reporting the disk or array lun with the error.

=end html

=back



=head2 storage-initiator-load-info

=begin html

Contains per port per disk load information.

=end html



B<Fields>

=over 2

=item * I<initiator-port>  =>   B<string>

=begin html

<br>Initiator port name, e.g. 0a. If port is not specified, data for all ports is returned.

=end html

=back



=over 2

=item * I<io-count>  =>   B<integer>

=begin html

<br>Megabytes of data sent to this disk over this port. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<lun-number>  =>   B<integer>

=begin html

<br>Logical Unit Number. Range: [0..65535]

=end html

=back



=over 2

=item * I<nodename>  =>   B<string>

=begin html

<br>IP address of the node serving the port in dotted-decimal format (for example, "192.168.11.12").

=end html

=back



=over 2

=item * I<percent-io>  =>   B<string>

=begin html

<br>Percentage of all I/O on this port sent to this disk. Range: [0..100]

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string>

=begin html

<br>Disk/LUN serial number. Maximum length of 129 characters.

=end html

=back



=over 2

=item * I<switch-name>  =>   B<string>

=begin html

<br>The name of the switch connected to the controller's initiator port, or N/A when using direct attach.

=end html

=back



=over 2

=item * I<target-side-switch-port>  =>   B<string>

=begin html

<br>Name of the switch port connected to the target array, or UNKNOWN if direct attached.

=end html

=back



=over 2

=item * I<target-wwpn>  =>   B<string>

=begin html

<br>World Wide Port Name of array's target port.

=end html

=back



=head2 storage-initiator-path-info

=begin html

Contains per path statistics, errors and other related data.

=end html



B<Fields>

=over 2

=item * I<array-name>  =>   B<string>

=begin html

<br>The name of the array providing this path is connected to.

=end html

=back



=over 2

=item * I<device-type>  =>   B<string, optional>

=begin html

<br>Type of LUN device. Describes the type of lun device or tape library. Possible Values are: <ul> <li> "array_lun" - Array LUN type <li> "tape_mc" - Tape Drive or Media Changer/library type <li> "unknown" - Unknown device type </ul>

=end html

=back



=over 2

=item * I<initiator-io-kbps>  =>   B<integer>

=begin html

<br>Rolling average of kilobytes per second read and written over this initiator port Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<initiator-iops>  =>   B<integer>

=begin html

<br>Rolling average of I/O operations per second over this initiator port Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<initiator-lun-in-use-count>  =>   B<integer>

=begin html

<br>Number of LUNs in the IN-USE state on this initiator. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<initiator-port>  =>   B<string>

=begin html

<br>Initiator port name, e.g. 0a.

=end html

=back



=over 2

=item * I<initiator-port-speed>  =>   B<string>

=begin html

<br>The speed that the initiator port has negotiated with its connected switch port, or target port if direct attached.

=end html

=back



=over 2

=item * I<initiator-side-switch-port>  =>   B<string>

=begin html

<br>The name of the switch connected to the controller's initiator port, or N/A when using direct attach.

=end html

=back



=over 2

=item * I<node>  =>   B<string>

=begin html

<br>The name of the node providing this path information.

=end html

=back



=over 2

=item * I<path-failure-threshold>  =>   B<integer>

=begin html

<br>The path failure count, exceeding this value within wait duration will quiesce the path. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<path-io-kbps>  =>   B<integer>

=begin html

<br>Rolling average of kilobytes per second read and written to this path. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<path-iops>  =>   B<integer>

=begin html

<br>Rolling average of I/O operations per second read and written to this path. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<path-link-errors>  =>   B<integer>

=begin html

<br>Number link errors reported on the path. Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<path-lun-in-use-count>  =>   B<integer>

=begin html

<br>Number of disks in the IN-USE state on this path. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<path-quality>  =>   B<integer>

=begin html

<br>The percentage of the error threshold. 0% NO ERROR 1-20% LOW ERROR, available to load balancing and error retry code. 21-99% MEDIUM ERROR, load balancing and error retry code will not switch to this path. 100-? HIGH_ERROR, Excessive errors EMS event will be logged Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<target-io-kbps>  =>   B<integer>

=begin html

<br>Rolling average of kilobytes per second read and written to this target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<target-iops>  =>   B<integer>

=begin html

<br>Rolling average of I/O operations per second read and written to this target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<target-iqn>  =>   B<string, optional>

=begin html

<br>World wide unique identification of iSCSI target.

=end html

=back



=over 2

=item * I<target-lun-in-use-count>  =>   B<integer>

=begin html

<br>Number of disks in the IN-USE state on this target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<target-side-switch-port>  =>   B<string>

=begin html

<br>Name of the switch port connected to the target array, or UNKNOWN if direct attached.

=end html

=back



=over 2

=item * I<target-wwpn>  =>   B<string>

=begin html

<br>World Wide Port Name of target port providing the disk.

=end html

=back



=over 2

=item * I<tpgn>  =>   B<integer>

=begin html

<br>The Target Port Group Number of the array's target port. Range: [0..2^64-1]

=end html

=back



=over 2

=item * I<vmdisk-device-id>  =>   B<integer, optional>

=begin html

<br>The device id used for the virtual device (also used by the hypervisor) Range: [0..2^32-1]

=end html

=back



=over 2

=item * I<wait-duration>  =>   B<integer>

=begin html

<br>The time duration in which path is monitored for path failure. Range: [0..2^32-1]

=end html

=back



=head2 iscsi-initiator-target-type

=begin html

external|mailbox|partner|dr_auxiliary|dr_partner Possible values: <ul> <li> "external" - Target has external disks, <li> "mailbox" - Target has mailbox disks, <li> "partner" - Target has partner disks, <li> "dr_auxiliary" - Target has DR auxiliary disks for MetroCluster over IP, <li> "dr_partner" - Target has DR partner disks for MetroCluster over IP </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-iscsi-initiator-info

=begin html

iSCSI Initiator Information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<administrative-status>  =>   B<service-state, optional>

=begin html

<br>Specifies the administrative status of the connection. The administrative status can differ from the operational status; for instance, if you specify the status as up but a network problem prevents the connection from functioning, the operational status remains as down. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "down" , <li> "up" </ul>

=end html

=back



=over 2

=item * I<failure-reason>  =>   B<string, optional>

=begin html

<br>The reason for a failure. The possible reasons include internal errors, networking errors, and user errors. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<label>  =>   B<string, optional>

=begin html

<br>The user defined identifier for the iSCSI target. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operational-status>  =>   B<service-state, optional>

=begin html

<br>Specifies the operational status of the connection. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "down" , <li> "up" </ul>

=end html

=back



=over 2

=item * I<target-name>  =>   B<string, optional>

=begin html

<br>The target name. Example: iqn.2012-06.com.bsdctl:target0 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-portal>  =>   B<string, optional>

=begin html

<br>The target's IP address. Example: 10.7.125.10 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-type>  =>   B<iscsi-initiator-target-type, optional>

=begin html

<br>The type of the target: external, mailbox, partner, dr_auxiliary or dr_partner Attributes: key, non-creatable, non-modifiable Possible values: <ul> <li> "external" - Target has external disks, <li> "mailbox" - Target has mailbox disks, <li> "partner" - Target has partner disks, <li> "dr_auxiliary" - Target has DR auxiliary disks for MetroCluster over IP, <li> "dr_partner" - Target has DR partner disks for MetroCluster over IP </ul>

=end html

=back



=head2 aggregate-autogrow-info

=begin html

Information of aggregates that will auto-grow

=end html



B<Fields>

=over 2

=item * I<aggregate-names>  =>   B<aggr-name[], optional>

=begin html

<br>The name of the aggregates that would auto-grow. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<aggregate-new-sizes>  =>   B<size[], optional>

=begin html

<br>The new size of the aggregates in bytes after adding the disks to storage pool. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<aggregate-sizes>  =>   B<size[], optional>

=begin html

<br>The current size of the aggregates in bytes. Attributes: non-creatable, modifiable

=end html

=back



=head2 storage-pool-aggregate-info

=begin html

Storage Pool Aggregate Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>Name of aggregate which has provisioned capacity from the storage pool. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<allocated-unit-count>  =>   B<integer, optional>

=begin html

<br>Number of Allocation Units assigned to the Aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node which is hosting the provisioned aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<original-owner>  =>   B<string, optional>

=begin html

<br>Node which is original owner of the provisioned Aggregate. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string, optional>

=begin html

<br>The cluster-wide unique name of the storage pool. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-capacity>  =>   B<size, optional>

=begin html

<br>Capacity provisioned by aggregate from storage pool. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-pool-available-capacity-info

=begin html

Storage Pool Available Capacity Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<allocation-unit-count>  =>   B<integer, optional>

=begin html

<br>The total number of units which can be allocated as spare capacity for aggregates. Size of these units are defined by field 'allocation-unit-size' Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<allocation-unit-size>  =>   B<size, optional>

=begin html

<br>Minimum size that can be allocated from the storage pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<available-size>  =>   B<size, optional>

=begin html

<br>The total available capacity in bytes available on a given node in the storage pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node which has available capacity. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string, optional>

=begin html

<br>The cluster-wide unique name of the storage pool. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-type>  =>   B<string, optional>

=begin html

<br>The type of the disks that constitute the storage pool. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ssd" - Solid-State Disk </ul>

=end html

=back



=over 2

=item * I<syncmirror-pool>  =>   B<string, optional>

=begin html

<br>The name of the syncmirror pool. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-pool-disk-info

=begin html

Information of disk in Storage Pool When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<disk>  =>   B<disk-name, optional>

=begin html

<br>Name of the disk Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-total-size>  =>   B<size, optional>

=begin html

<br>Total raw capacity of this disk in bytes Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-type>  =>   B<string, optional>

=begin html

<br>Disk interface type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ata" - Advanced Technology Attachment, <li> "bsas" - Bridged Serial Attached SCSI (bridged from SATA), <li> "fcal" - Fibre Channel Arbitrated Loop, <li> "fsas" - High-Capacity (Fat) Serial Attached SCSI, <li> "lun" - SCSI Logical Unit Number (e.g. Array), <li> "sas" - Serial Attached SCSI, <li> "msata" - Multiple bridged SATA disks in a single carrier, <li> "ssd" - Solid-State Disk, <li> "vmdisk" - Hypervisor Virtual Disk, <li> "unknown" - unknown, <li> "ssd_nvm" - Non-Volatile Memory Express Solid-State Disk </ul>

=end html

=back



=over 2

=item * I<disk-usable-size>  =>   B<size, optional>

=begin html

<br>Total usable capacity of this disk in bytes Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string, optional>

=begin html

<br>The cluster-wide unique name of the storage pool. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 storage-pool-info

=begin html

Storage Pool Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<allocation-unit-data-size-raid-dp>  =>   B<size, optional>

=begin html

<br>Data size that will be available after allocation unit is used for RAID-DP group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<allocation-unit-data-size-raid-tec>  =>   B<size, optional>

=begin html

<br>Data size that will be available after allocation unit is used for RAID-TEC group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<allocation-unit-data-size-raid4>  =>   B<size, optional>

=begin html

<br>Data size that will be available after allocation unit is used for RAID4 group. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<allocation-unit-size>  =>   B<size, optional>

=begin html

<br>Minimum size that can be allocated from the storage pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-operation-job-id>  =>   B<integer, optional>

=begin html

<br>Job ID of the currently running operation on the storage pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>The number of disks that are part of the storage pool. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<is-healthy>  =>   B<boolean, optional>

=begin html

<br>If \"true\", provisioning is allowed from the storage pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nodes>  =>   B<node-name[], optional>

=begin html

<br>The list of nodes in which the storage pool resides. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<pool-state>  =>   B<storagepoolstate, optional>

=begin html

<br>State of the storage pool. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "normal" , <li> "degraded" , <li> "creating" , <li> "deleting" , <li> "reassigning" , <li> "growing" </ul>

=end html

=back



=over 2

=item * I<pool-total-size>  =>   B<size, optional>

=begin html

<br>The total size in bytes of the storage pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<pool-usable-size>  =>   B<size, optional>

=begin html

<br>The amount of usable size in bytes in the storage pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-pool>  =>   B<string, optional>

=begin html

<br>The cluster-wide unique name of the storage pool. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<storage-type>  =>   B<string, optional>

=begin html

<br>The type of the disks that constitute the storage pool. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ssd" - Solid-State Disk </ul>

=end html

=back



=over 2

=item * I<unhealthy-reason>  =>   B<string, optional>

=begin html

<br>Specifies the reason why the storage pool is unhealthy. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storagepoolstate

=begin html

State of the Storage Pool Possible values: <ul> <li> "normal" , <li> "degraded" , <li> "creating" , <li> "deleting" , <li> "reassigning" , <li> "growing" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 connector-capabilities-info

=begin html

Connector Capabilities information.

=end html



B<Fields>

=over 2

=item * I<connector-capabilities>  =>   B<integer, optional>

=begin html

<br>The connector capabilities in Gb/s. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 connector-type

=begin html

QSFP|QSFP+|Mini-SAS HD|SFP Possible values: <ul> <li> "qsfp" - QSFP, <li> "qsfp_plus" - QSFP+, <li> "mini_sas_hd" - Mini-SAS HD, <li> "sfp" - SFP </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 phy-info

=begin html

Returns SAS port phy information.

=end html



B<Fields>

=over 2

=item * I<phy-id>  =>   B<integer, optional>

=begin html

<br>The ID of the phy (0-3). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-speed>  =>   B<storage-port-speed, optional>

=begin html

<br>The link speed of the phy in Gb/s. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "0" - 0 Gb/s, <li> "1" - 1 Gb/s, <li> "1_5" - 1.5 Gb/s, <li> "2" - 2 Gb/s, <li> "3" - 3 Gb/s, <li> "4" - 4 Gb/s, <li> "6" - 6 Gb/s, <li> "8" - 8 Gb/s, <li> "10" - 10 Gb/s, <li> "12" - 12 Gb/s, <li> "16" - 16 Gb/s, <li> "32" - 32 Gb/s </ul>

=end html

=back



=over 2

=item * I<phy-state>  =>   B<enable, optional>

=begin html

<br>The state of the phy (enabled/disabled). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy-status>  =>   B<storage-port-phy-status, optional>

=begin html

<br>The operational status of the phy (unknown/online/offline/speed-negotiation-failed/sata-oob-failed). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The phy status is unknown, <li> "online" - The phy is online, <li> "offline" - The phy is offline, <li> "speed_negotiation_failed" - The speed negotiation on this phy failed, <li> "sata_oob_failed" - The SATA OOB on this port failed </ul>

=end html

=back



=head2 sas-connector-technology

=begin html

active-copper|passive-copper|optical Possible values: <ul> <li> "active_copper" - Active Copper, <li> "passive_copper" - Passive Copper, <li> "optical" - Optical </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 shelf-cable-end

=begin html

end_0|end_1 Possible values: <ul> <li> "end_0" - end 0, <li> "end_1" - end 1 </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-port-connection-mode

=begin html

Unknown|Loop|Point-to-point Possible values: <ul> <li> "unknown" - The port connection mode is unknown, <li> "loop" - Loop, <li> "point_to_point" - Point-to-point </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-port-info

=begin html

Storage port information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<board-name>  =>   B<string, optional>

=begin html

<br>The board name of the adapter. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cable-end-id>  =>   B<shelf-cable-end, optional>

=begin html

<br>The cable end identifier (end_0/end_1). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "end_0" - end 0, <li> "end_1" - end 1 </ul>

=end html

=back



=over 2

=item * I<cable-identifier>  =>   B<string, optional>

=begin html

<br>The cable identifier. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cable-length>  =>   B<string, optional>

=begin html

<br>The cable length in meters. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<connection-mode>  =>   B<storage-port-connection-mode, optional>

=begin html

<br>The connection mode of the port (loop/point-to-point). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The port connection mode is unknown, <li> "loop" - Loop, <li> "point_to_point" - Point-to-point </ul>

=end html

=back



=over 2

=item * I<connector-capabilities-array>  =>   B<L<"connector-capabilities-info">[], optional>

=begin html

<br>Connector Capabilities information.

=end html

=back



=over 2

=item * I<connector-part-number>  =>   B<string, optional>

=begin html

<br>The connector part number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<connector-serial-number>  =>   B<string, optional>

=begin html

<br>The connector serial number. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<connector-technology>  =>   B<sas-connector-technology, optional>

=begin html

<br>The connector technology (passive-copper/active-copper/optical). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "active_copper" - Active Copper, <li> "passive_copper" - Passive Copper, <li> "optical" - Optical </ul>

=end html

=back



=over 2

=item * I<connector-type>  =>   B<connector-type, optional>

=begin html

<br>The connector type (qsfp/qsfp-plus/mini-sas-hd/sfp). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "qsfp" - QSFP, <li> "qsfp_plus" - QSFP+, <li> "mini_sas_hd" - Mini-SAS HD, <li> "sfp" - SFP </ul>

=end html

=back



=over 2

=item * I<connector-vendor>  =>   B<string, optional>

=begin html

<br>The connector vendor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<corrective-action>  =>   B<string, optional>

=begin html

<br>The corrective action to perform, in case of a port error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<date-code>  =>   B<string, optional>

=begin html

<br>The date code of the adapter. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>A detailed description of the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-severity>  =>   B<storage-shelf-error-severity, optional>

=begin html

<br>The severity of the port error, in case of a port error. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The error severity is unknown, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "warning" - A high-priority warning message, does not indicate a fault, <li> "error" - A fault condition which is not immediately fatal but requires immediate attention, <li> "critical" - A critical fault condition, typically disruptive </ul>

=end html

=back



=over 2

=item * I<error-text>  =>   B<string, optional>

=begin html

<br>The error text of the port error, in case of a port error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-type>  =>   B<storage-port-status, optional>

=begin html

<br>The error type of the port error, in case of a port error. Example: 'online-degraded'. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The port status is unknown, <li> "online" - The port is online, <li> "online_degraded" - The port is online, but in a degraded state, <li> "offline" - The port is offline, <li> "link_down" - The link connected to the port is down </ul>

=end html

=back



=over 2

=item * I<firmware-rev>  =>   B<string, optional>

=begin html

<br>The firmware revision running on the adapter. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mfg-part-number>  =>   B<string, optional>

=begin html

<br>The manufacturer part number of the adapter. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The cluster node where the storage port is located. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nvdata-rev>  =>   B<string, optional>

=begin html

<br>The NVDATA revision running on the adapter. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<part-number>  =>   B<string, optional>

=begin html

<br>The part number of the adapter. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phys>  =>   B<L<"phy-info">[], optional>

=begin html

<br>Returns SAS port phy information.

=end html

=back



=over 2

=item * I<port>  =>   B<string, optional>

=begin html

<br>The name of the port. Example: '0a', '1b', etc. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-speed>  =>   B<storage-port-speed, optional>

=begin html

<br>The link speed of the port in Gb/s. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "0" - 0 Gb/s, <li> "1" - 1 Gb/s, <li> "1_5" - 1.5 Gb/s, <li> "2" - 2 Gb/s, <li> "3" - 3 Gb/s, <li> "4" - 4 Gb/s, <li> "6" - 6 Gb/s, <li> "8" - 8 Gb/s, <li> "10" - 10 Gb/s, <li> "12" - 12 Gb/s, <li> "16" - 16 Gb/s, <li> "32" - 32 Gb/s </ul>

=end html

=back



=over 2

=item * I<port-type>  =>   B<storage-port-type, optional>

=begin html

<br>The type of the port (SAS/FC) Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The port type is unknown, <li> "sas" - SAS, <li> "fc" - FC </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>The serial number of the adapter. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<enable, optional>

=begin html

<br>The configured state of the port (enabled/disabled). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<storage-port-status, optional>

=begin html

<br>The operational status of the port (online/online-degraded/offline/link-down). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The port status is unknown, <li> "online" - The port is online, <li> "online_degraded" - The port is online, but in a degraded state, <li> "offline" - The port is offline, <li> "link_down" - The link connected to the port is down </ul>

=end html

=back



=over 2

=item * I<wwn>  =>   B<string, optional>

=begin html

<br>The World Wide Name of the port. Example: '50:0a:09:80:00:81:04:ee' Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwnn>  =>   B<string, optional>

=begin html

<br>The World Wide Node Name of the port. Example: '50:0a:09:80:00:81:04:ee' Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>The World Wide Port Name of the port. Example: '50:0a:09:80:00:81:04:ee' Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-port-phy-status

=begin html

unknown|online|offline|speed-negotiation-failed|sata-oob-failed Possible values: <ul> <li> "unknown" - The phy status is unknown, <li> "online" - The phy is online, <li> "offline" - The phy is offline, <li> "speed_negotiation_failed" - The speed negotiation on this phy failed, <li> "sata_oob_failed" - The SATA OOB on this port failed </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-port-speed

=begin html

0|1|1.5|2|3|4|6|8|10|12|16|32 Possible values: <ul> <li> "0" - 0 Gb/s, <li> "1" - 1 Gb/s, <li> "1_5" - 1.5 Gb/s, <li> "2" - 2 Gb/s, <li> "3" - 3 Gb/s, <li> "4" - 4 Gb/s, <li> "6" - 6 Gb/s, <li> "8" - 8 Gb/s, <li> "10" - 10 Gb/s, <li> "12" - 12 Gb/s, <li> "16" - 16 Gb/s, <li> "32" - 32 Gb/s </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-port-status

=begin html

unknown|online|online-degraded|offline|link-down Possible values: <ul> <li> "unknown" - The port status is unknown, <li> "online" - The port is online, <li> "online_degraded" - The port is online, but in a degraded state, <li> "offline" - The port is offline, <li> "link_down" - The link connected to the port is down </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-port-type

=begin html

Unknown|SAS|FC Possible values: <ul> <li> "unknown" - The port type is unknown, <li> "sas" - SAS, <li> "fc" - FC </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 acp-error-type-enum

=begin html

No-Error|Connection-Issue|Connection-Activity|Module-Error|Shelf-Error Possible values: <ul> <li> "no_error" - No error found, <li> "connection_issue" - System is reporting an error with the connection, <li> "connection_activity" - System has connection, but not active, <li> "module_error" - The ACP processor is reporting an error, <li> "shelf_error" - The shelf is reporting an error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 activity-status-enum

=begin html

active|inactive Possible values: <ul> <li> "inactive" - The connection is inactive, <li> "active" - The connection is active </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 channel-config-enum

=begin html

out-of-band|in-band Possible values: <ul> <li> "out_of_band" - The connection type is out-of-band, <li> "in_band" - The connection type is in-band </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 channel-enum

=begin html

unknown|out-of-band|in-band Possible values: <ul> <li> "unknown" - The connection type is unknown., <li> "out_of_band" - The connection type is out-of-band, <li> "in_band" - The connection type is in-band </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 connection-status-enum

=begin html

no-connectivity|partial-connectivity|full-connectivity|additional-connectivity|unknown-connectivity|not-available|connection-disabled Possible values: <ul> <li> "no_connectivity" - Error in connectivity. System is unable to see any connectivity, <li> "partial_connectivity" - Error in connectivity. System is seeing only partial connectivity, <li> "full_connectivity" - No Error in connectivity. System is seeing full connectivity, <li> "additional_connectivity" - Error in connectivity. System is seeing additional connectivity, <li> "unknown_connectivity" - Error in connectivity. System is unable to determine nature of error, <li> "not_available" - Error in connectivity. System is unable to see connectivity, <li> "active" - Connection is active. Applicable to in-band only., <li> "disabled" - Connection disabled. ACP needs to be configured </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 drawer-path-status

=begin html

unknown|ok|degraded|none Possible values: <ul> <li> "unknown" - Unknown, <li> "ok" - Ok, <li> "degraded" - Degraded, <li> "none" - None </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 drawer-phy-state

=begin html

unknown|enabled|disabled Possible values: <ul> <li> "unknown" - Unknown, <li> "enabled" - Enabled, <li> "disabled" - Disabled </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 drawer-phy-status

=begin html

Drawer PHY Status Possible values: <ul> <li> "unknown" - Unknown, <li> "enabled_rate_unknown" - Unknown rate, <li> "disabled" - Disabled, <li> "enabled_speed_negotiation_failed" - Speed negotiation failed, <li> "enabled_sata_target_spin_up_state" - SATA target in spin-up state, <li> "enabled_port_selector_attached" - Port selector attached, <li> "reset_in_progress" - Reset in progress, <li> "unsupported_phy_attached" - Unsupported PHY, <li> "enabled_12gbs" - 12 Gb/s, <li> "enabled_15gbs" - 15 Gb/s, <li> "enabled_30gbs" - 30 Gb/s, <li> "enabled_60gbs" - 60 Gb/s, <li> "disabled_invalid_dword_count" - Invalid dword count, <li> "disabled_disparity_error_count" - Disparity error count, <li> "disabled_loss_of_sync_count" - Loss of sync count, <li> "disabled_reset_count" - Reset count, <li> "disabled_phy_change_count" - PHY change count, <li> "disabled_broadcast_change_count" - Broadcast change count </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 drawer-phy-type

=begin html

unknown|disk|virtual|input Possible values: <ul> <li> "unknown" - Unknown, <li> "disk" - Disk, <li> "virtual" - Virtual, <li> "input" - Input </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 drawer-status

=begin html

unknown|normal|warning|error|critical Possible values: <ul> <li> "unknown" - Unknown, <li> "normal" - Normal, <li> "warning" - Warning, <li> "error" - Error, <li> "critical" - Critical </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 open-closed

=begin html

open|closed Possible values: <ul> <li> "unknown" - Unknown, <li> "open" - Open, <li> "closed" - Closed </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 sfu-status

=begin html

running|idle Possible values: <ul> <li> "running" - Disk shelf firmware update is in progress., <li> "idle" - Disk shelf firmware update is not in progress. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 shelf-module-type

=begin html

atfcx|esh4|iom3|iom6|iom6e|iom12|iom12e Possible values: <ul> <li> "at_fcx" - AT-FCX Module Type, <li> "esh4" - ESH4 Module Type, <li> "iom3" - IOM3 Module Type, <li> "iom6" - IOM6 Module Type, <li> "iom6e" - IOM6E Module Type, <li> "iom12" - IOM12 Module Type, <li> "iom12e" - IOM12E Module Type, <li> "iom12f" - IOM12F Module Type </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-acp-connection

=begin html

Show connectivity information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address>  =>   B<ip-address, optional>

=begin html

<br>The IP on which the configuration is done. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<channel>  =>   B<channel-enum, optional>

=begin html

<br>The channel to which the connection is configured (in-band/out-of-band). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The connection type is unknown., <li> "out_of_band" - The connection type is out-of-band, <li> "in_band" - The connection type is in-band </ul>

=end html

=back



=over 2

=item * I<connection-status>  =>   B<connection-status-enum, optional>

=begin html

<br>The current connection status of configuration. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "no_connectivity" - Error in connectivity. System is unable to see any connectivity, <li> "partial_connectivity" - Error in connectivity. System is seeing only partial connectivity, <li> "full_connectivity" - No Error in connectivity. System is seeing full connectivity, <li> "additional_connectivity" - Error in connectivity. System is seeing additional connectivity, <li> "unknown_connectivity" - Error in connectivity. System is unable to determine nature of error, <li> "not_available" - Error in connectivity. System is unable to see connectivity, <li> "active" - Connection is active. Applicable to in-band only., <li> "disabled" - Connection disabled. ACP needs to be configured </ul>

=end html

=back



=over 2

=item * I<corrective-action>  =>   B<string, optional>

=begin html

<br>The corrective action of the module. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-id>  =>   B<integer, optional>

=begin html

<br>The error ID, in case of a connection error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-severity>  =>   B<storage-shelf-error-severity, optional>

=begin html

<br>The error severity, in case of a connection error. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The error severity is unknown, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "warning" - A high-priority warning message, does not indicate a fault, <li> "error" - A fault condition which is not immediately fatal but requires immediate attention, <li> "critical" - A critical fault condition, typically disruptive </ul>

=end html

=back



=over 2

=item * I<error-text>  =>   B<string, optional>

=begin html

<br>The error text. A highlevel description of the error seen. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-type>  =>   B<acp-error-type-enum, optional>

=begin html

<br>The error type, in case of a connection error (No-Error/Connection-Issue/Connection-Activity/Module-Error/Shelf-Error). Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "no_error" - No error found, <li> "connection_issue" - System is reporting an error with the connection, <li> "connection_activity" - System has connection, but not active, <li> "module_error" - The ACP processor is reporting an error, <li> "shelf_error" - The shelf is reporting an error </ul>

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<true-false, optional>

=begin html

<br>Configuration status. This is based on whether the user has configured ACP on clustered ONTAP (enabled/disabled). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<netmask>  =>   B<ip-address, optional>

=begin html

<br>The netmask on which the configuration is done. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node that has alternate control path configured. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<string, optional>

=begin html

<br>The port on which the configuration is setup, usually e0P. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<activity-status-enum, optional>

=begin html

<br>The current activity status of ACP. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "inactive" - The connection is inactive, <li> "active" - The connection is active </ul>

=end html

=back



=over 2

=item * I<subnet>  =>   B<ip-address, optional>

=begin html

<br>The subnet on which the configuration is done. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-acp-module

=begin html

Show module information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<acpa-id>  =>   B<integer, optional>

=begin html

<br>The alternate-control-path-admin ID of the module. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<adapter-name>  =>   B<string, optional>

=begin html

<br>Adapter Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<corrective-action>  =>   B<string[], optional>

=begin html

<br>The corrective action of the module. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-id>  =>   B<integer[], optional>

=begin html

<br>The error ID of the module, in case of a module error. A device can have multiple errors. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-severity>  =>   B<storage-shelf-error-severity[], optional>

=begin html

<br>The error severity of the module, in case of a module error. A device can have multiple errors, and each error is stored inside an array. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The error severity is unknown, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "warning" - A high-priority warning message, does not indicate a fault, <li> "error" - A fault condition which is not immediately fatal but requires immediate attention, <li> "critical" - A critical fault condition, typically disruptive </ul>

=end html

=back



=over 2

=item * I<error-text>  =>   B<string[], optional>

=begin html

<br>The error text of the module. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-type>  =>   B<acp-error-type-enum[], optional>

=begin html

<br>The error type of the module, in case of a module error. A device can have multiple errors, and each error is stored inside an array. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "no_error" - No error found, <li> "connection_issue" - System is reporting an error with the connection, <li> "connection_activity" - System has connection, but not active, <li> "module_error" - The ACP processor is reporting an error, <li> "shelf_error" - The shelf is reporting an error </ul>

=end html

=back



=over 2

=item * I<firmware-version>  =>   B<string, optional>

=begin html

<br>The firmware version of the module. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<iom-type>  =>   B<iom-type-enum, optional>

=begin html

<br>The IOM type of the module. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The processor is reporting an error, and is unaware of its type, <li> "iom3" - The processor is of type IOM3, <li> "iom6" - The processor is of type IOM6, <li> "iom6e" - The processor is of type IOM6E, <li> "iom12" - The processor is of type IOM12, <li> "iom12e" - The processor is of type IOM12e, <li> "iom12f" - The processor is of type IOM12f </ul>

=end html

=back



=over 2

=item * I<last-contact>  =>   B<integer, optional>

=begin html

<br>The number of seconds before contact was made to the module. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mac-address>  =>   B<string, optional>

=begin html

<br>The MAC address of the module. Example: 00:a0:98:19:53:ee Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-address>  =>   B<ip-address, optional>

=begin html

<br>The IP address through which the module is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-name>  =>   B<string, optional>

=begin html

<br>The adapter name. Example: 0a Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>The node that has alternate control path configured Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<protocol-version>  =>   B<string, optional>

=begin html

<br>Protocol Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<string, optional>

=begin html

<br>The shelf ID of the shelf. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-serial-number>  =>   B<string, optional>

=begin html

<br>The shelf serial number of the module. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<stack-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>The stack ID of the shelf. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<acpp-state-enum, optional>

=begin html

<br>The state of the module. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The status of the processor is unknown, <li> "initializing" - The processor is initializing, <li> "discovery_complete" - The processor has completed discovery, <li> "awaiting_inband" - The system is awaiting the processor ID to reach itself from the module, <li> "no_inband" - The system has no processor ID for the module, <li> "active" - The processor is active and can be seen by the system, <li> "awaiting_bootp" - The processor is waiting for the system to discover it, <li> "updating_firmware" - The processor is updating firmware, <li> "connection_error" - The processor is reporting a connection error, <li> "firmware_update_required" - The processor requires a firmware update, <li> "rebooting" - The processor is rebooting, <li> "fail" - The processor is failed and needs to be replaced, <li> "unsupported" - The processor is unsupported and needs to be upgraded, <li> "degraded" - The processor is degraded and a replacement is recommended, <li> "shelf_off" - The processor is in power off state </ul>

=end html

=back



=head2 storage-shelf-bay-info

=begin html

Returns shelf bay information.

=end html



B<Fields>

=over 2

=item * I<bay-has-disk>  =>   B<boolean, optional>

=begin html

<br>Bay Has Disk Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bay-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Bay ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bay-op-status>  =>   B<storage-shelf-bay-op-status, optional>

=begin html

<br>Bay Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The operational status of the disk bay is unknown, <li> "normal" - The operational status of the disk bay is normal, <li> "error" - The operational status of the disk bay is error </ul>

=end html

=back



=over 2

=item * I<bay-type>  =>   B<storage-shelf-bay-type, optional>

=begin html

<br>Bay Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The disk bay type is unknown, <li> "single_disk" - The disk bay carries a single disk, <li> "multi_lun" - The disk bay carries multiple LUNs </ul>

=end html

=back



=head2 storage-shelf-bay-op-status

=begin html

unknown|normal|error Possible values: <ul> <li> "unknown" - The operational status of the disk bay is unknown, <li> "normal" - The operational status of the disk bay is normal, <li> "error" - The operational status of the disk bay is error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-bay-type

=begin html

unknown|single-disk|multi-lun Possible values: <ul> <li> "unknown" - The disk bay type is unknown, <li> "single_disk" - The disk bay carries a single disk, <li> "multi_lun" - The disk bay carries multiple LUNs </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-connection-type

=begin html

unknown|fc|sas Possible values: <ul> <li> "unknown" - The connection type is unknown, <li> "fc" - The storage shelf connects to other devices via Fibre Channel, <li> "sas" - The storage shelf connects to other devices via Serial Attached SCSI </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-cooling-fan-info

=begin html

Returns cooling fan information.

=end html



B<Fields>

=over 2

=item * I<fan-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Fan ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fan-location>  =>   B<string, optional>

=begin html

<br>Fan Location Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fan-op-status>  =>   B<storage-shelf-fan-op-status, optional>

=begin html

<br>Fan Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The operational status of the fan is unknown., <li> "normal" - The cooling fan is operational, <li> "off" - The cooling fan is off, <li> "error" - The cooling fan failed due to an error </ul>

=end html

=back



=over 2

=item * I<fan-rpm>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Fan Rotation Per Minute Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-current-op-status

=begin html

unknown|normal|over-current-critical|under-current-critical Possible values: <ul> <li> "unknown" - The current sensor operational status is unknown, <li> "normal" - The current sensor operational status is normal, <li> "over_current_critical" - The current sensor is reporting critical overcurrent condition, <li> "under_current_critical" - The current sensor is reporting critica undercurrent condition </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-current-sensor-info

=begin html

Returns current sensor information.

=end html



B<Fields>

=over 2

=item * I<current-op-status>  =>   B<storage-shelf-current-op-status, optional>

=begin html

<br>Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The current sensor operational status is unknown, <li> "normal" - The current sensor operational status is normal, <li> "over_current_critical" - The current sensor is reporting critical overcurrent condition, <li> "under_current_critical" - The current sensor is reporting critica undercurrent condition </ul>

=end html

=back



=over 2

=item * I<current-sensor-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Current Sensor ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-sensor-location>  =>   B<string, optional>

=begin html

<br>Current Sensor Location Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-sensor-reading>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Current Sensor Reading Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-drawer-info

=begin html

Storage shelf drawer record When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<disk-count>  =>   B<integer, optional>

=begin html

<br>Drawer Disk Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<drawer>  =>   B<integer, optional>

=begin html

<br>Drawer Number Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error>  =>   B<string, optional>

=begin html

<br>Error Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<firmware-a>  =>   B<string, optional>

=begin html

<br>Firmware A Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<firmware-b>  =>   B<string, optional>

=begin html

<br>Firmware B Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fru-type>  =>   B<string, optional>

=begin html

<br>FRU Type Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-closed>  =>   B<open-closed, optional>

=begin html

<br>Drawer is Closed? Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "open" - Open, <li> "closed" - Closed </ul>

=end html

=back



=over 2

=item * I<is-supported>  =>   B<boolean, optional>

=begin html

<br>Drawer is Supported? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mfg-date>  =>   B<string, optional>

=begin html

<br>Mfg. Date Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<part-number>  =>   B<string, optional>

=begin html

<br>Part Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<path-a>  =>   B<drawer-path-status, optional>

=begin html

<br>Path A Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "ok" - Ok, <li> "degraded" - Degraded, <li> "none" - None </ul>

=end html

=back



=over 2

=item * I<path-b>  =>   B<drawer-path-status, optional>

=begin html

<br>Path B Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "ok" - Ok, <li> "degraded" - Degraded, <li> "none" - None </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status-a>  =>   B<drawer-status, optional>

=begin html

<br>Status A Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "normal" - Normal, <li> "warning" - Warning, <li> "error" - Error, <li> "critical" - Critical </ul>

=end html

=back



=over 2

=item * I<status-b>  =>   B<drawer-status, optional>

=begin html

<br>Status B Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "normal" - Normal, <li> "warning" - Warning, <li> "error" - Error, <li> "critical" - Critical </ul>

=end html

=back



=over 2

=item * I<vendor-name>  =>   B<string, optional>

=begin html

<br>Vendor Name Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-drawer-phy-info

=begin html

Storage shelf drawer phy record When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<drawer>  =>   B<integer, optional>

=begin html

<br>Drawer Number Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phy>  =>   B<integer, optional>

=begin html

<br>PHY Number Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-id>  =>   B<integer, optional>

=begin html

<br>Physical ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sas-address>  =>   B<string, optional>

=begin html

<br>Attached SAS Address Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state-a>  =>   B<drawer-phy-state, optional>

=begin html

<br>State Module A Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "enabled" - Enabled, <li> "disabled" - Disabled </ul>

=end html

=back



=over 2

=item * I<state-b>  =>   B<drawer-phy-state, optional>

=begin html

<br>State Module B Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "enabled" - Enabled, <li> "disabled" - Disabled </ul>

=end html

=back



=over 2

=item * I<status-a>  =>   B<drawer-phy-status, optional>

=begin html

<br>Status Module A Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "enabled_rate_unknown" - Unknown rate, <li> "disabled" - Disabled, <li> "enabled_speed_negotiation_failed" - Speed negotiation failed, <li> "enabled_sata_target_spin_up_state" - SATA target in spin-up state, <li> "enabled_port_selector_attached" - Port selector attached, <li> "reset_in_progress" - Reset in progress, <li> "unsupported_phy_attached" - Unsupported PHY, <li> "enabled_12gbs" - 12 Gb/s, <li> "enabled_15gbs" - 15 Gb/s, <li> "enabled_30gbs" - 30 Gb/s, <li> "enabled_60gbs" - 60 Gb/s, <li> "disabled_invalid_dword_count" - Invalid dword count, <li> "disabled_disparity_error_count" - Disparity error count, <li> "disabled_loss_of_sync_count" - Loss of sync count, <li> "disabled_reset_count" - Reset count, <li> "disabled_phy_change_count" - PHY change count, <li> "disabled_broadcast_change_count" - Broadcast change count </ul>

=end html

=back



=over 2

=item * I<status-b>  =>   B<drawer-phy-status, optional>

=begin html

<br>Status Module B Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "enabled_rate_unknown" - Unknown rate, <li> "disabled" - Disabled, <li> "enabled_speed_negotiation_failed" - Speed negotiation failed, <li> "enabled_sata_target_spin_up_state" - SATA target in spin-up state, <li> "enabled_port_selector_attached" - Port selector attached, <li> "reset_in_progress" - Reset in progress, <li> "unsupported_phy_attached" - Unsupported PHY, <li> "enabled_12gbs" - 12 Gb/s, <li> "enabled_15gbs" - 15 Gb/s, <li> "enabled_30gbs" - 30 Gb/s, <li> "enabled_60gbs" - 60 Gb/s, <li> "disabled_invalid_dword_count" - Invalid dword count, <li> "disabled_disparity_error_count" - Disparity error count, <li> "disabled_loss_of_sync_count" - Loss of sync count, <li> "disabled_reset_count" - Reset count, <li> "disabled_phy_change_count" - PHY change count, <li> "disabled_broadcast_change_count" - Broadcast change count </ul>

=end html

=back



=over 2

=item * I<type>  =>   B<drawer-phy-type, optional>

=begin html

<br>Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "disk" - Disk, <li> "virtual" - Virtual, <li> "input" - Input </ul>

=end html

=back



=head2 storage-shelf-drawer-slot-info

=begin html

Storage shelf drawer slot When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<bay>  =>   B<integer, optional>

=begin html

<br>Bay Number Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<drawer>  =>   B<integer, optional>

=begin html

<br>Drawer Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-installed>  =>   B<boolean, optional>

=begin html

<br>Is Disk Installed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<slot>  =>   B<integer, optional>

=begin html

<br>Slot Number Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-error-info

=begin html

Returns storage shelf errors.

=end html



B<Fields>

=over 2

=item * I<component-location>  =>   B<string, optional>

=begin html

<br>Location of component with error Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<corrective-action>  =>   B<string, optional>

=begin html

<br>Corrective Action Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Error Identifier Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-severity>  =>   B<storage-shelf-error-severity, optional>

=begin html

<br>Error Severity Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The error severity is unknown, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "warning" - A high-priority warning message, does not indicate a fault, <li> "error" - A fault condition which is not immediately fatal but requires immediate attention, <li> "critical" - A critical fault condition, typically disruptive </ul>

=end html

=back



=over 2

=item * I<error-text>  =>   B<string, optional>

=begin html

<br>Error Text Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-type>  =>   B<storage-shelf-error-type, optional>

=begin html

<br>Error Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "acpp" - Alternate control path processor error, <li> "bay" - Disk bay fault, <li> "configuration" - Configuration error, <li> "current" - Current error, <li> "disk" - Disk error, <li> "internal" - Internal error, <li> "fan" - Cooling fan error, <li> "module" - I/O controller module error, <li> "port" - Port error, <li> "power" - Power supply error, <li> "temperature" - Temperature error, <li> "voltage" - Voltage error </ul>

=end html

=back



=over 2

=item * I<shelf-component>  =>   B<string, optional>

=begin html

<br>Shelf component with error Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-error-severity

=begin html

unknown|notice|warning|error|critical Possible values: <ul> <li> "unknown" - The error severity is unknown, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "warning" - A high-priority warning message, does not indicate a fault, <li> "error" - A fault condition which is not immediately fatal but requires immediate attention, <li> "critical" - A critical fault condition, typically disruptive </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-error-show-info

=begin html

Returns storage shelf errors. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<component-location>  =>   B<string, optional>

=begin html

<br>Location of component with error Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<corrective-action>  =>   B<string, optional>

=begin html

<br>Corrective Action Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-count>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Number of errors for this shelf Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Error Identifier Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-severity>  =>   B<storage-shelf-error-severity, optional>

=begin html

<br>Error Severity Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The error severity is unknown, <li> "notice" - A normal-priority message, does not indicate a fault, <li> "warning" - A high-priority warning message, does not indicate a fault, <li> "error" - A fault condition which is not immediately fatal but requires immediate attention, <li> "critical" - A critical fault condition, typically disruptive </ul>

=end html

=back



=over 2

=item * I<error-text>  =>   B<string, optional>

=begin html

<br>Error Text Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error-type>  =>   B<storage-shelf-error-type, optional>

=begin html

<br>Error Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "acpp" - Alternate control path processor error, <li> "bay" - Disk bay fault, <li> "configuration" - Configuration error, <li> "current" - Current error, <li> "disk" - Disk error, <li> "internal" - Internal error, <li> "fan" - Cooling fan error, <li> "module" - I/O controller module error, <li> "port" - Port error, <li> "power" - Power supply error, <li> "temperature" - Temperature error, <li> "voltage" - Voltage error </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Shelf Serial Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-component>  =>   B<string, optional>

=begin html

<br>Shelf component with error Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-name>  =>   B<string, optional>

=begin html

<br>Shelf Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-uid>  =>   B<string, optional>

=begin html

<br>Shelf UID Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-error-type

=begin html

unknown|acpp|bay|configuration|current|disk|internal|fan|module|port|power|temperature|voltage Possible values: <ul> <li> "unknown" - Unknown, <li> "acpp" - Alternate control path processor error, <li> "bay" - Disk bay fault, <li> "configuration" - Configuration error, <li> "current" - Current error, <li> "disk" - Disk error, <li> "internal" - Internal error, <li> "fan" - Cooling fan error, <li> "module" - I/O controller module error, <li> "port" - Port error, <li> "power" - Power supply error, <li> "temperature" - Temperature error, <li> "voltage" - Voltage error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-fan-op-status

=begin html

unknown|normal|off|error Possible values: <ul> <li> "unknown" - The operational status of the fan is unknown., <li> "normal" - The cooling fan is operational, <li> "off" - The cooling fan is off, <li> "error" - The cooling fan failed due to an error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-fc-port-info

=begin html

Returns Fiber Channel port information.

=end html



B<Fields>

=over 2

=item * I<fc-port-id>  =>   B<string, optional>

=begin html

<br>Fibre Channel Port ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fc-port-mode>  =>   B<storage-shelf-port-type, optional>

=begin html

<br>Fibre Channel Port Mode Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Port type is unknown, <li> "circle" - Circle, <li> "square" - Square, <li> "sil" - SIL, <li> "disk" - Disk, <li> "in" - In, <li> "out" - Out, <li> "unused" - Unused, <li> "aux1" - Aux 1, <li> "aux2" - Aux 2, <li> "hi_ho" - Hi-Ho, <li> "a_to_b" - A-to-B, <li> "b_to_a" - B-to-A </ul>

=end html

=back



=over 2

=item * I<fc-port-op-status>  =>   B<storage-shelf-port-op-status, optional>

=begin html

<br>Fibre Channel Port Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "error" - Error, <li> "normal" - Normal, <li> "offline" - Offline, <li> "unknown_status" - StatusUnknown, <li> "unused" - Unused, <li> "byp_bad_term" - byp-bad-term, <li> "bad_zone_recovery" - bad-zone-recovery, <li> "byp_clk_thr" - byp_clk_thr, <li> "byp_comma_los" - byp_comma_los, <li> "byp_crc_brst_thr" - byp_crc_brst_thr, <li> "byp_crc_rate_thr" - byp_crc_rate_thr, <li> "byp_data_timeout" - byp_data_timeout, <li> "byp_drv_fault" - byp_drv_fault, <li> "byp_drv_pcycle" - byp_drv_pcycle, <li> "byp_drv_pwr" - byp_drv_pwr, <li> "byp_drv_self" - byp_gen, <li> "byp_gen" - byp_gen, <li> "byp_init" - byp_init, <li> "byp_lip_brst_thr" - byp_lip_brst_thr, <li> "byp_lip_f8" - byp_lip_f8, <li> "byp_lip_rate_thr" - byp_lip_rate_thr, <li> "byp_lipf7" - byp_lipf7, <li> "byp_ltbi" - byp_ltbi, <li> "byp_man" - byp_man, <li> "byp_mir" - byp_mir, <li> "byp_no_drive" - byp_no_drive, <li> "byp_osc" - byp_osc, <li> "byp_other_thr" - byp_other_thr, <li> "byp_rec_los" - byp_rec_los, <li> "byp_rport" - byp_rport, <li> "byp_stall_thr" - byp_stall_thr, <li> "byp_wrd_brst_thr" - byp_wrd_brst_thr, <li> "byp_wrd_rate_thr" - byp_wrd_rate_thr, <li> "byp_xmit_fault" - byp_xmit_fault, <li> "diag_transmit" - diag_transmit, <li> "inserted" - inserted, <li> "loopback" - loopback, <li> "status_unknown" - status_unknown, <li> "warn_high_clk_delta" - warn_high_clk_delta, <li> "warn_high_crc_rate" - warn_high_crc_rate, <li> "warn_high_lip" - warn_high_lip, <li> "warn_high_wrd_rate" - warn_high_wrd_rate, <li> "warn_wrd_brst" - warn_wrd_brst, <li> "term" - term, <li> "phy_dis_clk_fault" - phy_dis_clk_fault, <li> "phy_dis_crc_err" - phy_dis_crc_err, <li> "phy_dis_crc_err_burst" - phy_dis_crc_err_burst, <li> "phy_dis_disparity" - phy_dis_disparity, <li> "phy_dis_disparity_burst" - phy_dis_disparity_burst, <li> "phy_dis_emulate_reserve" - phy_dis_emulate_reserve, <li> "phy_dis_inval_dword" - phy_dis_inval_dword, <li> "phy_dis_inval_dword_burst" - phy_dis_inval_dword_burst, <li> "phy_dis_loss_dword" - phy_dis_loss_dword, <li> "phy_dis_loss_dword_burst" - phy_dis_loss_dword_burst, <li> "phy_dis_man_smp" - phy_dis_man_smp, <li> "phy_dis_manual" - Disabled/Manual, <li> "disabled_mirrored" - Disabled/Mirrored, <li> "disabled_nodrive" - Disabled/NoDrive, <li> "phy_dis_phy_change" - phy_dis_phy_change, <li> "phy_dis_phy_change_burst" - phy_dis_phy_change_burst, <li> "phy_dis_phy_reset" - phy_dis_phy_reset, <li> "phy_dis_phy_reset_burst" - phy_dis_phy_reset_burst, <li> "disabled" - Phy is disabled or unused, <li> "enabled" - Phy is enabled, <li> "not_attached" - Phy is not attached, <li> "phy_ena_unknown" - phy_ena_unknown, <li> "unknown" - Unknown Phy </ul>

=end html

=back



=head2 storage-shelf-firmware-update-info

=begin html

Storage shelf firmware update status record When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<in-progress-count>  =>   B<integer, optional>

=begin html

<br>Number of Shelves with Earlier Revisions Being Updated Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<update-status>  =>   B<sfu-status, optional>

=begin html

<br>Disk Shelf Firmware Update Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "running" - Disk shelf firmware update is in progress., <li> "idle" - Disk shelf firmware update is not in progress. </ul>

=end html

=back



=head2 storage-shelf-info

=begin html

Storage shelf record When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<connection-type>  =>   B<storage-shelf-connection-type, optional>

=begin html

<br>Shelf Connection Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The connection type is unknown, <li> "fc" - The storage shelf connects to other devices via Fibre Channel, <li> "sas" - The storage shelf connects to other devices via Serial Attached SCSI </ul>

=end html

=back



=over 2

=item * I<cooling-fans>  =>   B<L<"storage-shelf-cooling-fan-info">[], optional>

=begin html

<br>Returns cooling fan information.

=end html

=back



=over 2

=item * I<current-sensors>  =>   B<L<"storage-shelf-current-sensor-info">[], optional>

=begin html

<br>Returns current sensor information.

=end html

=back



=over 2

=item * I<disk-count>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Disk Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fc-ports>  =>   B<L<"storage-shelf-fc-port-info">[], optional>

=begin html

<br>Returns Fiber Channel port information.

=end html

=back



=over 2

=item * I<is-local-attach>  =>   B<boolean, optional>

=begin html

<br>Is the Shelf Local to This Cluster? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-type>  =>   B<storage-shelf-module-type, optional>

=begin html

<br>Shelf Module Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown module type, <li> "at_fcx" - AT-FCX, <li> "esh4" - ESH4, <li> "iom3" - IOM3, <li> "iom6" - IOM6, <li> "iom6e" - IOM6E, <li> "iom12" - IOM12, <li> "iom12e" - IOM12E, <li> "iom12f" - IOM12F </ul>

=end html

=back



=over 2

=item * I<op-status>  =>   B<storage-shelf-op-status, optional>

=begin html

<br>Shelf Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The operational status of the shelf is unknown, <li> "normal" - The shelf is operational, <li> "warning" - Warning conditions exist in the storage shelf, <li> "error" - The shelf has one or more faults that require immediate action, <li> "critical" - The shelf has one or more critical faults, <li> "standby_power" - The shelf is in standby power mode </ul>

=end html

=back



=over 2

=item * I<paths>  =>   B<L<"storage-shelf-path-info">[], optional>

=begin html

<br>Returns available shelf path information.

=end html

=back



=over 2

=item * I<power-supply-units>  =>   B<L<"storage-shelf-power-supply-unit-info">[], optional>

=begin html

<br>Returns power supply unit information.

=end html

=back



=over 2

=item * I<sas-ports>  =>   B<L<"storage-shelf-sas-port-info">[], optional>

=begin html

<br>Returns SAS port information.

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Shelf Serial Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf>  =>   B<string, optional>

=begin html

<br>Shelf Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-bays>  =>   B<L<"storage-shelf-bay-info">[], optional>

=begin html

<br>Returns shelf bay information.

=end html

=back



=over 2

=item * I<shelf-errors>  =>   B<L<"storage-shelf-error-info">[], optional>

=begin html

<br>Returns storage shelf errors.

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<string, optional>

=begin html

<br>Shelf ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-model>  =>   B<string, optional>

=begin html

<br>Shelf Product Identification Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-modules>  =>   B<L<"storage-shelf-module-info">[], optional>

=begin html

<br>Returns I/O controller module information.

=end html

=back



=over 2

=item * I<shelf-uid>  =>   B<string, optional>

=begin html

<br>Shelf UID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<stack-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Stack ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<storage-shelf-state, optional>

=begin html

<br>Shelf State Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The shelf state is unknown, <li> "no_status" - The shelf state is not available, <li> "init_required" - The shelf requires initialization, <li> "online" - The shelf is online, <li> "offline" - The shelf is offline, <li> "missing" - The shelf is missing </ul>

=end html

=back



=over 2

=item * I<temperature-sensors>  =>   B<L<"storage-shelf-temperature-sensor-info">[], optional>

=begin html

<br>Returns temperature sensor information.

=end html

=back



=over 2

=item * I<vendor-name>  =>   B<string, optional>

=begin html

<br>Shelf Vendor Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<voltage-sensors>  =>   B<L<"storage-shelf-voltage-sensor-info">[], optional>

=begin html

<br>Returns voltage sensor information.

=end html

=back



=head2 storage-shelf-led-status

=begin html

on|off Possible values: <ul> <li> "off" , <li> "on" , <li> "unsupported" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-location-led-info

=begin html

Shelf Location LED Status Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<led-status>  =>   B<storage-shelf-led-status, optional>

=begin html

<br>Location LED Attributes: non-creatable, modifiable Possible values: <ul> <li> "off" , <li> "on" , <li> "unsupported" </ul>

=end html

=back



=over 2

=item * I<shelf-id>  =>   B<integer, optional>

=begin html

<br>Shelf ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<shelf-name>  =>   B<string, optional>

=begin html

<br>Shelf Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<stack-id>  =>   B<integer, optional>

=begin html

<br>Stack ID Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-location-led-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against storage-shelf object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<storage-shelf-key>  =>   B<L<"storage-shelf-location-led-info">>

=begin html

<br>The keys for the storage-shelf object to which the modify operation applies.

=end html

=back



=head2 storage-shelf-module-fw-progress

=begin html

not-available|ready|in-progress|failed Possible values: <ul> <li> "not_available" - Not available, <li> "ready" - Ready, <li> "in_progress" - In Progress, <li> "failed" - Failed </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-module-info

=begin html

Returns I/O controller module information.

=end html



B<Fields>

=over 2

=item * I<es-serial-number>  =>   B<string, optional>

=begin html

<br>ES Electronics Element Serial Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-monitor-active>  =>   B<boolean, optional>

=begin html

<br>Is Monitor Active? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sas-master-module>  =>   B<boolean, optional>

=begin html

<br>Is SAS Expander Master Module? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-fru-id>  =>   B<string, optional>

=begin html

<br>Field Replaceable Unit ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-fw-progress>  =>   B<storage-shelf-module-fw-progress, optional>

=begin html

<br>Module Firmware Progress Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "not_available" - Not available, <li> "ready" - Ready, <li> "in_progress" - In Progress, <li> "failed" - Failed </ul>

=end html

=back



=over 2

=item * I<module-fw-revision>  =>   B<string, optional>

=begin html

<br>Firmware Revision Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-id>  =>   B<string, optional>

=begin html

<br>Module ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-is-reporting-element>  =>   B<boolean, optional>

=begin html

<br>Is Reporting Element? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-latest-fw-revision>  =>   B<string, optional>

=begin html

<br>Latest Firmware Revision Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-location>  =>   B<string, optional>

=begin html

<br>Module Location Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-op-status>  =>   B<storage-shelf-module-op-status, optional>

=begin html

<br>Module Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The operational status of the module is unknown, <li> "normal" - The shelf module is operational, <li> "warning" - There are warning conditions, the module is operational, <li> "error" - The shelf module has one or more errors that require immediate action </ul>

=end html

=back



=over 2

=item * I<module-part-number>  =>   B<string, optional>

=begin html

<br>Module Part Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-swap-count>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Module Swap Count Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<module-type>  =>   B<storage-shelf-module-type, optional>

=begin html

<br>Module Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown module type, <li> "at_fcx" - AT-FCX, <li> "esh4" - ESH4, <li> "iom3" - IOM3, <li> "iom6" - IOM6, <li> "iom6e" - IOM6E </ul>

=end html

=back



=head2 storage-shelf-module-op-status

=begin html

unknown|normal|warning|error Possible values: <ul> <li> "unknown" - The operational status of the module is unknown, <li> "normal" - The shelf module is operational, <li> "warning" - There are warning conditions, the module is operational, <li> "error" - The shelf module has one or more errors that require immediate action </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-module-type

=begin html

unknown|atfcx|esh4|iom3|iom6|iom6e Possible values: <ul> <li> "unknown" - Unknown module type, <li> "at_fcx" - AT-FCX, <li> "esh4" - ESH4, <li> "iom3" - IOM3, <li> "iom6" - IOM6, <li> "iom6e" - IOM6E </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-op-status

=begin html

unknown|normal|warning|error|critical Possible values: <ul> <li> "unknown" - The operational status of the shelf is unknown, <li> "normal" - The shelf is operational, <li> "warning" - Warning conditions exist in the storage shelf, <li> "error" - The shelf has one or more faults that require immediate action, <li> "critical" - The shelf has one or more critical faults </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-path-info

=begin html

Returns available shelf path information.

=end html



B<Fields>

=over 2

=item * I<controller>  =>   B<node-name, optional>

=begin html

<br>Controller Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<initiator>  =>   B<string, optional>

=begin html

<br>Initiator Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<initiator-side-switch-port>  =>   B<string, optional>

=begin html

<br>Initiator Side Switch Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<io-kbps>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Kbytes/sec on storage shelf Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<iops>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Number IOPS per second on storage shelf Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-speed>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Port Speed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-port>  =>   B<string, optional>

=begin html

<br>Target Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-side-switch-port>  =>   B<string, optional>

=begin html

<br>Target Side Switch Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tpgn>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Target Port Group Number Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-port-op-status

=begin html

error|normal|off|unknown|byp-bad-term|bad-zone-recovery|byp_clk_thr|byp_comma_los|byp_crc_brst_thr|byp_data_timeout|byp_drv_fault|byp_drv_pcycle|byp_drv_pwr|byp_drv_self|byp_gen|byp_init|byp_lip_brst_thr|byp_lip_f8|byp_lip_rate_thr|byp_lipf7|byp_ltbi|byp_man|byp_no_drive|byp_osc|byp_other_thr|byp_rec_los|byp_rport|byp_stall_thr|byp_wrd_brst_thr|byp_wrd_rate_thr|byp_xmit_fault|diag_transmit|inserted|loopback|status_unknown|warn_high_clk_delta|warn_high_crc_rate|warn_high_lip|warn_high_wrd_rate|term|phy_dis_clk_fault|phy_dis_crc_err|phy_dis_crc_err_burst|phy_dis_disparity|phy_dis_disparity_burst|phy_dis_emulate_reserve|phy_dis_inval_dword|phy_dis_inval_dword_burst|phy_dis_loss_dword|phy_dis_loss_dword_burst|phy_dis_man_smp|phy_dis_manual|phy_dis_mirrored|phy_dis_no_drive|phy_dis_phy_change|phy_dis_phy_change_burst|phy_dis_phy_reset|phy_dis_phy_reset_burst|phy_dis_phy_unused|phy_ena|phy_ena_not_attach|phy_ena_unknown|phy_unknown Possible values: <ul> <li> "error" - Error, <li> "normal" - Normal, <li> "offline" - Offline, <li> "unknown_status" - StatusUnknown, <li> "unused" - Unused, <li> "byp_bad_term" - byp-bad-term, <li> "bad_zone_recovery" - bad-zone-recovery, <li> "byp_clk_thr" - byp_clk_thr, <li> "byp_comma_los" - byp_comma_los, <li> "byp_crc_brst_thr" - byp_crc_brst_thr, <li> "byp_crc_rate_thr" - byp_crc_rate_thr, <li> "byp_data_timeout" - byp_data_timeout, <li> "byp_drv_fault" - byp_drv_fault, <li> "byp_drv_pcycle" - byp_drv_pcycle, <li> "byp_drv_pwr" - byp_drv_pwr, <li> "byp_drv_self" - byp_gen, <li> "byp_gen" - byp_gen, <li> "byp_init" - byp_init, <li> "byp_lip_brst_thr" - byp_lip_brst_thr, <li> "byp_lip_f8" - byp_lip_f8, <li> "byp_lip_rate_thr" - byp_lip_rate_thr, <li> "byp_lipf7" - byp_lipf7, <li> "byp_ltbi" - byp_ltbi, <li> "byp_man" - byp_man, <li> "byp_mir" - byp_mir, <li> "byp_no_drive" - byp_no_drive, <li> "byp_osc" - byp_osc, <li> "byp_other_thr" - byp_other_thr, <li> "byp_rec_los" - byp_rec_los, <li> "byp_rport" - byp_rport, <li> "byp_stall_thr" - byp_stall_thr, <li> "byp_wrd_brst_thr" - byp_wrd_brst_thr, <li> "byp_wrd_rate_thr" - byp_wrd_rate_thr, <li> "byp_xmit_fault" - byp_xmit_fault, <li> "diag_transmit" - diag_transmit, <li> "inserted" - inserted, <li> "loopback" - loopback, <li> "status_unknown" - status_unknown, <li> "warn_high_clk_delta" - warn_high_clk_delta, <li> "warn_high_crc_rate" - warn_high_crc_rate, <li> "warn_high_lip" - warn_high_lip, <li> "warn_high_wrd_rate" - warn_high_wrd_rate, <li> "warn_wrd_brst" - warn_wrd_brst, <li> "term" - term, <li> "phy_dis_clk_fault" - phy_dis_clk_fault, <li> "phy_dis_crc_err" - phy_dis_crc_err, <li> "phy_dis_crc_err_burst" - phy_dis_crc_err_burst, <li> "phy_dis_disparity" - phy_dis_disparity, <li> "phy_dis_disparity_burst" - phy_dis_disparity_burst, <li> "phy_dis_emulate_reserve" - phy_dis_emulate_reserve, <li> "phy_dis_inval_dword" - phy_dis_inval_dword, <li> "phy_dis_inval_dword_burst" - phy_dis_inval_dword_burst, <li> "phy_dis_loss_dword" - phy_dis_loss_dword, <li> "phy_dis_loss_dword_burst" - phy_dis_loss_dword_burst, <li> "phy_dis_man_smp" - phy_dis_man_smp, <li> "phy_dis_manual" - Disabled/Manual, <li> "disabled_mirrored" - Disabled/Mirrored, <li> "disabled_nodrive" - Disabled/NoDrive, <li> "phy_dis_phy_change" - phy_dis_phy_change, <li> "phy_dis_phy_change_burst" - phy_dis_phy_change_burst, <li> "phy_dis_phy_reset" - phy_dis_phy_reset, <li> "phy_dis_phy_reset_burst" - phy_dis_phy_reset_burst, <li> "disabled" - Phy is disabled or unused, <li> "enabled" - Phy is enabled, <li> "not_attached" - Phy is not attached, <li> "phy_ena_unknown" - phy_ena_unknown, <li> "unknown" - Unknown Phy </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-port-type

=begin html

unknown|circle|square|sil|disk|in|out|unused|aux1|aux2|hi_ho|a_to_b|b_to_a Possible values: <ul> <li> "unknown" - Port type is unknown, <li> "circle" - Circle, <li> "square" - Square, <li> "sil" - SIL, <li> "disk" - Disk, <li> "in" - In, <li> "out" - Out, <li> "unused" - Unused, <li> "aux1" - Aux 1, <li> "aux2" - Aux 2, <li> "hi_ho" - Hi-Ho, <li> "a_to_b" - A-to-B, <li> "b_to_a" - B-to-A </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-power-supply-unit-info

=begin html

Returns power supply unit information.

=end html



B<Fields>

=over 2

=item * I<psu-fw-version>  =>   B<string, optional>

=begin html

<br>Power Supply Unit Firmware Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<psu-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Power Supply Unit ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<psu-is-enabled>  =>   B<boolean, optional>

=begin html

<br>Power Supply Unit Enable/Disable Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<psu-location>  =>   B<string, optional>

=begin html

<br>Power Supply Unit Location Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<psu-op-status>  =>   B<storage-shelf-psu-op-status, optional>

=begin html

<br>Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The operational status of the power supply unit is unknown, <li> "normal" - The power supply unit is operational, <li> "error" - The power supply unit is reporting one or more faults, <li> "dc_over_voltage" - The power supply unit is reporting a DC over voltage fault condition, <li> "dc_under_voltage" - The power supply unit is reporting a DC under-voltage fault condition, <li> "dc_over_current" - The power supply unit is reporting a DC under-current fault condition, <li> "over_temperature_error" - The power supply unit is reporting over temperature fault condition, <li> "failed" - The power supply unit failed, <li> "off" - The power supply unit is off </ul>

=end html

=back



=over 2

=item * I<psu-part-number>  =>   B<string, optional>

=begin html

<br>Power Supply Unit Part Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<psu-reset-capable>  =>   B<boolean, optional>

=begin html

<br>Power Supply Unit Reset Capability Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<psu-serial-number>  =>   B<string, optional>

=begin html

<br>Power Supply Unit Serial Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<psu-type>  =>   B<string, optional>

=begin html

<br>Power Supply Unit Type Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-psu-op-status

=begin html

unknown|normal|error|dc-over-voltage|dc-under-voltage|dc-over-current|over-temperature-error|failed|off Possible values: <ul> <li> "unknown" - The operational status of the power supply unit is unknown, <li> "normal" - The power supply unit is operational, <li> "error" - The power supply unit is reporting one or more faults, <li> "dc_over_voltage" - The power supply unit is reporting a DC over voltage fault condition, <li> "dc_under_voltage" - The power supply unit is reporting a DC under-voltage fault condition, <li> "dc_over_current" - The power supply unit is reporting a DC under-current fault condition, <li> "over_temperature_error" - The power supply unit is reporting over temperature fault condition, <li> "failed" - The power supply unit failed, <li> "off" - The power supply unit is off </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-sas-port-info

=begin html

Returns SAS port information.

=end html



B<Fields>

=over 2

=item * I<sas-negotiated-port-speed>  =>   B<string, optional>

=begin html

<br>Negotiated Port Speed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sas-port-id>  =>   B<string, optional>

=begin html

<br>Port ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sas-port-op-status>  =>   B<storage-shelf-port-op-status, optional>

=begin html

<br>Port Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "error" - Error, <li> "normal" - Normal, <li> "offline" - Offline, <li> "unknown_status" - StatusUnknown, <li> "unused" - Unused, <li> "byp_bad_term" - byp-bad-term, <li> "bad_zone_recovery" - bad-zone-recovery, <li> "byp_clk_thr" - byp_clk_thr, <li> "byp_comma_los" - byp_comma_los, <li> "byp_crc_brst_thr" - byp_crc_brst_thr, <li> "byp_crc_rate_thr" - byp_crc_rate_thr, <li> "byp_data_timeout" - byp_data_timeout, <li> "byp_drv_fault" - byp_drv_fault, <li> "byp_drv_pcycle" - byp_drv_pcycle, <li> "byp_drv_pwr" - byp_drv_pwr, <li> "byp_drv_self" - byp_gen, <li> "byp_gen" - byp_gen, <li> "byp_init" - byp_init, <li> "byp_lip_brst_thr" - byp_lip_brst_thr, <li> "byp_lip_f8" - byp_lip_f8, <li> "byp_lip_rate_thr" - byp_lip_rate_thr, <li> "byp_lipf7" - byp_lipf7, <li> "byp_ltbi" - byp_ltbi, <li> "byp_man" - byp_man, <li> "byp_mir" - byp_mir, <li> "byp_no_drive" - byp_no_drive, <li> "byp_osc" - byp_osc, <li> "byp_other_thr" - byp_other_thr, <li> "byp_rec_los" - byp_rec_los, <li> "byp_rport" - byp_rport, <li> "byp_stall_thr" - byp_stall_thr, <li> "byp_wrd_brst_thr" - byp_wrd_brst_thr, <li> "byp_wrd_rate_thr" - byp_wrd_rate_thr, <li> "byp_xmit_fault" - byp_xmit_fault, <li> "diag_transmit" - diag_transmit, <li> "inserted" - inserted, <li> "loopback" - loopback, <li> "status_unknown" - status_unknown, <li> "warn_high_clk_delta" - warn_high_clk_delta, <li> "warn_high_crc_rate" - warn_high_crc_rate, <li> "warn_high_lip" - warn_high_lip, <li> "warn_high_wrd_rate" - warn_high_wrd_rate, <li> "warn_wrd_brst" - warn_wrd_brst, <li> "term" - term, <li> "phy_dis_clk_fault" - phy_dis_clk_fault, <li> "phy_dis_crc_err" - phy_dis_crc_err, <li> "phy_dis_crc_err_burst" - phy_dis_crc_err_burst, <li> "phy_dis_disparity" - phy_dis_disparity, <li> "phy_dis_disparity_burst" - phy_dis_disparity_burst, <li> "phy_dis_emulate_reserve" - phy_dis_emulate_reserve, <li> "phy_dis_inval_dword" - phy_dis_inval_dword, <li> "phy_dis_inval_dword_burst" - phy_dis_inval_dword_burst, <li> "phy_dis_loss_dword" - phy_dis_loss_dword, <li> "phy_dis_loss_dword_burst" - phy_dis_loss_dword_burst, <li> "phy_dis_man_smp" - phy_dis_man_smp, <li> "phy_dis_manual" - Disabled/Manual, <li> "disabled_mirrored" - Disabled/Mirrored, <li> "disabled_nodrive" - Disabled/NoDrive, <li> "phy_dis_phy_change" - phy_dis_phy_change, <li> "phy_dis_phy_change_burst" - phy_dis_phy_change_burst, <li> "phy_dis_phy_reset" - phy_dis_phy_reset, <li> "phy_dis_phy_reset_burst" - phy_dis_phy_reset_burst, <li> "disabled" - Phy is disabled or unused, <li> "enabled" - Phy is enabled, <li> "not_attached" - Phy is not attached, <li> "phy_ena_unknown" - phy_ena_unknown, <li> "unknown" - Unknown Phy </ul>

=end html

=back



=over 2

=item * I<sas-port-power-status>  =>   B<string, optional>

=begin html

<br>Port Power Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sas-port-speed>  =>   B<string, optional>

=begin html

<br>Port Speed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sas-port-type>  =>   B<storage-shelf-port-type, optional>

=begin html

<br>Port Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Port type is unknown, <li> "circle" - Circle, <li> "square" - Square, <li> "sil" - SIL, <li> "disk" - Disk, <li> "in" - In, <li> "out" - Out, <li> "unused" - Unused, <li> "aux1" - Aux 1, <li> "aux2" - Aux 2, <li> "hi_ho" - Hi-Ho, <li> "a_to_b" - A-to-B, <li> "b_to_a" - B-to-A </ul>

=end html

=back



=over 2

=item * I<sas-port-wwpn>  =>   B<string, optional>

=begin html

<br>Port World Wide Port Name Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-state

=begin html

unknown|no-status|init-required|online|offline|missing Possible values: <ul> <li> "unknown" - The shelf state is unknown, <li> "no_status" - The shelf state is not available, <li> "init_required" - The shelf requires initialization, <li> "online" - The shelf is online, <li> "offline" - The shelf is offline, <li> "missing" - The shelf is missing </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-temperature-op-status

=begin html

unknown|normal|under-temperature|over-temperature Possible values: <ul> <li> "unknown" - The operational status of the temperature sensor is unknown, <li> "normal" - The temperature sensor is operational, <li> "under_temperature" - The temperature sensor is reporting under-temperature fault conditions, <li> "over_temperature" - The temperature sensor is reporting over-temperature fault conditions </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-temperature-sensor-info

=begin html

Returns temperature sensor information.

=end html



B<Fields>

=over 2

=item * I<high-critical-threshold>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>High Critical Threshold Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<high-warning-threshold>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>High Warning Threshold Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<temp-is-ambient>  =>   B<boolean, optional>

=begin html

<br>Temperature Reading at Ambient Value Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<temp-low-critical-threshold>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Low Critical Threshold Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<temp-low-warning-threshold>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Low Warning Threshold Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<temp-sens-op-status>  =>   B<storage-shelf-temperature-op-status, optional>

=begin html

<br>Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The operational status of the temperature sensor is unknown, <li> "normal" - The temperature sensor is operational, <li> "under_temperature" - The temperature sensor is reporting under-temperature fault conditions, <li> "over_temperature" - The temperature sensor is reporting over-temperature fault conditions </ul>

=end html

=back



=over 2

=item * I<temp-sensor-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Sensor Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<temp-sensor-reading>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Temperature Reading Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-voltage-op-status

=begin html

unknown|normal|over-voltage-critical|under-voltage-critical Possible values: <ul> <li> "unknown" - The operational status of the voltage sensor is unknown, <li> "normal" - The voltage sensor is reporting normal voltage range, <li> "over_voltage_critical" - The voltage sensor is reporting a critical over-voltage fault condition, <li> "under_voltage_critical" - The voltage sensor is reporting a crtical under-voltage fault condition </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-shelf-voltage-sensor-info

=begin html

Returns voltage sensor information.

=end html



B<Fields>

=over 2

=item * I<voltage-op-status>  =>   B<storage-shelf-voltage-op-status, optional>

=begin html

<br>Operational Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - The operational status of the voltage sensor is unknown, <li> "normal" - The voltage sensor is reporting normal voltage range, <li> "over_voltage_critical" - The voltage sensor is reporting a critical over-voltage fault condition, <li> "under_voltage_critical" - The voltage sensor is reporting a crtical under-voltage fault condition </ul>

=end html

=back



=over 2

=item * I<voltage-sensor-id>  =>   B<unsigned64-or-dash, optional>

=begin html

<br>Voltage Sensor ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<voltage-sensor-location>  =>   B<string, optional>

=begin html

<br>Voltage Sensor Location Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<voltage-sensor-reading>  =>   B<string, optional>

=begin html

<br>Voltage Current Reading Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-shelf-firmware-file

=begin html

Show firmware files When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<filename>  =>   B<string, optional>

=begin html

<br>Storage Firmware File Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-connectivity-info

=begin html

Information about the individual connection.

=end html



B<Fields>

=over 2

=item * I<peer-info>  =>   B<string, optional>

=begin html

<br>Information describing the peer device that is connected to the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-port-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the peer port that is connected to the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-type>  =>   B<storage-switch-port-peer-type, optional>

=begin html

<br>Type of peer device that is connected to the port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "bridge" - Bridge, <li> "switch" - Switch, <li> "fcp_adapter" - FCP Adapter Port, <li> "fcvi_adapter" - FCVI Adapter Port </ul>

=end html

=back



=over 2

=item * I<peer-unique-id>  =>   B<string, optional>

=begin html

<br>Unique textual representation of the peer that is connected to the port. It is UUID of the node hosting the adapter if the peer-type is fcp-initiator or fcvi-initiator, World Wide Name otherwise. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-mode>  =>   B<storage-switch-port-mode, optional>

=begin html

<br>Operating mode of the port in the switch that has a peer port connected to it. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "auto" - Auto, <li> "f_port" - Fabric Port, <li> "fl_port" - Fabric Loop Port, <li> "e_port" - ISL Port, <li> "te_port" - Trunking ISL Port, <li> "u_port" - Universal Port, <li> "g_port" - Generic Port </ul>

=end html

=back



=over 2

=item * I<port-name>  =>   B<string, optional>

=begin html

<br>Name of the port in the switch that has a peer port connected to it. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the port in the switch that has a peer port connected to it. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-error-info

=begin html

Information about the individual error.

=end html



B<Fields>

=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Text describing the error present in the switch. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<severity>  =>   B<storage-switch-error-severity, optional>

=begin html

<br>Severity of the error occurred in the switch. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Severity Unknown, <li> "notice" - Notice, <li> "warning" - Warning, <li> "error" - Error </ul>

=end html

=back



=over 2

=item * I<switch-component-id>  =>   B<integer, optional>

=begin html

<br>Name of the switch component with error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-component-name>  =>   B<string, optional>

=begin html

<br>Switch Component Name List Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<storage-switch-error-type, optional>

=begin html

<br>Type of the error occurred in the switch. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "switch_unreachable" - Switch is Unreachable over Management Network, <li> "temp_above_warning_level" - Switch Temperature Above Warning Level, <li> "temp_above_critical_level" - Switch Temperature Above Critical Level, <li> "temp_below_warning_level" - Switch Temperature Below Warning Level, <li> "temp_below_critical_level" - Switch Temperature Below Critical Level, <li> "temp_sensor_status_failed" - Temperature Sensor is Failed, <li> "fan_status_non_operational" - Fan is Non-operational, <li> "power_supply_status_failed" - Power Supply Unit has Failed, <li> "power_above_warning_level" - Voltage Above Warning Level, <li> "power_above_critical_level" - Voltage Above Critical Level, <li> "power_below_warning_level" - Voltage Below Warning Level, <li> "power_below_critical_level" - Voltage Below Critical Level, <li> "sfp_rx_power_above_warning_level" - SFP Receive Power Above Warning Level, <li> "sfp_rx_power_above_critical_level" - SFP Receive Power Above Critical Level, <li> "sfp_tx_power_above_warning_level" - SFP Transmit Power Above Warning Level, <li> "sfp_tx_power_above_critical_level" - SFP Transmit Power Above Critical Level, <li> "sfp_rx_power_below_warning_level" - SFP Receive Power Above Warning Level, <li> "sfp_rx_power_below_critical_level" - SFP Receive Power Above Critical Level, <li> "sfp_tx_power_below_warning_level" - SFP Transmit Power Above Warning Level, <li> "sfp_tx_power_below_critical_level" - SFP Transmit Power Above Critical Level, <li> "sfp_status_failed" - SFP has Failed, <li> "vsan_invalid_frame_delivery_configuration" - VSAN is Configured with Incorrect IOD/OOD settings, <li> "temp_sensor_status_unavailable" - Temperature Sensor Status is Unavailable, <li> "fan_status_unavailable" - Fan Status is Unavailable, <li> "power_supply_inline_power_failed" - Power Supply's Inline Power has Failed, <li> "power_supply_status_unavailable" - Power Supply Status is Unavailable, <li> "unknown" - Unknown, <li> "power_supply_off_env_other" - Power Supply is off because of unknown problem, <li> "power_supply_off_admin" - Power Supply is administratively off, <li> "power_supply_off_denied" - Power Supply is powered off because available system power is insufficient, <li> "power_supply_off_env_power" - Power Supply is powered off because of power problem in the FRU, <li> "power_supply_off_env_temp" - Power Supply is powered off because of temperature problem, <li> "power_supply_off_env_fan" - Power Supply is powered off because of fan problems, <li> "power_supply_on_but_fan_fail" - Power Supply is on but fan has failed, <li> "power_supply_off_cooling" - Power Supply is powered off because of the system's insufficient cooling capacity, <li> "power_supply_off_connector_rating" - Power Supply is powered off because of the system's connector rating exceeded, <li> "e_ports_down" - All E-ports are down for this blade/switch </ul>

=end html

=back



=head2 storage-switch-error-severity

=begin html

unknown|notice|warning|error Possible values: <ul> <li> "unknown" - Severity Unknown, <li> "notice" - Notice, <li> "warning" - Warning, <li> "error" - Error </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-error-type

=begin html

switch-unreachable|temp-above-warning-level|temp-above-critical-level|temp-below-warning-level|temp-below-critical-level|temp-sensor-status-failed|fan-status-non-operational|power-supply-status-failed|power-above-warning-level|power-above-critical-level|power-below-warning-level|power-below-critical-level|sfp-rx-power-above-warning-level|sfp-rx-power-above-critical-level|sfp-tx-power-above-warning-level|sfp-tx-power-above-critical-level|sfp-rx-power-below-warning-level|sfp-rx-power-below-critical-level|sfp-tx-power-below-warning-level|sfp-tx-power-below-critical-level|sfp-status-failed|vsan-invalid-frame-delivery-configuration|temp-sensor-status-unavailable|fan-status-unavailable|power-supply-inline-power-failed|power-supply-status-unavailable|unknown|power-supply-off-env-other|power-supply-off-admin|power-supply-off-denied|power-supply-off-env-power|power-supply-off-env-temp|power-supply-off-env-fan|power-supply-on-but-fan-fail|power-supply-off-cooling|power-supply2 :tor- ating Possible values: <ul> <li> "switch_unreachable" - Switch is Unreachable over Management Network, <li> "temp_above_warning_level" - Switch Temperature Above Warning Level, <li> "temp_above_critical_level" - Switch Temperature Above Critical Level, <li> "temp_below_warning_level" - Switch Temperature Below Warning Level, <li> "temp_below_critical_level" - Switch Temperature Below Critical Level, <li> "temp_sensor_status_failed" - Temperature Sensor is Failed, <li> "fan_status_non_operational" - Fan is Non-operational, <li> "power_supply_status_failed" - Power Supply Unit has Failed, <li> "power_above_warning_level" - Voltage Above Warning Level, <li> "power_above_critical_level" - Voltage Above Critical Level, <li> "power_below_warning_level" - Voltage Below Warning Level, <li> "power_below_critical_level" - Voltage Below Critical Level, <li> "sfp_rx_power_above_warning_level" - SFP Receive Power Above Warning Level, <li> "sfp_rx_power_above_critical_level" - SFP Receive Power Above Critical Level, <li> "sfp_tx_power_above_warning_level" - SFP Transmit Power Above Warning Level, <li> "sfp_tx_power_above_critical_level" - SFP Transmit Power Above Critical Level, <li> "sfp_rx_power_below_warning_level" - SFP Receive Power Above Warning Level, <li> "sfp_rx_power_below_critical_level" - SFP Receive Power Above Critical Level, <li> "sfp_tx_power_below_warning_level" - SFP Transmit Power Above Warning Level, <li> "sfp_tx_power_below_critical_level" - SFP Transmit Power Above Critical Level, <li> "sfp_status_failed" - SFP has Failed, <li> "vsan_invalid_frame_delivery_configuration" - VSAN is Configured with Incorrect IOD/OOD settings, <li> "temp_sensor_status_unavailable" - Temperature Sensor Status is Unavailable, <li> "fan_status_unavailable" - Fan Status is Unavailable, <li> "power_supply_inline_power_failed" - Power Supply's Inline Power has Failed, <li> "power_supply_status_unavailable" - Power Supply Status is Unavailable, <li> "unknown" - Unknown, <li> "power_supply_off_env_other" - Power Supply is off because of unknown problem, <li> "power_supply_off_admin" - Power Supply is administratively off, <li> "power_supply_off_denied" - Power Supply is powered off because available system power is insufficient, <li> "power_supply_off_env_power" - Power Supply is powered off because of power problem in the FRU, <li> "power_supply_off_env_temp" - Power Supply is powered off because of temperature problem, <li> "power_supply_off_env_fan" - Power Supply is powered off because of fan problems, <li> "power_supply_on_but_fan_fail" - Power Supply is on but fan has failed, <li> "power_supply_off_cooling" - Power Supply is powered off because of the system's insufficient cooling capacity, <li> "power_supply_off_connector_rating" - Power Supply is powered off because of the system's connector rating exceeded, <li> "e_ports_down" - All E-ports are down for this blade/switch </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-fan-info

=begin html

Information about individual fan.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the fan. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operational-status>  =>   B<storage-switch-fan-oper-status, optional>

=begin html

<br>Operational status of the fan. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "operational" , <li> "failed" , <li> "not_operational" , <li> "not_present" </ul>

=end html

=back



=over 2

=item * I<speed>  =>   B<integer, optional>

=begin html

<br>Speed of the fan in RPM. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-fan-oper-status

=begin html

unknown|operational|failed|not-operational|not-present Possible values: <ul> <li> "unknown" , <li> "operational" , <li> "failed" , <li> "not_operational" , <li> "not_present" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-info

=begin html

Storage Switch When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<blades>  =>   B<integer[], optional>

=begin html

<br>Blades to monitor on the switch. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<domain-id>  =>   B<integer, optional>

=begin html

<br>Domain ID of the switch. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fabric-name>  =>   B<string, optional>

=begin html

<br>Name of the fabric containing this switch. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<firmware-version>  =>   B<string, optional>

=begin html

<br>Firmware Version of the switch. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ip-address>  =>   B<ip-address, optional>

=begin html

<br>IP Address of the switch. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-director-class>  =>   B<boolean, optional>

=begin html

<br>Is switch Director class SAN switch? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-local-attach>  =>   B<boolean, optional>

=begin html

<br>The switch is directly attached to the reporting cluster Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-monitoring-enabled>  =>   B<boolean, optional>

=begin html

<br>Is monitoring enabled for the switch? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<model>  =>   B<string, optional>

=begin html

<br>Model of the switch. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the switch. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<role>  =>   B<storage-switch-role, optional>

=begin html

<br>Role of switch in the fabric. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Switch Role Unknown, <li> "primary" - Switch has Primary Role, <li> "subordinate" - Switch has Subordinate Role </ul>

=end html

=back



=over 2

=item * I<status>  =>   B<storage-device-status, optional>

=begin html

<br>Status of the switch. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Device Status Unknown, <li> "ok" - Device Status Ok, <li> "error" - Device Status Erroneous </ul>

=end html

=back



=over 2

=item * I<storage-switch-connectivity-list>  =>   B<L<"storage-switch-connectivity-info">[], optional>

=begin html

<br>Information about the individual connection.

=end html

=back



=over 2

=item * I<storage-switch-error-list>  =>   B<L<"storage-switch-error-info">[], optional>

=begin html

<br>Information about the individual error.

=end html

=back



=over 2

=item * I<storage-switch-fan-list>  =>   B<L<"storage-switch-fan-info">[], optional>

=begin html

<br>Information about individual fan.

=end html

=back



=over 2

=item * I<storage-switch-path-list>  =>   B<L<"storage-switch-path-info">[], optional>

=begin html

<br>Information about the individual path.

=end html

=back



=over 2

=item * I<storage-switch-port-list>  =>   B<L<"storage-switch-port-info">[], optional>

=begin html

<br>Information about the individual port.

=end html

=back



=over 2

=item * I<storage-switch-port-statistics-list>  =>   B<L<"storage-switch-port-statistics-info">[], optional>

=begin html

<br>Information about the port statistics.

=end html

=back



=over 2

=item * I<storage-switch-power-supply-unit-list>  =>   B<L<"storage-switch-power-supply-unit-info">[], optional>

=begin html

<br>Information about individual power supply unit.

=end html

=back



=over 2

=item * I<storage-switch-sfp-list>  =>   B<L<"storage-switch-sfp-info">[], optional>

=begin html

<br>Information about the individual port sfp.

=end html

=back



=over 2

=item * I<storage-switch-temperature-sensor-list>  =>   B<L<"temperature-sensor-info">[], optional>

=begin html

<br>Information about the individual temperature sensor.

=end html

=back



=over 2

=item * I<storage-switch-vsan-list>  =>   B<L<"storage-switch-vsan-info">[], optional>

=begin html

<br>Information about the individual vsan.

=end html

=back



=over 2

=item * I<storage-switch-zone-list>  =>   B<L<"storage-switch-zone-info">[], optional>

=begin html

<br>Information about the individual zones.

=end html

=back



=over 2

=item * I<symbolic-name>  =>   B<string, optional>

=begin html

<br>If set, symbolic name of the switch, 'Not Set' otherwise. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vendor>  =>   B<storage-switch-vendor, optional>

=begin html

<br>Vendor of the switch. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "brocade" , <li> "cisco" </ul>

=end html

=back



=over 2

=item * I<wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the switch. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-initiator-type

=begin html

unknown|FCP-Initiator|FC-VI|FCP-Target Possible values: <ul> <li> "unknown" , <li> "fcp_initiator" , <li> "fc_vi" , <li> "fcp_target" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-path-info

=begin html

Information about the individual path.

=end html



B<Fields>

=over 2

=item * I<adapter-name>  =>   B<string, optional>

=begin html

<br>Name of the adapter in the node that to which the switch is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<adapter-type>  =>   B<storage-switch-initiator-type, optional>

=begin html

<br>Node Adapter Type List Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "fcp_initiator" , <li> "fc_vi" , <li> "fcp_target" </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<filer-id, optional>

=begin html

<br>Name of the node to which the switch is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-port-name>  =>   B<string, optional>

=begin html

<br>Name of the port in the switch to which the adapter in the node is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<switch-port-speed>  =>   B<integer, optional>

=begin html

<br>Speed (in Gbps) of the port in the switch to which the adapter in the node is connected. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-port-admin-status

=begin html

unknown|enabled|disabled Possible values: <ul> <li> "unknown" , <li> "enabled" , <li> "disabled" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-port-info

=begin html

Information about the individual port.

=end html



B<Fields>

=over 2

=item * I<administrative-status>  =>   B<storage-switch-port-admin-status, optional>

=begin html

<br>Administrative status of the port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "enabled" , <li> "disabled" </ul>

=end html

=back



=over 2

=item * I<bb-credit>  =>   B<integer, optional>

=begin html

<br>BB credit of the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sfp-present>  =>   B<boolean, optional>

=begin html

<br>Is SFP present in the port? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mode>  =>   B<storage-switch-port-mode, optional>

=begin html

<br>Operating mode of the port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown, <li> "auto" - Auto, <li> "f_port" - Fabric Port, <li> "fl_port" - Fabric Loop Port, <li> "e_port" - ISL Port, <li> "te_port" - Trunking ISL Port, <li> "u_port" - Universal Port, <li> "g_port" - Generic Port </ul>

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operational-speed>  =>   B<integer, optional>

=begin html

<br>Operational speed of the port in Gbps. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operational-status>  =>   B<storage-switch-port-oper-status, optional>

=begin html

<br>Operational status of the port. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html

=back



=over 2

=item * I<peer-port-wwn>  =>   B<string, optional>

=begin html

<br>Port's Peer port world wide name. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwn>  =>   B<string, optional>

=begin html

<br>World Wide Name of the port. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-port-mode

=begin html

unknown|auto|F-port|FL-port|E-port|TE-port|U-port|G-port Possible values: <ul> <li> "unknown" - Unknown, <li> "auto" - Auto, <li> "f_port" - Fabric Port, <li> "fl_port" - Fabric Loop Port, <li> "e_port" - ISL Port, <li> "te_port" - Trunking ISL Port, <li> "u_port" - Universal Port, <li> "g_port" - Generic Port </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-port-oper-status

=begin html

unknown|online|offline Possible values: <ul> <li> "unknown" , <li> "online" , <li> "offline" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-port-peer-type

=begin html

unknown|bridge|switch|fcp-adapter|fcvi-adapter Possible values: <ul> <li> "unknown" - Unknown, <li> "bridge" - Bridge, <li> "switch" - Switch, <li> "fcp_adapter" - FCP Adapter Port, <li> "fcvi_adapter" - FCVI Adapter Port </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-port-statistics-info

=begin html

Information about the port statistics.

=end html



B<Fields>

=over 2

=item * I<frame-error-count>  =>   B<integer, optional>

=begin html

<br>Frame error count for the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rx-frames-count>  =>   B<integer, optional>

=begin html

<br>Number of frames received by the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rx-octets-count>  =>   B<integer, optional>

=begin html

<br>Number of octets received by the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tx-frames-count>  =>   B<integer, optional>

=begin html

<br>Number of frames transmitted by the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tx-octets-count>  =>   B<integer, optional>

=begin html

<br>Number of octets transmitted by the port. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-power-sensor-status

=begin html

unknown|normal|warning|faulty|not-present Possible values: <ul> <li> "unknown" - Power Status Unknown, <li> "normal" - Power Status Normal, <li> "warning" - Power Status Warning, <li> "faulty" - Power Sensor is faulty, <li> "not_present" - Power Sensor is not present </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-power-supply-unit-info

=begin html

Information about individual power supply unit.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of power supply unit. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operational-status>  =>   B<storage-switch-power-sensor-status, optional>

=begin html

<br>Operational status of power supply unit. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Power Status Unknown, <li> "normal" - Power Status Normal, <li> "warning" - Power Status Warning, <li> "faulty" - Power Sensor is faulty, <li> "not_present" - Power Sensor is not present </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of power supply unit. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-role

=begin html

unknown|primary|subordinate Possible values: <ul> <li> "unknown" - Switch Role Unknown, <li> "primary" - Switch has Primary Role, <li> "subordinate" - Switch has Subordinate Role </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-sfp-info

=begin html

Information about the individual port sfp.

=end html



B<Fields>

=over 2

=item * I<part-number>  =>   B<string, optional>

=begin html

<br>Part number of SFP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<port-name>  =>   B<string, optional>

=begin html

<br>Name of the port. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial number of SFP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transmitter-type>  =>   B<storage-switch-sfp-tx-type, optional>

=begin html

<br>Transmitter type of SFP. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown transmitter type., <li> "long_wave_laser" - Long wave laser., <li> "short_wave_laser" - Short wave laser., <li> "long_wave_laser_cost_reduced" - Cost reduced long wave laser., <li> "electrical" - Electrical., <li> "ten_gig_base_sr" - 10 gigabit base short range transceiver., <li> "ten_gig_base_lr" - 10 gigabit base long range transceiver., <li> "ten_gig_base_er" - 10 gigabit base extended range transceiver., <li> "ten_gig_base_lx4" - 10 gigabit base long range transceiver for extended operating temperature., <li> "ten_gig_base_sw" - 10 gigabit base short wave transceiver., <li> "ten_gig_base_lw" - 10 gigabit base long wave transceiver., <li> "ten_gig_base_ew" - 10 gigabit base extended wave transceiver. </ul>

=end html

=back



=over 2

=item * I<type>  =>   B<storage-switch-sfp-type, optional>

=begin html

<br>Type of SFP. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Unknown type., <li> "other" - Other than the types listed here., <li> "gbic" - Gigabit interface card., <li> "embedded" - Unremovable gigabit interface card., <li> "glm" - Gigabit link module., <li> "gbic_with_serial_id" - Gigabit interface card with serial ID., <li> "gbic_without_serial_id" - Gigabit interface card without serial ID., <li> "sfp_with_serial_id" - Small form factor pluggable with serial ID., <li> "sfp_without_serial_id" - Small form factor pluggable without serial ID., <li> "xfp" - 10 gigabit small form factor pluggable transceiver., <li> "x2_short" - X2 short., <li> "x2_medium" - X2 medium., <li> "x2_tall" - X2 tall., <li> "xpak_short" - Xpak short., <li> "xpak_medium" - Xpak medium., <li> "xpak_tall" - Xpak tall., <li> "xenpak" - Xenpak, <li> "sfp_dw_dm" - Small form factor pluggable dense wavelength division multiplexing., <li> "qsfp" - Quad small form factor pluggable., <li> "x2_dw_dm" - X2 dense wavelength division multiplexing., <li> "gbic_not_installed" - Gigabit interface card is not installed., <li> "small_form_factor" - Small form factor. </ul>

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Vendor of SFP. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-switch-sfp-tx-type

=begin html

unknown|long-wave-laser|short-wave-laser|long-wave-laser-cost-reduced|electrical|ten-gig-base-sr|ten-gig-base-lr|ten-gig-base-er|ten-gig-base-lx4|ten-gig-base-sw|ten-gig-base-lw|ten-gig-base-ew Possible values: <ul> <li> "unknown" - Unknown transmitter type., <li> "long_wave_laser" - Long wave laser., <li> "short_wave_laser" - Short wave laser., <li> "long_wave_laser_cost_reduced" - Cost reduced long wave laser., <li> "electrical" - Electrical., <li> "ten_gig_base_sr" - 10 gigabit base short range transceiver., <li> "ten_gig_base_lr" - 10 gigabit base long range transceiver., <li> "ten_gig_base_er" - 10 gigabit base extended range transceiver., <li> "ten_gig_base_lx4" - 10 gigabit base long range transceiver for extended operating temperature., <li> "ten_gig_base_sw" - 10 gigabit base short wave transceiver., <li> "ten_gig_base_lw" - 10 gigabit base long wave transceiver., <li> "ten_gig_base_ew" - 10 gigabit base extended wave transceiver. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-sfp-type

=begin html

unknown|other|gbic|embedded|glm|gbic-with-serial-id|gbic-without-serial-id|sfp-with-serial-id|sfp-without-serial-id|xfp|x2-short|x2-medium|x2-tall|xpak-short|xpak-medium|xpak-tall|xenpak|sfp-dw-dm|qsfp|x2-dw-dm|gbic-not-installed|small-form-factor Possible values: <ul> <li> "unknown" - Unknown type., <li> "other" - Other than the types listed here., <li> "gbic" - Gigabit interface card., <li> "embedded" - Unremovable gigabit interface card., <li> "glm" - Gigabit link module., <li> "gbic_with_serial_id" - Gigabit interface card with serial ID., <li> "gbic_without_serial_id" - Gigabit interface card without serial ID., <li> "sfp_with_serial_id" - Small form factor pluggable with serial ID., <li> "sfp_without_serial_id" - Small form factor pluggable without serial ID., <li> "xfp" - 10 gigabit small form factor pluggable transceiver., <li> "x2_short" - X2 short., <li> "x2_medium" - X2 medium., <li> "x2_tall" - X2 tall., <li> "xpak_short" - Xpak short., <li> "xpak_medium" - Xpak medium., <li> "xpak_tall" - Xpak tall., <li> "xenpak" - Xenpak, <li> "sfp_dw_dm" - Small form factor pluggable dense wavelength division multiplexing., <li> "qsfp" - Quad small form factor pluggable., <li> "x2_dw_dm" - X2 dense wavelength division multiplexing., <li> "gbic_not_installed" - Gigabit interface card is not installed., <li> "small_form_factor" - Small form factor. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-temp-sensor-status

=begin html

unknown|normal|warning|critical Possible values: <ul> <li> "unknown" , <li> "normal" , <li> "warning" , <li> "critical" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-vendor

=begin html

unknown|Brocade|Cisco Possible values: <ul> <li> "unknown" , <li> "brocade" , <li> "cisco" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-vsan-info

=begin html

Information about the individual vsan.

=end html



B<Fields>

=over 2

=item * I<index>  =>   B<integer, optional>

=begin html

<br>Index of the VSAN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-iod-set>  =>   B<boolean, optional>

=begin html

<br>Is in order delivery set for the VSAN? Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<load-balancing-type>  =>   B<storage-switch-vsan-load-balancing-type, optional>

=begin html

<br>Load balancing type set in the VSAN. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "src_id_dest_id" - Based on source ID and destination ID., <li> "src_id_dest_id_ox_id" - Based on source ID, destination ID and originator exchange ID. </ul>

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the VSAN. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operational-status>  =>   B<storage-switch-vsan-oper-state, optional>

=begin html

<br>Operational status of the VSAN. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "up" , <li> "down" </ul>

=end html

=back



=head2 storage-switch-vsan-load-balancing-type

=begin html

src-id-dest-id|src-id-dest-id-ox-id Possible values: <ul> <li> "src_id_dest_id" - Based on source ID and destination ID., <li> "src_id_dest_id_ox_id" - Based on source ID, destination ID and originator exchange ID. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-vsan-oper-state

=begin html

up|down Possible values: <ul> <li> "up" , <li> "down" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-switch-zone-info

=begin html

Information about the individual zones.

=end html



B<Fields>

=over 2

=item * I<member-port-id>  =>   B<string, optional>

=begin html

<br>ID of the member port participating in the zone. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<member-port-name>  =>   B<string, optional>

=begin html

<br>Name of the port participating in the zone. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<member-port-switch-name>  =>   B<string, optional>

=begin html

<br>Name of the switch that contains the port participating in the zone. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<member-wwn>  =>   B<string, optional>

=begin html

<br>World wide name of the member participating in the zone. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the zone. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vsan-id>  =>   B<integer, optional>

=begin html

<br>Identifier of the VSAN to which the zone belongs. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 temperature-sensor-info

=begin html

Information about the individual temperature sensor.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the temperature sensor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<storage-switch-temp-sensor-status, optional>

=begin html

<br>Operational status of the temperature sensor. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "normal" , <li> "warning" , <li> "critical" </ul>

=end html

=back



=over 2

=item * I<temperature-reading>  =>   B<integer, optional>

=begin html

<br>Temperature Sensor reading in degree celsius. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 filer-id

=begin html

Filer UUID

=end html



B<Fields>

=over 2

=item * None

=back



=head2 api-list-info

=begin html

name of the API

=end html



B<Fields>

=over 2

=item * None

=back



=head2 bios-fw-type

=begin html

Choices for the two BIOS firmware images available for booting the system Possible values: <ul> <li> "primary" - BIOS Firmware which the system boots from by default, <li> "backup" - BIOS Firmware which the system boots from if primary fails, <li> "current" - BIOS Firmware which the system is currently booted from </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 external-cache-info

=begin html

External Cache Settings typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<external-cache-class>  =>   B<qos-class, optional>

=begin html

<br>External Cache Policy Class Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "undefined" - undefined, <li> "preset" - Preset, <li> "user_defined" - User Defined, <li> "system_defined" - System Defined, <li> "autovolume" - Autovolume </ul>

=end html

=back



=over 2

=item * I<external-cache-policy-name>  =>   B<string, optional>

=begin html

<br>Name of the QoS External Cache policy Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<is-default>  =>   B<boolean, optional>

=begin html

<br>Identifies the default External Cache policy. If this field is true then QoS workloads with the special value 'default' in the external-cache field will use this cache policy. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>Is Enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-hya-enabled>  =>   B<boolean, optional>

=begin html

<br>Is hya caching enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-lopri-data>  =>   B<boolean, optional>

=begin html

<br>Cache Lopri Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-meta-data>  =>   B<boolean, optional>

=begin html

<br>Cache Metadata Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-normal-data>  =>   B<boolean, optional>

=begin html

<br>Cache Normal Data Blocks Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-randomwrite-data>  =>   B<boolean, optional>

=begin html

<br>Cache Random Write Blocks Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-readahead-data>  =>   B<boolean, optional>

=begin html

<br>Cache Readahead Blocks Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-rewarm-enabled>  =>   B<boolean, optional>

=begin html

<br>Is rewarm on Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<pcs-size>  =>   B<integer, optional>

=begin html

<br>PCS size Attributes: non-creatable, modifiable

=end html

=back



=head2 externaldevice

=begin html

usb0 Possible values: <ul> <li> "usb0" - Usb0 </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 net-port

=begin html

Network Port formatted as 1-byte 'type', 4-byte 'slot', 1-byte 'suffix', and 4-byte 'vlan'.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 node-details-info

=begin html

Contains information about a specific node When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cpu-busytime>  =>   B<integer, optional>

=begin html

<br>The time (in hundredths of a second) that the CPU has been doing useful work since the last boot. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cpu-firmware-release>  =>   B<string, optional>

=begin html

<br>Firmware release number. Defined by the CPU manufacturer. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<env-failed-fan-count>  =>   B<integer, optional>

=begin html

<br>Count of the number of chassis fans which are not operating within the recommended RPM range. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<env-failed-fan-message>  =>   B<string, optional>

=begin html

<br>Text message describing the current condition of chassis fans. This is useful only if env-failed-fan-count is not zero. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<env-failed-power-supply-count>  =>   B<integer, optional>

=begin html

<br>Number of failed power supply units. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<env-failed-power-supply-message>  =>   B<string, optional>

=begin html

<br>Text message describing the state of any power supplies which are currently degraded. This is useful only if env-failed-power-supply-count is not zero. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<env-over-temperature>  =>   B<boolean, optional>

=begin html

<br>An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-all-flash-optimized>  =>   B<boolean, optional>

=begin html

<br>Is this node configured to only support SSD drives. If true, no HDDs are allowed on this node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-diff-svcs>  =>   B<boolean, optional>

=begin html

<br>Is this node part of differentiated services storage infrastructure. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-epsilon-node>  =>   B<boolean, optional>

=begin html

<br>You can designate a node as epsilon to add weight to its voting in a cluster with an even number of nodes. In a cluster, only one node can be designated as epsilon at any given time. A boolean value of true means the node is epsilon. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-node-cluster-eligible>  =>   B<boolean, optional>

=begin html

<br>This parameter states nodes that are eligible to participate in the cluster. A boolean value of true means the node is eligible. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-node-healthy>  =>   B<boolean, optional>

=begin html

<br>This parameter is used to determine health of a node in a cluster. A boolean value of true means the node is healthy. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<maximum-aggregate-size>  =>   B<size, optional>

=begin html

<br>The maximum supported aggregate size in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<maximum-number-of-volumes>  =>   B<integer, optional>

=begin html

<br>The maximum number of flexible volumes supported on this node. This does not include the number of volumes which can be supported when this node does a takeover of its partner node in a High Availability configuration. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<maximum-volume-size>  =>   B<size, optional>

=begin html

<br>The maximum supported volume size in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The textual name of a node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-asset-tag>  =>   B<string, optional>

=begin html

<br>The asset tag of the node. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-location>  =>   B<string, optional>

=begin html

<br>The physical location of the node. For example, Sunnyvale. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-model>  =>   B<string, optional>

=begin html

<br>The model of the node. For example, FAS3070. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-nvram-id>  =>   B<integer, optional>

=begin html

<br>Vendor specific NVRAM ID of the node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-owner>  =>   B<string, optional>

=begin html

<br>The owner of the node. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<node-serial-number>  =>   B<string, optional>

=begin html

<br>The serial number of the node. This is defined by the vendor. Currently, a string of numbers. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-storage-configuration>  =>   B<storage-configuration-state-enum, optional>

=begin html

<br>The storage configuration in the system. The possible values are: <ul> <li> 'mixed_path' <li> 'single_path' <li> 'multi_path' <li> 'quad_path' <li> 'single_path_ha' <li> 'multi_path_ha' <li> 'mixed_path_ha' <li> 'quad_path_ha' <li> 'unknown' </ul> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" , <li> "single_path" , <li> "multi_path" , <li> "mixed_path" , <li> "single_path_ha" , <li> "multi_path_ha" , <li> "mixed_path_ha" , <li> "quad_path" , <li> "quad_path_ha" </ul>

=end html

=back



=over 2

=item * I<node-system-id>  =>   B<string, optional>

=begin html

<br>The system Id of the node. This is defined by the vendor. Generally, it is a string of numbers. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-uptime>  =>   B<integer, optional>

=begin html

<br>Total time, in seconds, that the node has been up. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<string, optional>

=begin html

<br>The universally unique identifier for the node. It is a 36-character string composed of 32 hexadecimal characters. For example, '542366ea-a024-11dd-9caa-7302e474c5ae'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-vendor>  =>   B<string, optional>

=begin html

<br>The hardware vendor of the node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nvram-battery-status>  =>   B<nvram-battery-status-enum, optional>

=begin html

<br>Status of the NVRAM battery. The possible values that could be returned: <ul> <li> 'battery_ok' <li> 'battery_partially_discharged' <li> 'battery_fully_discharged ' <li> 'battery_not_present' <li> 'battery_near_end_of_life' <li> 'battery_at_end_of_life' <li> 'battery_unknown' <li> 'battery_over_charged' <li> 'battery_fully_charged' </ul> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "battery_ok" , <li> "battery_partially_discharged" , <li> "battery_fully_discharged" , <li> "battery_not_present" , <li> "battery_near_end_of_life" , <li> "battery_at_end_of_life" , <li> "battery_unknown" , <li> "battery_over_charged" , <li> "battery_fully_charged" </ul>

=end html

=back



=over 2

=item * I<product-version>  =>   B<string, optional>

=begin html

<br>Product Version Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vm-system-disks>  =>   B<L<"vm-system-disks">, optional>

=begin html

<br>Contains virtual machine system disk backing info

=end html

=back



=over 2

=item * I<vmhost-info>  =>   B<L<"vmhost-info">, optional>

=begin html

<br>Contains virtual machine host information

=end html

=back



=head2 node-name

=begin html

Name of the node.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 node-ontapi-detail-info

=begin html

The node names along with the ONTAPI version on the respective node.

=end html



B<Fields>

=over 2

=item * I<major-version>  =>   B<integer>

=begin html

<br>Current ONTAPI major version supported by this node. Range: [0..2^31-1].

=end html

=back



=over 2

=item * I<minor-version>  =>   B<integer>

=begin html

<br>Current ONTAPI minor version supported by this node. Range: [0..2^31-1].

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Name of the node.

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<string>

=begin html

<br>UUID, Universal Unique IDentifier, of the node.

=end html

=back



=head2 node-version-detail-info

=begin html

The node names along with the ONTAP version on the respective node.

=end html



B<Fields>

=over 2

=item * I<build-timestamp>  =>   B<integer, optional>

=begin html

<br>Time of build creation, in seconds since January 1, 1970, of the image running on the node. This field is available in Data ONTAP 8.1 or later.

=end html

=back



=over 2

=item * I<node-name>  =>   B<string>

=begin html

<br>Name of the node.

=end html

=back



=over 2

=item * I<node-uuid>  =>   B<string>

=begin html

<br>UUID, Universal Unique IDentifier, of the node.

=end html

=back



=over 2

=item * I<version>  =>   B<string>

=begin html

<br>Data ONTAP version running on the node.

=end html

=back



=head2 nvram-battery-status-enum

=begin html

ok|partially discharged|fully discharged|not present|near eol|eol|unknown|over charged|fully charged Possible values: <ul> <li> "battery_ok" , <li> "battery_partially_discharged" , <li> "battery_fully_discharged" , <li> "battery_not_present" , <li> "battery_near_end_of_life" , <li> "battery_at_end_of_life" , <li> "battery_unknown" , <li> "battery_over_charged" , <li> "battery_fully_charged" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 operation-info

=begin html

Operation details. Contains the operation name, command path and API name.

=end html



B<Fields>

=over 2

=item * I<api-name>  =>   B<string, optional>

=begin html

<br>API corresponding to operation, for e.g., if object name is 'volume' and operation name is 'create' then operation's api name would be 'volume-create'. If multiple APIs are associated with same operation then API names will be ',' separated. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<command-path>  =>   B<string, optional>

=begin html

<br>Operation Command Directory Path Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the operation, for e.g., 'create', 'modify' etc.. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 oss-host-type

=begin html

ESX|KVM Possible values: <ul> <li> "esx" , <li> "kvm" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 oss-restart

=begin html

statd|mond|both Possible values: <ul> <li> "statd" , <li> "mond" , <li> "both" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 oss-support-level

=begin html

standard|premium|multi-node Possible values: <ul> <li> "standard" , <li> "premium" , <li> "multi_node" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 power-status

=begin html

Possible values for power status of any node Possible values: <ul> <li> "on" - Node is powered on, <li> "off" - Node is powered off </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 status-hypervisor-info

=begin html

Information that defines the hypervisor support level When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<host-type>  =>   B<oss-host-type, optional>

=begin html

<br>Hypervisor platform type Attributes: non-creatable, modifiable Possible values: <ul> <li> "esx" , <li> "kvm" </ul>

=end html

=back



=over 2

=item * I<support-level>  =>   B<oss-support-level, optional>

=begin html

<br>Hypervisor support level Attributes: non-creatable, modifiable Possible values: <ul> <li> "standard" , <li> "premium" , <li> "multi_node" </ul>

=end html

=back



=head2 status-info

=begin html

Information about Data ONTAP status When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster-id>  =>   B<string, optional>

=begin html

<br>Cluster ID. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<internal-name>  =>   B<string, optional>

=begin html

<br>Internal name of the status object. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-cluster-scope>  =>   B<boolean, optional>

=begin html

<br>Cluster scope. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the status object. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Status of the status object. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<update-time>  =>   B<datetime, optional>

=begin html

<br>Last status update time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-id>  =>   B<string, optional>

=begin html

<br>Vserver ID. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 storage-configuration-state-enum

=begin html

Unknown|Single-Path|Multi-Path|Mixed-Path|Single-Path HA|Multi-Path HA|Mixed-Path HA|Quad-Path|Quad-Path HA Possible values: <ul> <li> "unknown" , <li> "single_path" , <li> "multi_path" , <li> "mixed_path" , <li> "single_path_ha" , <li> "multi_path_ha" , <li> "mixed_path_ha" , <li> "quad_path" , <li> "quad_path_ha" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 system-api-element-info

=begin html

api element description. This can be a simple type or a reference to another typedef (as defined in the 'type' element. Arrays are signified by having '[]' appended to the type name.

=end html



B<Fields>

=over 2

=item * I<encrypted>  =>   B<string, optional>

=begin html

<br>encryption type. If missing the parameter isn't encrypted

=end html

=back



=over 2

=item * I<is-nonempty>  =>   B<boolean, optional>

=begin html

<br>must element be non-empty. If false or missing element value may be empty.

=end html

=back



=over 2

=item * I<is-optional>  =>   B<boolean, optional>

=begin html

<br>is element optional. If false or missing element is required.

=end html

=back



=over 2

=item * I<is-output>  =>   B<boolean, optional>

=begin html

<br>is element an output element. If false or missing then is an input element

=end html

=back



=over 2

=item * I<is-validated>  =>   B<boolean, optional>

=begin html

<br>argument will have strong validation done by the server (e.g. integer range). If false or empty, no validation will be done.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>name of element

=end html

=back



=over 2

=item * I<type>  =>   B<string>

=begin html

<br>type of variable possible values: "string", "integer", "boolean", type-name

=end html

=back



=head2 system-api-entry-info

=begin html

list of api names and their elements

=end html



B<Fields>

=over 2

=item * I<api-elements>  =>   B<L<"system-api-element-info">[]>

=begin html

<br>list of api elements

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>api name

=end html

=back



=head2 system-api-info

=begin html

api information

=end html



B<Fields>

=over 2

=item * I<is-streaming>  =>   B<boolean, optional>

=begin html

<br>does api stream data?

=end html

=back



=over 2

=item * I<license>  =>   B<string, optional>

=begin html

<br>license needed if any

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>name of api

=end html

=back



=head2 system-api-type-entry-info

=begin html

list of type names and their elements

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>type name

=end html

=back



=over 2

=item * I<type-elements>  =>   B<L<"system-api-element-info">[]>

=begin html

<br>list of type elements

=end html

=back



=head2 system-hypervisor-host-config-info

=begin html

Hypervisor Host Config Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<address-ipv4>  =>   B<ip-address, optional>

=begin html

<br>Address Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id, optional>

=begin html

<br>Node Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port-ipv4>  =>   B<integer, optional>

=begin html

<br>UDP Port Attributes: optional-for-create, modifiable

=end html

=back



=head2 system-hypervisor-snmpv3-config-info

=begin html

Hypervisor SNMP V3 Config Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<auth-password>  =>   B<string, optional>

=begin html

<br>Authentication Password Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<auth-protocol>  =>   B<string, optional>

=begin html

<br>Authentication Protocol Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<engine-id>  =>   B<string, optional>

=begin html

<br>Engine ID Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id, optional>

=begin html

<br>Node Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<priv-protocol>  =>   B<string, optional>

=begin html

<br>Private Protocol Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<snmp-trapport>  =>   B<integer, optional>

=begin html

<br>SNMP Trap Port Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<username>  =>   B<string, optional>

=begin html

<br>Username Attributes: required-for-create, modifiable

=end html

=back



=head2 system-hypervisor-uplink-mapping-info

=begin html

Hypervisor Uplink Mapping Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<node>  =>   B<filer-id, optional>

=begin html

<br>Node Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<port>  =>   B<net-port, optional>

=begin html

<br>Port Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<uplinks>  =>   B<string[], optional>

=begin html

<br>Uplink Mapping Attributes: required-for-create, modifiable

=end html

=back



=head2 system-image-attributes

=begin html

These attributes describe or modify the configuration of the nodes's boot images. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<image>  =>   B<string, optional>

=begin html

<br>Image Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<install-time>  =>   B<datetime, optional>

=begin html

<br>Install Date Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-current>  =>   B<boolean, optional>

=begin html

<br>Is Current Image Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-default>  =>   B<boolean, optional>

=begin html

<br>Is Default Image Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<kernel-path>  =>   B<string, optional>

=begin html

<br>Kernel Image Path Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<rootfs-path>  =>   B<string, optional>

=begin html

<br>Root Filesystem Image Path Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Software Version Attributes: non-creatable, non-modifiable

=end html

=back



=head2 system-image-external-package-attributes

=begin html

These attributes provide details about the software packages available on the external device connected to the system. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<device>  =>   B<externaldevice, optional>

=begin html

<br>Device Attributes: key, optional-for-create, non-modifiable Possible values: <ul> <li> "usb0" - Usb0 </ul>

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package>  =>   B<string, optional>

=begin html

<br>File Name Attributes: key, optional-for-create, non-modifiable

=end html

=back



=head2 system-image-package-attributes

=begin html

These attributes provide details about the software packages available on the system. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<package>  =>   B<string, optional>

=begin html

<br>Package File Name Attributes: key, optional-for-create, non-modifiable

=end html

=back



=head2 system-info

=begin html

Information about the system. Here system refers to a cluster node when running in cluster mode.

=end html



B<Fields>

=over 2

=item * I<backplane-part-number>  =>   B<string, optional>

=begin html

<br>Part number of the backplane.

=end html

=back



=over 2

=item * I<backplane-revision>  =>   B<string, optional>

=begin html

<br>Revision of the backplane part number.

=end html

=back



=over 2

=item * I<backplane-serial-number>  =>   B<string, optional>

=begin html

<br>Backplane serial number.

=end html

=back



=over 2

=item * I<board-speed>  =>   B<integer>

=begin html

<br>Speed of the system board in mega Hertz.

=end html

=back



=over 2

=item * I<board-type>  =>   B<string>

=begin html

<br>Type of the system board. This is defined by the vendor

=end html

=back



=over 2

=item * I<controller-address>  =>   B<string, optional>

=begin html

<br>The location of the controller in a multi-controller platform. Defined by the platform layer. Possible values: A,B,C,...

=end html

=back



=over 2

=item * I<cpu-ciob-revision-id>  =>   B<string, optional>

=begin html

<br>Processor's CIOB (Champion I/O Bus) revision ID. Defined by the CPU manufacturer.

=end html

=back



=over 2

=item * I<cpu-firmware-release>  =>   B<string, optional>

=begin html

<br>Firmware release number. Defined by the CPU manufacturer.

=end html

=back



=over 2

=item * I<cpu-microcode-version>  =>   B<string>

=begin html

<br>cpu's microcode version. Defined by the CPU manufacturer.

=end html

=back



=over 2

=item * I<cpu-part-number>  =>   B<string, optional>

=begin html

<br>CPU's part number. Defined by the CPU manufacturer.

=end html

=back



=over 2

=item * I<cpu-processor-id>  =>   B<string, optional>

=begin html

<br>Processor's ID. Defined by the CPU manufacturer.

=end html

=back



=over 2

=item * I<cpu-processor-type>  =>   B<string, optional>

=begin html

<br>Processor's Type. Defined by the CPU manufacturer.

=end html

=back



=over 2

=item * I<cpu-revision>  =>   B<string, optional>

=begin html

<br>CPU's part number revision. Defined by the CPU manufacturer.

=end html

=back



=over 2

=item * I<cpu-serial-number>  =>   B<string, optional>

=begin html

<br>CPU's serial number. Defined by the CPU manufacturer.

=end html

=back



=over 2

=item * I<maximum-aggregate-size>  =>   B<integer, optional>

=begin html

<br>The platform's maximum aggregate size in bytes.

=end html

=back



=over 2

=item * I<maximum-flexible-volume-count>  =>   B<integer, optional>

=begin html

<br>The platform's maximum number of flexible volumes supported on this node. This does not include the number of volumes which can be supported when this node does a takeover of its partner node in a High Availability configuration.

=end html

=back



=over 2

=item * I<maximum-flexible-volume-size>  =>   B<integer, optional>

=begin html

<br>The platform's maximum flexible volume size in bytes.

=end html

=back



=over 2

=item * I<memory-size>  =>   B<integer>

=begin html

<br>Memory size in megabytes. (1024*1024).

=end html

=back



=over 2

=item * I<number-of-processors>  =>   B<integer>

=begin html

<br>Number of processors in the appliance.

=end html

=back



=over 2

=item * I<partner-system-id>  =>   B<string, optional>

=begin html

<br>Partner's system ID. Displayed in a cluster environment. A string of 10 characters.

=end html

=back



=over 2

=item * I<partner-system-name>  =>   B<string, optional>

=begin html

<br>Partner's system name. Displayed in a cluster environment. Defined in the partner's setup.

=end html

=back



=over 2

=item * I<partner-system-serial-number>  =>   B<string, optional>

=begin html

<br>Partner System serial number. Currently a string of numbers.

=end html

=back



=over 2

=item * I<prod-type>  =>   B<string, optional>

=begin html

<br>Will be set to "V-Series", "gfiler", "gateway" or "FAS" depending upon the vendor providing the raw storage.

=end html

=back



=over 2

=item * I<storage-configuration>  =>   B<string, optional>

=begin html

<br>Storage configuration status for the controller. The possible values are: <ul> <li>"mixed_path"</li> <li>"single_path"</li> <li>"multi_path"</li> <li>"single_path_ha"</li> <li>"multi_path_ha"</li> <li>"mixed_path_ha"</li> <li>"unknown"</li> </ul>

=end html

=back



=over 2

=item * I<supports-raid-array>  =>   B<boolean>

=begin html

<br>Indicates whether the system supports raid arrays back-end connectivity or not. Possible values: "true" or "false".

=end html

=back



=over 2

=item * I<system-id>  =>   B<string>

=begin html

<br>System ID. This is defined by the vendor. Currently, it is a string of numbers

=end html

=back



=over 2

=item * I<system-machine-type>  =>   B<string>

=begin html

<br>Machine type of the system, like FAS3050

=end html

=back



=over 2

=item * I<system-model>  =>   B<string>

=begin html

<br>Model name of the system, like FAS3050

=end html

=back



=over 2

=item * I<system-name>  =>   B<string>

=begin html

<br>System name. This is the name defined during setup.

=end html

=back



=over 2

=item * I<system-revision>  =>   B<string, optional>

=begin html

<br>System revision. There revision id of the system board. Currently, a character followed by a number, B0.

=end html

=back



=over 2

=item * I<system-serial-number>  =>   B<string, optional>

=begin html

<br>System serial number.Currently a string of numbers.

=end html

=back



=over 2

=item * I<vendor-id>  =>   B<string>

=begin html

<br>Hardware vendor identifier.

=end html

=back



=over 2

=item * I<vm-system-disks>  =>   B<L<"vm-system-disks">, optional>

=begin html

<br>Backing info for the Data ONTAP-v system disks

=end html

=back



=over 2

=item * I<vmhost-info>  =>   B<L<"vmhost-info">, optional>

=begin html

<br>Info block for the hypervisor physical node on Data ONTAP-v

=end html

=back



=head2 system-node-discovery

=begin html

Discovered nodes. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cluster-ip-addresses>  =>   B<ip-address[], optional>

=begin html

<br>The cluster IP addresses of the discovered node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-name>  =>   B<string, optional>

=begin html

<br>Cluster Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-netmask>  =>   B<ip-address, optional>

=begin html

<br>The cluster LIF netmask. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cluster-uuid>  =>   B<uuid, optional>

=begin html

<br>Cluster UUID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-node-in-cluster>  =>   B<boolean, optional>

=begin html

<br>If true, the node is currently a member of the cluster identified in the cluster-uuid and cluster-name. If false, this node is not currently a member of a cluster. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<string, optional>

=begin html

<br>Node Name Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<node-model>  =>   B<string, optional>

=begin html

<br>The model of the node. For example, FAS3070. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-nvram-id>  =>   B<nvramid, optional>

=begin html

<br>Vendor specific NVRAM ID of the node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-serial-number>  =>   B<string, optional>

=begin html

<br>The serial number of the node. This is defined by the vendor. Currently, a string of numbers. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<partner-nvram-id>  =>   B<nvramid, optional>

=begin html

<br>The NVRAM-ID of the partner to the discovered node. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Data ONTAP version running on the node. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 system-node-power-info

=begin html

Node Power Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Target node for the operation Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<power-status, optional>

=begin html

<br>Current Power Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "on" - Node is powered on, <li> "off" - Node is powered off </ul>

=end html

=back



=head2 system-services-web-info

=begin html

Web server configuration When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<external>  =>   B<boolean, optional>

=begin html

<br>Indicates whether or not web services are available to remote clients Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<http-enabled>  =>   B<boolean, optional>

=begin html

<br>HTTP Enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<http-port>  =>   B<integer, optional>

=begin html

<br>HTTP Port Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<https-port>  =>   B<integer, optional>

=begin html

<br>HTTPS Port Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<per-address-limit>  =>   B<integer, optional>

=begin html

<br>Per Address Limit Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ssl-fips-enabled>  =>   B<boolean, optional>

=begin html

<br>Global FIPS Enabled Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<sslv3-enabled>  =>   B<boolean, optional>

=begin html

<br>SSLv3 Enabled Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<web-proto-status, optional>

=begin html

<br>Protocol Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "offline" - All web services are consistently configured and working correctly, <li> "partial" - One or more nodes' web services are unavailable due to an error condition, <li> "mixed" - The nodes in the cluster do not share the same web services configuration, <li> "online" - All of the nodes' web services are unavailable due to an error condition, <li> "unclustered" - The current node is not part of an active cluster </ul>

=end html

=back



=over 2

=item * I<tlsv1-enabled>  =>   B<boolean, optional>

=begin html

<br>TLSv1 Enabled Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wait-queue-capacity>  =>   B<integer, optional>

=begin html

<br>Wait Queue Capacity Attributes: non-creatable, modifiable

=end html

=back



=head2 system-services-web-node-info

=begin html

Node web server status When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<external>  =>   B<boolean, optional>

=begin html

<br>Indicates whether or not web services are available to remote clients Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<http-enabled>  =>   B<boolean, optional>

=begin html

<br>HTTP Enabled Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<http-port>  =>   B<integer, optional>

=begin html

<br>HTTP Port Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<https-port>  =>   B<integer, optional>

=begin html

<br>HTTPS Port Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<mean-connection-wait-time>  =>   B<integer, optional>

=begin html

<br>Mean Connection Wait Time (ms) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peak-concurrency>  =>   B<integer, optional>

=begin html

<br>Peak Concurrency Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peak-connection-wait-time>  =>   B<integer, optional>

=begin html

<br>Peak Connection Wait Time (ms) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peak-per-address-concurrency>  =>   B<integer, optional>

=begin html

<br>Peak Per-Address Concurrency Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<per-address-limit>  =>   B<integer, optional>

=begin html

<br>Per Address Limit Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<web-proto-status, optional>

=begin html

<br>Protocol Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "offline" - All web services are consistently configured and working correctly, <li> "partial" - One or more nodes' web services are unavailable due to an error condition, <li> "mixed" - The nodes in the cluster do not share the same web services configuration, <li> "online" - All of the nodes' web services are unavailable due to an error condition, <li> "unclustered" - The current node is not part of an active cluster </ul>

=end html

=back



=over 2

=item * I<status-code>  =>   B<integer, optional>

=begin html

<br>Status Return Code Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-bytes>  =>   B<integer, optional>

=begin html

<br>Total Bytes Served Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-connection-wait-time>  =>   B<integer, optional>

=begin html

<br>Total Connection Wait Time (ms) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-connections>  =>   B<integer, optional>

=begin html

<br>Total Connections Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-delayed-connections>  =>   B<integer, optional>

=begin html

<br>Total Delayed Connections Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-hits>  =>   B<integer, optional>

=begin html

<br>Total HTTP Requests Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-http-ops>  =>   B<integer, optional>

=begin html

<br>Total HTTP ops Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-https-ops>  =>   B<integer, optional>

=begin html

<br>Total HTTPS ops Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-pend-auth>  =>   B<integer, optional>

=begin html

<br>Total Pending Auth Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-rc-1xx>  =>   B<integer, optional>

=begin html

<br>Total RCs 100-199 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-rc-2xx>  =>   B<integer, optional>

=begin html

<br>Total RCs 200-299 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-rc-3xx>  =>   B<integer, optional>

=begin html

<br>Total RCs 300-399 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-rc-4xx>  =>   B<integer, optional>

=begin html

<br>Total RCs 400-499 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-rc-5xx>  =>   B<integer, optional>

=begin html

<br>Total RCs 500-599 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-workers>  =>   B<integer, optional>

=begin html

<br>Total Workers Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wait-queue-capacity>  =>   B<integer, optional>

=begin html

<br>Wait Queue Capacity Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<work-state-close>  =>   B<integer, optional>

=begin html

<br>Workers Closing Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<work-state-keep>  =>   B<integer, optional>

=begin html

<br>Workers in KeepAlive Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<work-state-log>  =>   B<integer, optional>

=begin html

<br>Workers Logging Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<work-state-read>  =>   B<integer, optional>

=begin html

<br>Workers Reading Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<work-state-ready>  =>   B<integer, optional>

=begin html

<br>Workers Ready Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<work-state-write>  =>   B<integer, optional>

=begin html

<br>Workers Writing Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<workers-avail>  =>   B<integer, optional>

=begin html

<br>Workers Available Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<workers-busy>  =>   B<integer, optional>

=begin html

<br>Workers Busy Attributes: non-creatable, non-modifiable

=end html

=back



=head2 system-version-tuple

=begin html

Contains the Data ONTAP version tuple corresponding to the lowest version across the cluster.

=end html



B<Fields>

=over 2

=item * I<generation>  =>   B<integer>

=begin html

<br>First integer of the Data ONTAP version tuple corresponding the lowest version across the cluster.

=end html

=back



=over 2

=item * I<major>  =>   B<integer>

=begin html

<br>Second integer of the Data ONTAP version tuple corresponding the lowest version across the cluster.

=end html

=back



=over 2

=item * I<minor>  =>   B<integer>

=begin html

<br>Third integer of the Data ONTAP version tuple corresponding the lowest version across the cluster.

=end html

=back



=head2 vm-system-disks

=begin html

Storage info block for the hypervisor physical node on Data ONTAP-v (VSA)

=end html



B<Fields>

=over 2

=item * I<vm-bootdisk-area-name>  =>   B<string, optional>

=begin html

<br>The name of the hypervisor's storage area for the VMs bootdisk. For ESX this is the name of a datastore.

=end html

=back



=over 2

=item * I<vm-bootdisk-file-name>  =>   B<string, optional>

=begin html

<br>The hypervisor's filename for the VMs bootdisk.

=end html

=back



=over 2

=item * I<vm-coredisk-area-name>  =>   B<string, optional>

=begin html

<br>The name of the hypervisor's storage area for the VMs coredump and swap disk. For ESX this is the name of a datastore.

=end html

=back



=over 2

=item * I<vm-coredisk-file-name>  =>   B<string, optional>

=begin html

<br>The hypervisor's filename for the VMs coredump disk.

=end html

=back



=over 2

=item * I<vm-logdisk-area-name>  =>   B<string, optional>

=begin html

<br>The name of the hypervisor's storage area for the VMs log disk. For ESX this is the name of a datastore.

=end html

=back



=over 2

=item * I<vm-logdisk-file-name>  =>   B<string, optional>

=begin html

<br>The hypervisor's filename for the VMs log disk.

=end html

=back



=head2 vmhost-info

=begin html

Storage info block for the hypervisor physical node on Data ONTAP-v (VSA)

=end html



B<Fields>

=over 2

=item * I<vm-custom-max-capacity>  =>   B<integer, optional>

=begin html

<br>The maximum system capacity (in TB) that can be configured on the VM. Example is "20".

=end html

=back



=over 2

=item * I<vm-uuid>  =>   B<string, optional>

=begin html

<br>The hypervisor-supplied UUID, Universal Unique Identifier, for the virtual machine. Example is, "4230f064-02f8-xy3a-02d1-zz89702287e0".

=end html

=back



=over 2

=item * I<vmhost-bios-release-date>  =>   B<string, optional>

=begin html

<br>Release date for the currently running hypervisor BIOS. Example is "2000-01-01T00:00:00Z".

=end html

=back



=over 2

=item * I<vmhost-bios-version>  =>   B<string, optional>

=begin html

<br>Current BIOS version of the hypervisor physical chassis. Example is "S5500.2.1.3.0.081620131102".

=end html

=back



=over 2

=item * I<vmhost-boot-time>  =>   B<string, optional>

=begin html

<br>Time when the hypervisor was last booted. Example is "2014-01-01T00:00:00.420462-04:00".

=end html

=back



=over 2

=item * I<vmhost-cpu-clock-rate>  =>   B<integer, optional>

=begin html

<br>Speed of the hypervisor CPU cores (MHz).

=end html

=back



=over 2

=item * I<vmhost-cpu-core-count>  =>   B<integer, optional>

=begin html

<br>Number of physical CPU cores on the hypervisor. Physical CPU cores are the processors contained by a CPU package.

=end html

=back



=over 2

=item * I<vmhost-cpu-socket-count>  =>   B<integer, optional>

=begin html

<br>Number of physical CPU packages on the hypervisor. Physical CPU packages are chips that contain one or more processors. Processors contained by a package are also known as CPU cores. For example, one dual-core package is comprised of one chip that contains two CPU cores.

=end html

=back



=over 2

=item * I<vmhost-cpu-thread-count>  =>   B<integer, optional>

=begin html

<br>Number of physical CPU threads on the hypervisor.

=end html

=back



=over 2

=item * I<vmhost-error>  =>   B<string, optional>

=begin html

<br>Error (if any) while retrieving hypervisor details. Example is "[13115] vSphere server is missing".

=end html

=back



=over 2

=item * I<vmhost-gateway>  =>   B<string, optional>

=begin html

<br>The default gateway (IPv4 or IPv6) for the hypervisor. Examples are "192.168.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334".

=end html

=back



=over 2

=item * I<vmhost-hardware-vendor>  =>   B<string, optional>

=begin html

<br>Name of the hypervisor hardware manufacturer. Example is "IBM".

=end html

=back



=over 2

=item * I<vmhost-hypervisor>  =>   B<string, optional>

=begin html

<br>Complete product name, including the version information for the hypervisor.

=end html

=back



=over 2

=item * I<vmhost-ip-address>  =>   B<string, optional>

=begin html

<br>Primary IP address (IPv4 or IPv6) assigned to the hypervisor. Examples are "192.168.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334".

=end html

=back



=over 2

=item * I<vmhost-memory>  =>   B<integer, optional>

=begin html

<br>Physical memory size of the hypervisor (bytes).

=end html

=back



=over 2

=item * I<vmhost-model>  =>   B<string, optional>

=begin html

<br>The hardware model of the hypervisor machine. Example is "IBM eServer BladeCenter HS21".

=end html

=back



=over 2

=item * I<vmhost-name>  =>   B<string, optional>

=begin html

<br>Host name assigned to the hypervisor. Example is "myesx.example.com".

=end html

=back



=over 2

=item * I<vmhost-netmask>  =>   B<string, optional>

=begin html

<br>Subnet mask address (IPv4 or IPv6) for the hypervisor. Examples are "192.168.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334".

=end html

=back



=over 2

=item * I<vmhost-processor-id>  =>   B<string, optional>

=begin html

<br>Processor ID of the hypervisor. Example is "0000:0000:0000:0001:0000:0110:0111:0110".

=end html

=back



=over 2

=item * I<vmhost-processor-type>  =>   B<string, optional>

=begin html

<br>CPU Model of the hypervisor.

=end html

=back



=over 2

=item * I<vmhost-software-vendor>  =>   B<string, optional>

=begin html

<br>Name of the virtual machine software manufacturer.

=end html

=back



=over 2

=item * I<vmhost-uuid>  =>   B<string, optional>

=begin html

<br>UUID, Universal Unique Identifier, of the hypervisor. Example is, "4230f064-02f8-xy3a-02d1-zz89702287e0".

=end html

=back



=head2 web-proto-status

=begin html

offline|partial|mixed|online|unclustered Possible values: <ul> <li> "offline" - All web services are consistently configured and working correctly, <li> "partial" - One or more nodes' web services are unavailable due to an error condition, <li> "mixed" - The nodes in the cluster do not share the same web services configuration, <li> "online" - All of the nodes' web services are unavailable due to an error condition, <li> "unclustered" - The current node is not part of an active cluster </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 device-density-format

=begin html

Device density formats

=end html



B<Fields>

=over 2

=item * I<device-format>  =>   B<string, optional>

=begin html

<br>Tape Cartridge Format Attributes: non-creatable, non-modifiable

=end html

=back



=head2 device-name-density

=begin html

Device names for tape positioning

=end html



B<Fields>

=over 2

=item * I<device-name-no-rewind>  =>   B<string, optional>

=begin html

<br>Device Name for No Rewind Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<device-name-rewind>  =>   B<string, optional>

=begin html

<br>Device Name for Rewind Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<device-name-unload-reload>  =>   B<string, optional>

=begin html

<br>Device Name for Unload Reload Attributes: non-creatable, non-modifiable

=end html

=back



=head2 tape-mc-device-if-type-enum

=begin html

unknown|fibre-channel|SAS|pSCSI Possible values: <ul> <li> "unknown" - Tape drive/media changer interface type unknown, <li> "fibre_channel" - Tape drive/media changer fibre channel interface type, <li> "sas" - Tape drive/Media changer SAS interface type, <li> "pscsi" - Tape drive/media changer pSCSI interface type </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 tape-mc-device-scope-enum

=begin html

tape|media-changer|all Possible values: <ul> <li> "tape" - Scope of the operation is tape drives only, <li> "media_changer" - Scope of the operation is for media changers only, <li> "all" - Scope of the operation is for both tape drives and media changers </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 tape-mc-device-state-enum

=begin html

unknown|available|ready-write-enabled|ready-write-protected|offline|in-use|error|reserved-by-another-host|normal Possible values: <ul> <li> "unknown" - State of the tape device is unknown, <li> "available" - Tape device available for use, <li> "ready_write_enabled" - Tape drive is ready and write-enabled, <li> "ready_write_protected" - Tape drive is ready and write-protected, <li> "offline" - Tape device is offline, <li> "in_use" - Tape device is currently in use, <li> "error" - Tape device is reporting errors, <li> "reserved_by_another_host" - Tape device is reserved by another node or host, <li> "normal" - Tape device is in a normal functional state, <li> "rewinding" - Tape device is rewinding a tape, <li> "erasing" - Tape device is erasing a tape </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 tape-mc-func-status-enum

=begin html

unknown|normal|error Possible values: <ul> <li> "unknown" - Tape device status unknown, <li> "normal" - Tape device shows normal status, <li> "error" - Tape device is reporting errors </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 tape-mc-info

=begin html

Information about Tape and Media Changer Devices When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<alias-mapping>  =>   B<string, optional>

=begin html

<br>Alias Mapping Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<alias-name>  =>   B<string, optional>

=begin html

<br>Alias Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<block-number>  =>   B<integer, optional>

=begin html

<br>Block Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<density-formats>  =>   B<L<"device-density-format">[], optional>

=begin html

<br>Device density formats

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Description Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<device-id>  =>   B<string, optional>

=begin html

<br>Device ID Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<device-if-type>  =>   B<tape-mc-device-if-type-enum, optional>

=begin html

<br>Device Interface Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Tape drive/media changer interface type unknown, <li> "fibre_channel" - Tape drive/media changer fibre channel interface type, <li> "sas" - Tape drive/Media changer SAS interface type, <li> "pscsi" - Tape drive/media changer pSCSI interface type </ul>

=end html

=back



=over 2

=item * I<device-names>  =>   B<L<"device-name-density">[], optional>

=begin html

<br>Device names for tape positioning

=end html

=back



=over 2

=item * I<device-state>  =>   B<tape-mc-device-state-enum, optional>

=begin html

<br>Operational State of Device Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - State of the tape device is unknown, <li> "available" - Tape device available for use, <li> "ready_write_enabled" - Tape drive is ready and write-enabled, <li> "ready_write_protected" - Tape drive is ready and write-protected, <li> "offline" - Tape device is offline, <li> "in_use" - Tape device is currently in use, <li> "error" - Tape device is reporting errors, <li> "reserved_by_another_host" - Tape device is reserved by another node or host, <li> "normal" - Tape device is in a normal functional state, <li> "rewinding" - Tape device is rewinding a tape, <li> "erasing" - Tape device is erasing a tape </ul>

=end html

=back



=over 2

=item * I<device-type>  =>   B<string, optional>

=begin html

<br>Device Type Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<error>  =>   B<string, optional>

=begin html

<br>Tape Error Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-number>  =>   B<integer, optional>

=begin html

<br>File Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<functional-status>  =>   B<tape-mc-func-status-enum, optional>

=begin html

<br>Functional Status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "unknown" - Tape device status unknown, <li> "normal" - Tape device shows normal status, <li> "error" - Tape device is reporting errors </ul>

=end html

=back



=over 2

=item * I<initiator>  =>   B<string, optional>

=begin html

<br>Initiator Port Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<residual-count>  =>   B<integer, optional>

=begin html

<br>Residual Count of Last I/O Operation Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<resv-type>  =>   B<tape-mc-resv-type-enum, optional>

=begin html

<br>Reservation Type for device Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "off" , <li> "persistent" , <li> "scsi" </ul>

=end html

=back



=over 2

=item * I<serial-number>  =>   B<string, optional>

=begin html

<br>Serial Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwnn>  =>   B<string, optional>

=begin html

<br>World Wide Node Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<wwpn>  =>   B<string, optional>

=begin html

<br>World Wide Port Name Attributes: non-creatable, non-modifiable

=end html

=back



=head2 tape-mc-resv-type-enum

=begin html

off|persistent|scsi Possible values: <ul> <li> "off" , <li> "persistent" , <li> "scsi" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 tape-mc-tape-oper-enum

=begin html

weof|fsf|bsf|fsr|bsr|rewind|erase|eom Possible values: <ul> <li> "weof" - Write end-of-file, <li> "fsf" - Forward space files, <li> "bsf" - Backward space files, <li> "fsr" - Forward space records, <li> "bsr" - Backward space records, <li> "rewind" - Rewind tape cartridge, <li> "erase" - Erase tape media, <li> "eom" - End of tape media </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 custom-input-info

=begin html

null

=end html



B<Fields>

=over 2

=item * I<key>  =>   B<string>

=begin html

<br>Name of the attribute.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Value of the attribute.

=end html

=back



=head2 template-info

=begin html

When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Description Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<missing-prerequisites>  =>   B<string, optional>

=begin html

<br>Missing Prerequesites Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<template-name, optional>

=begin html

<br>Name of the template Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<parent-template>  =>   B<string, optional>

=begin html

<br>Parent template name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<permission>  =>   B<template-permission, optional>

=begin html

<br>Permission Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "readonly" - Read Only, <li> "readwrite" - Read Write </ul>

=end html

=back



=over 2

=item * I<template>  =>   B<string, optional>

=begin html

<br>Name of the Template Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<template-type-ui, optional>

=begin html

<br>Template Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "ontap_template" - Ontap Template, <li> "application_template" - Application Template </ul>

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>UUID of the template Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Version Attributes: non-creatable, non-modifiable

=end html

=back



=head2 template-management-template-parameter-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against template-management object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<template-management-key>  =>   B<L<"template-parameter-info">>

=begin html

<br>The keys for the template-management object to which the modify operation applies.

=end html

=back



=head2 template-name

=begin html

The name of the Template.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 template-parameter-info

=begin html

Template Parameter Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<allowed-vals>  =>   B<string, optional>

=begin html

<br>Allowed values Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<default-value>  =>   B<string, optional>

=begin html

<br>Default value of the parameter Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-length>  =>   B<integer, optional>

=begin html

<br>Maximum length Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<string, optional>

=begin html

<br>Name of the parameter Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<parameter>  =>   B<string, optional>

=begin html

<br>Name of the Parameter Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<permission>  =>   B<string, optional>

=begin html

<br>Template permission Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<range-max>  =>   B<integer, optional>

=begin html

<br>Maximum range Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<range-min>  =>   B<integer, optional>

=begin html

<br>Minumum range Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<recommended-value>  =>   B<string, optional>

=begin html

<br>Recommended value of the parameter Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<template>  =>   B<template-name, optional>

=begin html

<br>Name of the template Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>Type of the parameter Attributes: non-creatable, non-modifiable

=end html

=back



=head2 template-permission

=begin html

template_permission Possible values: <ul> <li> "readonly" - Read Only, <li> "readwrite" - Read Write </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 template-provision-error-info

=begin html

Template Provision Errors When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<failure-errornum>  =>   B<integer, optional>

=begin html

<br>Failure Error Number Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failure-reason>  =>   B<string, optional>

=begin html

<br>Failure Reason Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<input-params>  =>   B<string[], optional>

=begin html

<br>Input Parameters Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<jobid>  =>   B<integer, optional>

=begin html

<br>Job ID Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 template-type-ui

=begin html

template_type_ui Possible values: <ul> <li> "ontap_template" - Ontap Template, <li> "application_template" - Application Template </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 uc-adapter-info

=begin html

Information for one UC Adapter When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<adapter-name>  =>   B<string, optional>

=begin html

<br>Adapter Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fc4-type>  =>   B<ucm-type, optional>

=begin html

<br>Current Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initiator" - Initiator mode, <li> "target" - Target mode, <li> "fcvi" - Fcvi mode </ul>

=end html

=back



=over 2

=item * I<mode>  =>   B<ucm-mode, optional>

=begin html

<br>Current Mode Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "fc" - Fibre Channel, <li> "cna" - Converged Network Adapter </ul>

=end html

=back



=over 2

=item * I<node-name>  =>   B<node-name, optional>

=begin html

<br>Node Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<pending-fc4-type>  =>   B<ucm-type, optional>

=begin html

<br>Pending Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initiator" - Initiator mode, <li> "target" - Target mode, <li> "fcvi" - Fcvi mode </ul>

=end html

=back



=over 2

=item * I<pending-mode>  =>   B<ucm-mode, optional>

=begin html

<br>Pending Mode Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "fc" - Fibre Channel, <li> "cna" - Converged Network Adapter </ul>

=end html

=back



=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Administrative Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<supported-fc4-type-for-cna-mode>  =>   B<ucm-type[], optional>

=begin html

<br>Supported CNA Types Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initiator" - Initiator mode, <li> "target" - Target mode, <li> "fcvi" - Fcvi mode </ul>

=end html

=back



=over 2

=item * I<supported-fc4-type-for-fc-mode>  =>   B<ucm-type[], optional>

=begin html

<br>Supported FC Types Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "initiator" - Initiator mode, <li> "target" - Target mode, <li> "fcvi" - Fcvi mode </ul>

=end html

=back



=over 2

=item * I<supported-mode>  =>   B<ucm-mode[], optional>

=begin html

<br>Supported Modes Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "fc" - Fibre Channel, <li> "cna" - Converged Network Adapter </ul>

=end html

=back



=head2 ucm-mode

=begin html

The operational mode of the adapter. Possible values: <ul> <li> "fc" - Fibre Channel, <li> "cna" - Converged Network Adapter </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 ucm-type

=begin html

The FC-4 type of the adapter. Possible values: <ul> <li> "initiator" - Initiator mode, <li> "target" - Target mode, <li> "fcvi" - Fcvi mode </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 virtual-machine-provider-credential-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against virtual-machine-provider-credential object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<virtual-machine-provider-credential-key>  =>   B<L<"vm-provider-credential">>

=begin html

<br>The keys for the virtual-machine-provider-credential object to which the deletion applies.

=end html

=back



=head2 virtual-machine-provider-credential-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against virtual-machine-provider-credential object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<virtual-machine-provider-credential-key>  =>   B<L<"vm-provider-credential">>

=begin html

<br>The keys for the virtual-machine-provider-credential object to which the modify operation applies.

=end html

=back



=head2 virtual-machine-provider-proxy-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against virtual-machine-provider-proxy object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<virtual-machine-provider-proxy-key>  =>   B<L<"vm-provider-proxy">>

=begin html

<br>The keys for the virtual-machine-provider-proxy object to which the deletion applies.

=end html

=back



=head2 virtual-machine-provider-proxy-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against virtual-machine-provider-proxy object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<virtual-machine-provider-proxy-key>  =>   B<L<"vm-provider-proxy">>

=begin html

<br>The keys for the virtual-machine-provider-proxy object to which the modify operation applies.

=end html

=back



=head2 virtual-machine-system-disks-info

=begin html

Data ONTAP virtual machine system disks. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-area-name>  =>   B<string, optional>

=begin html

<br>Name of the system disk backing store. A backing store represents a storage location for virtual machine files. It can be a VMFS volume, a directory on network-attached storage, or a local file system path, for example store123. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-adapter-device>  =>   B<string, optional>

=begin html

<br>Backing adapter device name, for example vmhba32. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-adapter-driver>  =>   B<string, optional>

=begin html

<br>Backing adapter driver name of the initiator, for example iqn.1998-01.com.vmware:esxhostname-5d1555b6. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-adapter-model>  =>   B<string, optional>

=begin html

<br>Backing adapter model type, for example LSI1064E. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-adapter-pci>  =>   B<string, optional>

=begin html

<br>Backing adapter PCI device ID for the virtual disk, for example 50:00.0. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-device-address>  =>   B<string, optional>

=begin html

<br>SCSI device name for the backing disk. It takes the form target-id:lun-id, for example '2:1'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-device-capacity>  =>   B<integer, optional>

=begin html

<br>Size of the backing device (disk or LUN) in bytes. Range: [0..2^64-1]. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-device-partition>  =>   B<integer, optional>

=begin html

<br>Backing disk partition number where the currosponding VM disk file resides, for example '3'. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-device-uuid>  =>   B<string, optional>

=begin html

<br>Hypervisor-assigned unique ID of the backing device (disk or LUN). It is an alpha-numeric string, for example naa.61b4822265678d9253728bb826341n95. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-store-capacity>  =>   B<integer, optional>

=begin html

<br>Size of the system disk backing store in bytes. Range: [0..2^64-1]. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-store-nas-path>  =>   B<string, optional>

=begin html

<br>Full path to the backing store for NAS. This field is only valid for network-attached storage. For example, myvm.domain.com:/backingStoreName. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-store-type>  =>   B<string, optional>

=begin html

<br>Type of the system disk backing store. It can be a VMFS volume, a directory on network-attached storage, or a local file system path. Possible values are NFS, VMFS. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-target-iscsi-address>  =>   B<string, optional>

=begin html

<br>The iSCSI IP address (IPv4 or IPv6) of the system disk backing target. This field is valid only for iSCSI connections. For example, 192.168.0.1, 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-backing-target-iscsi-name>  =>   B<string, optional>

=begin html

<br>The iSCSI name for the system disk backing target. This field is valid only for iSCSI connections. For example, iqn.1992-08.com.netapp:sn.101167998. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-capacity>  =>   B<integer, optional>

=begin html

<br>Size of the system disk in bytes. Range: [0..2^64-1]. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-file-name>  =>   B<string, optional>

=begin html

<br>File name of the system disk used by the hypervisor. Each Data ONTAP disk is mapped to a unique VM disk file. For example myvm/myvm_1.vmdk Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-name>  =>   B<string, optional>

=begin html

<br>Data ONTAP-supplied name of the system disk, for example ad0. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-serial-number>  =>   B<string, optional>

=begin html

<br>Data ONTAP-supplied serial number of the system disk. It is an alpha-numeric string, for example 6000c298e27f9fdbf35fb679ac5b07e3. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vmdisk-type>  =>   B<string, optional>

=begin html

<br>Type of the system disk. There are three types of ONTAP system disks - Boot, Core and Log. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 vm-instance-info

=begin html

Virtual machine instance information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<account-id>  =>   B<string, optional>

=begin html

<br>The cloud provider-associated account ID for this virtual machine, for example 122047257761. This parameter is usually associated with a cloud provider login ID and password. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<availability-zone>  =>   B<string, optional>

=begin html

<br>A distinct location within a region that is insulated from failures in other availability zones. It provides low-latency network connectivity to other availability zones in the same region. A typical availability zone name might be us-east-1d which would reside within the us-east-1 region. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<deployment-id>  =>   B<string, optional>

=begin html

<br>A cloud provider-supplied unique deployment ID for this virtual machine, for example 2831c724-97ca-4395-b8d3-a65c2a65b502. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fault-domain>  =>   B<integer, optional>

=begin html

<br>A cloud provider-assigned numerical fault domain ID for this virtual machine within an Availability Set. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<image-id>  =>   B<string, optional>

=begin html

<br>The image ID installed on this virtual machine instance, for example ami-26bahc7c. It identifies a pre-defined template of a computing device's software environment. It contains the operating system and can also include application software, such as database servers, middleware, and web servers. In this case, the ID refers to an image that contains everything required to run Data ONTAP in the cloud. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<instance-id>  =>   B<string, optional>

=begin html

<br>A cloud provider-supplied unique instance ID for this virtual machine, for example i-a9d42f89 or db00a7755a5e4e8a8fe4b19bc3b330c3.1 Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<instance-type>  =>   B<string, optional>

=begin html

<br>A specification (as defined by the cloud provider) that defines the memory, CPU, storage capacity and usage cost for a virtual machine instance. Some intance types are designed for standard applications, whereas others are designed for CPU-intensive or memory-intensive applications and so on. m3.xlarge is an example of an instance-type. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<primary-ip>  =>   B<string, optional>

=begin html

<br>The primary IP address assigned to this virtual machine instance, e.g. 192.168.0.1. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<provider>  =>   B<string, optional>

=begin html

<br>The Provider on which this instance is running. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<region>  =>   B<string, optional>

=begin html

<br>A named set of resources in the same geographical area. For example us-east-1 might be the name for a collection of compute and storage resources on the eastern coast of the United States. Typically a region contains multiple availability zones. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<update-domain>  =>   B<integer, optional>

=begin html

<br>A cloud provider-assigned numerical update domain ID for this virtual machine within an Availability Set. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>The version of the Instance Metadata or Agent Wire Protocol as defined by the cloud provider. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 vm-provider-credential

=begin html

Credentials used to access provider services. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aws-access-key>  =>   B<string, optional>

=begin html

<br>An Amazon Web Services access key ID. Access key must be 16 to 32 characters in length. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<aws-secret-key>  =>   B<string, optional>

=begin html

<br>The Amazon Web Services secret key associated with the access key. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node. Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 vm-provider-proxy

=begin html

Proxy server used to access provider services. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The name of the node. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<server>  =>   B<string, optional>

=begin html

<br>A proxy server that can reach the provider. It takes the form: [protocol://]server[:port], for example: 'http://10.11.12.13:9090'. Attributes: required-for-create, modifiable

=end html

=back



=head2 aggr-name

=begin html

Name of the aggregate

=end html



B<Fields>

=over 2

=item * None

=back



=head2 autobalance-volume-state

=begin html

Auto Balance Volume state Possible values: <ul> <li> "running" - Running, <li> "partial" - Partial, <li> "blocked" - Blocked, <li> "stopped" - Stopped, <li> "completed" - Completed </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 cache-policy

=begin html

Cache Policy Name

=end html



B<Fields>

=over 2

=item * None

=back



=head2 clone-split-detail-info

=begin html

Status information about an active clone split.

=end html



B<Fields>

=over 2

=item * I<block-percentage-complete>  =>   B<integer>

=begin html

<br>Percent of the clone's blocks processed to date by the split.

=end html

=back



=over 2

=item * I<blocks-scanned>  =>   B<integer>

=begin html

<br>Number of the clone's blocks that have been scanned to date by the split.

=end html

=back



=over 2

=item * I<blocks-updated>  =>   B<integer>

=begin html

<br>Total number of the clone's blocks that have been updated to date by the split.

=end html

=back



=over 2

=item * I<inode-percentage-complete>  =>   B<integer>

=begin html

<br>Percent of the clone's inodes processed to date by the split.

=end html

=back



=over 2

=item * I<inodes-processed>  =>   B<integer>

=begin html

<br>Number of the clone's inodes processed to date by the split.

=end html

=back



=over 2

=item * I<inodes-total>  =>   B<integer>

=begin html

<br>Total number of inodes in the clone.

=end html

=back



=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Name of the clone being split.

=end html

=back



=head2 clone-split-estimate-info

=begin html

Estimate information about a future clone split.

=end html



B<Fields>

=over 2

=item * I<estimate-blocks>  =>   B<integer>

=begin html

<br>The estimated number of 4kb blocks required to perform the volume clone split.

=end html

=back



=head2 errors-warnings-info

=begin html

The complete list of errors and warnings if perform-validation-only is true or all the warnings if is-override-warnings is true.

=end html



B<Fields>

=over 2

=item * I<error-warning>  =>   B<string>

=begin html

<br>Error or warning

=end html

=back



=head2 footprint-info

=begin html

Space configuration info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<dedupe-metafiles-footprint>  =>   B<integer, optional>

=begin html

<br>This field represents temporary deduplication metadata footprint in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dedupe-metafiles-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents deduplication metadata footprint as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dedupe-metafiles-temporary-footprint>  =>   B<integer, optional>

=begin html

<br>This field represents temporary deduplication metadata footprint in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dedupe-metafiles-temporary-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents deduplication metadata footprint as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<delayed-free-footprint>  =>   B<integer, optional>

=begin html

<br>This field represents the delayed free blocks footprint in bytes. This system is used to improve delete performance by batching delete requests. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<delayed-free-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the delayed free blocks footprint as a percentage of aggregate size. This system is used to improve delete performance by batching delete requests. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-operation-metadata>  =>   B<integer, optional>

=begin html

<br>This field represents the file operation metadata footprint in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<file-operation-metadata-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the file operation metadata footprint as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flexvol-metadata-footprint>  =>   B<integer, optional>

=begin html

<br>This field represents flexible volume metadata in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flexvol-metadata-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents flexible volume metadata as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapmirror-destination-footprint>  =>   B<integer, optional>

=begin html

<br>This field represents the SnapMirror destination footprint in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapmirror-destination-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the SnapMirror destination footprint as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tape-backup-metafiles-footprint>  =>   B<integer, optional>

=begin html

<br>This fields represents the tape backup metadata footprint in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tape-backup-metafiles-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the tape backup metadata footprint as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-footprint>  =>   B<integer, optional>

=begin html

<br>This field represents the total footprint in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the total footprint as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Name of the volume for which the space usage is requested. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-blocks-footprint>  =>   B<integer, optional>

=begin html

<br>This field represents the footprint of blocks written to the volume in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-blocks-footprint-bin0>  =>   B<integer, optional>

=begin html

<br>This field represents the footprint of blocks written to the volume in bytes for the performance tier (bin 0). Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-blocks-footprint-bin0-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the footprint of blocks written to the volume in bin 0 as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-blocks-footprint-bin1>  =>   B<integer, optional>

=begin html

<br>This field represents the footprint of blocks written to the volume in bytes for bin 1. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-blocks-footprint-bin1-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the footprint of blocks written to the volume in bin 1 as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-blocks-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the footprint of blocks written to the volume as a percentage of aggregate size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-guarantee-footprint>  =>   B<integer, optional>

=begin html

<br>This field represents the volume guarantee footprint in bytes. Alternatively, it is the space reserved for future writes in the volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-guarantee-footprint-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the volume guarantee footprint as a percentage of aggregate size. Alternatively, it is the percentage of space reserved for future writes in the volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver that contains the volumes for which the space usage is requested. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 language-code

=begin html

Language Code. <p> The following are the possible language codes along with their names: <ul> <li> 'C' ... POSIX, <li> 'ar' ... Arabic, <li> 'cs' ... Czech, <li> 'da' ... Danish, <li> 'de' ... German, <li> 'en' ... English, <li> 'en_US' ... English (US), <li> 'es' ... Spanish, <li> 'fi' ... Finnish, <li> 'fr' ... French, <li> 'he' ... Hebrew, <li> 'hr' ... Croatian, <li> 'hu' ... Hungarian, <li> 'it' ... Italian, <li> 'ja' ... Japanese euc-j*, <li> 'ja_v1' ... Japanese euc-j, <li> 'ja_JP.PCK' ... Japanese PCK (sjis)*, <li> 'ja_JP.932' ... Japanese cp932*, <li> 'ja_JP.PCK_v2' ... Japanese PCK (sjis), <li> 'ko' ... Korean, <li> 'no' ... Norwegian, <li> 'nl' ... Dutch, <li> 'pl' ... Polish, <li> 'pt' ... Portuguese, <li> 'ro' ... Romanian, <li> 'ru' ... Russian, <li> 'sk' ... Slovak, <li> 'sl' ... Slovenian, <li> 'sv' ... Swedish, <li> 'tr' ... Turkish, <li> 'zh' ... Simplified Chinese, <li> 'zh.GBK' ... Simplified Chinese (GBK), <li> 'zh_TW' ... Traditional Chinese euc-tw, <li> 'zh_TW.BIG5' ... Traditional Chinese Big 5 </ul> <p> To use UTF-8 as the NFS character set, append '.UTF-8' to the language code.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 raidgroup-size-info

=begin html

Default, minimum and maximum raidgroup size for each RAID type supported on this filer.

=end html



B<Fields>

=over 2

=item * I<default-size>  =>   B<integer>

=begin html

<br>Default size of a RAID group of this type in aggregates. Range : [6..16].

=end html

=back



=over 2

=item * I<disktype>  =>   B<string, optional>

=begin html

<br>Name of the Disk type present on this controller. Possible values include FCAL, ATA, LUN, SAS, SSD, BSAS, FSAS, MSATA and VMDISK.

=end html

=back



=over 2

=item * I<maximum-disk-capacity>  =>   B<size, optional>

=begin html

<br>Maximum capacity (in TB) of the disk for which the raidgroup sizes are specified. This appears only for FSAS family disks of size less than or equal to 4TB. If this field is not present in output then there is no restriction on maximum disk capacity for this raidtype and disktype combination.

=end html

=back



=over 2

=item * I<maximum-size>  =>   B<integer>

=begin html

<br>Maximum size of a RAID group of this type in aggregates. Range : [6..28].

=end html

=back



=over 2

=item * I<minimum-disk-capacity>  =>   B<size, optional>

=begin html

<br>Minimum capacity (in TB) of the disk for which the raidgroup sizes are specified. This appears only for FSAS family disks of size greater than 4TB. If this field is not present in output then there is no restriction on minimum disk capacity for this raidtype and disktype combination.

=end html

=back



=over 2

=item * I<minimum-size>  =>   B<integer>

=begin html

<br>Minimum size of a RAID group of this type in aggregates. Possible values: 2, 3, 5, 7.

=end html

=back



=over 2

=item * I<raidtype>  =>   B<string>

=begin html

<br>Name of the RAID type allowed on this filer. Possible values: raid0, raid4, raid_dp, raid_tec.

=end html

=back



=head2 raidtype-info

=begin html

RAID types allowed on this filer.

=end html



B<Fields>

=over 2

=item * I<raidtype>  =>   B<string>

=begin html

<br>Name of an allowed RAID type. Possible values: raid0, raid4, raid_dp, raid_tec.

=end html

=back



=head2 repos-constituent-role

=begin html

Constituent Roles Possible values: <ul> <li> "none" , <li> "namespace" , <li> "data" , <li> "root" , <li> "ns_mirror" , <li> "member" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 scrub-detail-info

=begin html

Scrubbing information.

=end html



B<Fields>

=over 2

=item * I<is-suspended>  =>   B<boolean>

=begin html

<br>Suspended state of the scrub on that RAID group.

=end html

=back



=over 2

=item * I<last-scrub-timestamp>  =>   B<integer, optional>

=begin html

<br>Time at which the last full scrub completed. If a scrub has never been performed, this value will not be returned. The time value is in seconds since January 1, 1970. Range : [0..2^31-1].

=end html

=back



=over 2

=item * I<percentage-complete>  =>   B<integer, optional>

=begin html

<br>Scrubbing percentage complete. I scrubbing is not active, this value will not be returned. Range : [0..100].

=end html

=back



=over 2

=item * I<raid-group>  =>   B<string>

=begin html

<br>Name of the RAID group involved in the scrub.

=end html

=back



=head2 space-info

=begin html

Space configuration info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<dedupe-metafiles>  =>   B<integer, optional>

=begin html

<br>This field represents space used by deduplication metafiles in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dedupe-metafiles-percent>  =>   B<integer, optional>

=begin html

<br>This field represents space used by deduplication metafiles as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dedupe-metafiles-temporary>  =>   B<integer, optional>

=begin html

<br>This field represents space used by temporary deduplication metafiles in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dedupe-metafiles-temporary-percent>  =>   B<integer, optional>

=begin html

<br>This field represents space used by temporary deduplication metafiles as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<filesystem-metadata>  =>   B<integer, optional>

=begin html

<br>This field represents volume filesystem metadata in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<filesystem-metadata-percent>  =>   B<integer, optional>

=begin html

<br>This field represents volume filesystem metadata as a percentage of volume size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inodes>  =>   B<integer, optional>

=begin html

<br>This field represents space used by inode metadata in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inodes-percent>  =>   B<integer, optional>

=begin html

<br>This field represents space used by inode metadata as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inodes-upgrade>  =>   B<integer, optional>

=begin html

<br>This field represents space used by inode metadata for upgrade in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inodes-upgrade-percent>  =>   B<integer, optional>

=begin html

<br>This field represents space used by inode metadata for upgrade as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<performance-metadata>  =>   B<integer, optional>

=begin html

<br>This field represents metadata in bytes used for performance optimization. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<performance-metadata-percent>  =>   B<integer, optional>

=begin html

<br>This field represents metadata used for performance optimization as a percentage of volume size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-used>  =>   B<integer, optional>

=begin html

<br>The size in bytes that is physically used in the volume. This differs from 'total-used' space by the space that is reserved for future writes. The value includes blocks in use by Snapshot copies. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-used-percent>  =>   B<integer, optional>

=begin html

<br>The size (in percent) that is physically used in the volume. The percentage is based on volume size including the space reserved for Snapshot copies. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<quota-metafiles>  =>   B<integer, optional>

=begin html

<br>This field represents space used by quota metafiles in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<quota-metafiles-percent>  =>   B<integer, optional>

=begin html

<br>This field represents space used by quota metafiles as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapmirror-metadata>  =>   B<integer, optional>

=begin html

<br>This field represents space used by metafiles during SnapMirror operations in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapmirror-metadata-percent>  =>   B<integer, optional>

=begin html

<br>This field represents space used by metafiles during SnapMirror operations as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-reserve>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) in the volume that has been set aside as reserve for snapshot usage. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-reserve-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the snapshot reserve as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-reserve-unusable>  =>   B<integer, optional>

=begin html

<br>This field represents Snapshot reserve that is not available in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-reserve-unusable-percent>  =>   B<integer, optional>

=begin html

<br>This field represents Snapshot reserve that is not available as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-spill>  =>   B<integer, optional>

=begin html

<br>This field represents space used by Snapshot copies when it exceeds the size of the Snapshot reserve in bytes. It is computed as Snapshot used minus Snapshot reserve when Snapshot used exceeds Snapshot reserve. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-spill-percent>  =>   B<integer, optional>

=begin html

<br>This field represents Snapshot spill as a percentage of volume size. It is computed as Snapshot used minus Snapshot reserve when Snapshot used exceeds Snapshot reserve. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tape-backup-metadata>  =>   B<integer, optional>

=begin html

<br>This fields represents the tape backup metadata in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<tape-backup-metadata-percent>  =>   B<integer, optional>

=begin html

<br>This field represents the tape backup metadata as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-used>  =>   B<integer, optional>

=begin html

<br>Total used space in the volume including snapshot reserve in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-used-percent>  =>   B<integer, optional>

=begin html

<br>Total used space in the volume including snapshot reserve as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<user-data>  =>   B<integer, optional>

=begin html

<br>This field represents user data in bytes. Alternatively, this is the space reserved to overwrite the data in the volume. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<user-data-percent>  =>   B<integer, optional>

=begin html

<br>This field represents user data as a percentage of volume size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>Name of the volume for which the space usage is requested. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver that contains the volumes for which the space usage is requested. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 space-slo-enum

=begin html

none|thick|semi-thick Possible values: <ul> <li> "none" , <li> "thick" , <li> "semi_thick" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-service-id

=begin html

The Storage Service Identifier

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-service-info

=begin html

Storage Services When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<constituent-group-id>  =>   B<integer, optional>

=begin html

<br>Constituent Group ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-service>  =>   B<storage-service-name, optional>

=begin html

<br>Storage Service Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-service-id>  =>   B<storage-service-id, optional>

=begin html

<br>Storage Service ID Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-service-type>  =>   B<storage-service-type, optional>

=begin html

<br>Storage Service Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "legacy" - No Support for Storage Services, <li> "normal" - Support For Storage Services </ul>

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 storage-service-name

=begin html

The name of the Storage Service.

=end html



B<Fields>

=over 2

=item * None

=back



=head2 storage-service-type

=begin html

legacy|normal Possible values: <ul> <li> "legacy" - No Support for Storage Services, <li> "normal" - Support For Storage Services </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 volstyle

=begin html

flex|infinitevol Possible values: <ul> <li> "flex" - Flexible Volume, <li> "infinitevol" - Infinite Volume </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 volume-64bit-upgrade-attributes

=begin html

Information related to 64-bit upgrade.

=end html



B<Fields>

=over 2

=item * I<volume-64bit-upgrade-check-attributes>  =>   B<L<"volume-64bit-upgrade-check-attributes">, optional>

=begin html

<br>Information returned when 'upgrade-64bit-mode' input in 'aggr-add' is 'check'. Upgrade check results such as 'used-space', 'available-space', 'capacity', and 'grow-space' are only updated after the space estimate is completed successfully.

=end html

=back



=head2 volume-64bit-upgrade-check-attributes

=begin html

Information returned when 'upgrade-64bit-mode' in 'aggr-add' is 'check'.

=end html



B<Fields>

=over 2

=item * I<age>  =>   B<integer, optional>

=begin html

<br>The age in seconds of the space check results. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<available-space>  =>   B<integer, optional>

=begin html

<br>Amount of space (in bytes) that would be available in the volume after it is upgraded to 64-bit. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<capacity>  =>   B<integer, optional>

=begin html

<br>Percentage of space that would be used in the volume after it is upgraded to 64-bit. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<check-last-errno>  =>   B<integer, optional>

=begin html

<br>The error code of the last attempt to check for space usage on the specific volume. This field is present only if a 64-bit upgrade check was previously attempted. Possible values: 0 - indicates success EVOLUME_64BIT_UPGRADE_KIREETI_NOT_AVAIL Upgrade check results may be out of date if check-last-errno is not 0. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<grow-space>  =>   B<integer, optional>

=begin html

<br>Amount of space (in bytes) the volume must be grown by before successfully upgrading its current data. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used-space>  =>   B<integer, optional>

=begin html

<br>Amount of space (in bytes) that would be used in the volume after it is upgraded to 64-bit. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-antivirus-attributes

=begin html

{Deprecated, this field does not have any effect on the operation of the volume.} Information about Antivirus settings for the volume.

=end html



B<Fields>

=over 2

=item * I<on-access-policy>  =>   B<string, optional>

=begin html

<br>{Deprecated, this field does not have any effect on the operation of the volume.} The name of the Antivirus On-Access policy. The default policy name is 'default'. <p> If not specified when creating a volume, the Antivirus On-Access Policy is inherited from the owning vserver. Currently, this policy can only be managed using the 'antivirus' command line interfaces. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-attributes

=begin html

Attributes of a volume. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<encrypt>  =>   B<boolean, optional>

=begin html

<br>To create an encrypted Volume. <p> This option when set to 'true', it will generate a new key and create an encrypted volume using that key. Before that, the vserver should be configured with the key-manager. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<key-id>  =>   B<string, optional>

=begin html

<br>The key-id used for creating encrypted volume. <p> A new key will be generated for creating an encrypted volume. This key-id is associated with the generated key. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-64bit-upgrade-attributes>  =>   B<L<"volume-64bit-upgrade-attributes">, optional>

=begin html

<br>Information related to 64-bit upgrade. After 64-bit upgrade completes, this information is no longer available.

=end html

=back



=over 2

=item * I<volume-antivirus-attributes>  =>   B<L<"volume-antivirus-attributes">, optional>

=begin html

<br>This field contains information about Antivirus On-Access settings for the volume.

=end html

=back



=over 2

=item * I<volume-autobalance-attributes>  =>   B<L<"volume-autobalance-attributes">, optional>

=begin html

<br>This field contains information about the state of Auto Balance Aggregate for a volume.

=end html

=back



=over 2

=item * I<volume-autosize-attributes>  =>   B<L<"volume-autosize-attributes">, optional>

=begin html

<br>This field contains information about the autosize settings of the volume.

=end html

=back



=over 2

=item * I<volume-clone-attributes>  =>   B<L<"volume-clone-attributes">, optional>

=begin html

<br>This field contains information applying exclusively to clone volumes.

=end html

=back



=over 2

=item * I<volume-comp-aggr-attributes>  =>   B<L<"volume-comp-aggr-attributes">, optional>

=begin html

<br>This field contains information about composite aggregate attributes of a volume.

=end html

=back



=over 2

=item * I<volume-directory-attributes>  =>   B<L<"volume-directory-attributes">, optional>

=begin html

<br>This field contains information related to directories in a volume.

=end html

=back



=over 2

=item * I<volume-export-attributes>  =>   B<L<"volume-export-attributes">, optional>

=begin html

<br>This field contains information about export settings of the volume.

=end html

=back



=over 2

=item * I<volume-flexcache-attributes>  =>   B<L<"volume-flexcache-attributes">, optional>

=begin html

<br>This field contains information applying exclusively to flexcache volumes.

=end html

=back



=over 2

=item * I<volume-hybrid-cache-attributes>  =>   B<L<"volume-hybrid-cache-attributes">, optional>

=begin html

<br>This field contains information on Flash Pool caching attributes on a volume

=end html

=back



=over 2

=item * I<volume-id-attributes>  =>   B<L<"volume-id-attributes">, optional>

=begin html

<br>This field contains identification information about the volume.

=end html

=back



=over 2

=item * I<volume-infinitevol-attributes>  =>   B<L<"volume-infinitevol-attributes">, optional>

=begin html

<br>This field contains information about the state of an Infinite Volume.

=end html

=back



=over 2

=item * I<volume-inode-attributes>  =>   B<L<"volume-inode-attributes">, optional>

=begin html

<br>This field contains information about inodes in a volume.

=end html

=back



=over 2

=item * I<volume-language-attributes>  =>   B<L<"volume-language-attributes">, optional>

=begin html

<br>This field contains information about volume language-related settings.

=end html

=back



=over 2

=item * I<volume-mirror-attributes>  =>   B<L<"volume-mirror-attributes">, optional>

=begin html

<br>This field contains information applying exclusive to volume mirror.

=end html

=back



=over 2

=item * I<volume-performance-attributes>  =>   B<L<"volume-performance-attributes">, optional>

=begin html

<br>This field contains information that relates to the performance of the volume.

=end html

=back



=over 2

=item * I<volume-qos-attributes>  =>   B<L<"volume-qos-attributes">, optional>

=begin html

<br>This field contains the information that relates to QoS.

=end html

=back



=over 2

=item * I<volume-security-attributes>  =>   B<L<"volume-security-attributes">, optional>

=begin html

<br>This field contains information about volume security settings.

=end html

=back



=over 2

=item * I<volume-sis-attributes>  =>   B<L<"volume-sis-attributes">, optional>

=begin html

<br>This field contains information about Deduplication, file clone, compression, etc.

=end html

=back



=over 2

=item * I<volume-snaplock-attributes>  =>   B<L<"volume-snaplock-attributes">, optional>

=begin html

<br>This field contains information about snaplock attributes of the volume.

=end html

=back



=over 2

=item * I<volume-snapshot-attributes>  =>   B<L<"volume-snapshot-attributes">, optional>

=begin html

<br>This field contains information applying exclusively to all the snapshots in the volume. Volume disk space-related settings are excluded.

=end html

=back



=over 2

=item * I<volume-snapshot-autodelete-attributes>  =>   B<L<"volume-snapshot-autodelete-attributes">, optional>

=begin html

<br>This field contains information about snapshot autodelete policy settings.

=end html

=back



=over 2

=item * I<volume-space-attributes>  =>   B<L<"volume-space-attributes">, optional>

=begin html

<br>This field contains information related to volume disk space management including on-disk layout.

=end html

=back



=over 2

=item * I<volume-state-attributes>  =>   B<L<"volume-state-attributes">, optional>

=begin html

<br>This field contains information about the state or status of a volume or its features.

=end html

=back



=over 2

=item * I<volume-striping-attributes>  =>   B<L<"volume-striping-attributes">, optional>

=begin html

<br>This field contains information applying exclusively to striped volumes.

=end html

=back



=over 2

=item * I<volume-transition-attributes>  =>   B<L<"volume-transition-attributes">, optional>

=begin html

<br>This field contains information applying exclusively to transitioned or transitioning volumes.

=end html

=back



=over 2

=item * I<volume-vm-align-attributes>  =>   B<L<"volume-vm-align-attributes">, optional>

=begin html

<br>This field contains information related to the Virtual Machine alignment settings on a volume

=end html

=back



=over 2

=item * I<volume-vserver-dr-protection-attributes>  =>   B<L<"volume-vserver-dr-protection-attributes">, optional>

=begin html

<br>This fields contains information about protection type for the volume in a Vserver DR setup.

=end html

=back



=head2 volume-autobalance-attributes

=begin html

Information about the Auto Balance Aggregate state of a volume.

=end html



B<Fields>

=over 2

=item * I<is-autobalance-eligible>  =>   B<boolean, optional>

=begin html

<br>When set to 'true', the volume is included in Auto Balance aggregate processing. When set to 'false', the volume is excluded from Auto Balance aggregate processing. This field is not set on FlexGroups. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-autobalance-info

=begin html

Auto Balance Volume Typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<progress>  =>   B<string, optional>

=begin html

<br>Specifies the progress of the Auto Balance Volume operation as a free form message. As Auto Balance Volume moves data, the progress is updated based on current success and error conditions. If the operation is partial or blocked, the reason will be specified. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<autobalance-volume-state, optional>

=begin html

<br>Specifies the state of the Auto Balance Volume operation. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "running" - Running, <li> "partial" - Partial, <li> "blocked" - Blocked, <li> "stopped" - Stopped, <li> "completed" - Completed </ul>

=end html

=back



=over 2

=item * I<storage-service>  =>   B<storage-service-name, optional>

=begin html

<br>If the Infinite Volume uses storage services, the storage-service parameter specifies the storage service being rebalanced. If the Infinite Volume does not use storage services, the storage-service parameter is ignored, as the entire Infinite Volume is being rebalanced. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<target-bytes>  =>   B<size, optional>

=begin html

<br>Specifies the target amount of data to be transferred, in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transferred-bytes>  =>   B<size, optional>

=begin html

<br>Specifies the amount of data that has been transferred, in bytes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transferred-percent>  =>   B<integer, optional>

=begin html

<br>Specifies the completion percentage of the Auto Balance Volume operation. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-name>  =>   B<volume-name, optional>

=begin html

<br>Specifies the Infinite Volume to be rebalanced. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 volume-autosize-attributes

=begin html

Information about autosize settings of the volume.

=end html



B<Fields>

=over 2

=item * I<grow-threshold-percent>  =>   B<integer, optional>

=begin html

<br>Used space threshold which triggers autogrow. When the volume-info.size-used is greater than this percent of volume-info.size-total, the volume will be grown. The computed value is rounded down. The default value of this element varies from 85% to 98%, depending on the volume size. It is an error for the grow threshold to be less than or equal to the shrink threshold. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<increment-percent>  =>   B<integer, optional>

=begin html

<br>This parameter is deprecated. In a future release, its value will be computed based on other autosize settings. Using this value, the increment size will be computed as a percentage of the volume size at the time autosize was enabled. The default value is 5%. The increment-percent element is mutually exclusive with increment-size, and an error will be generated if both are specified. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<increment-size>  =>   B<integer, optional>

=begin html

<br>This parameter is deprecated. In a future release, its value will be computed based on other autosize settings. This is the increment size (in bytes) by which the volume would be grown. The default value is 5%. Increment-size and increment-percent are mutually exclusive, and an error will be generated if both are specified. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-enabled>  =>   B<boolean, optional>

=begin html

<br>This element is deprecated in Data ONTAP 8.2 and later. Please use autosize-mode instead. Setting this parameter to 'true' enables the 'grow' mode, while setting it to 'false' disables autosize and sets the autosize mode to 'off'. The default value is 'false'. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<maximum-size>  =>   B<integer, optional>

=begin html

<br>The maximum size (in bytes) to which the volume would be grown automatically. The default value is 20% greater than the volume size. It is an error for the maximum volume size to be less than the current volume size. It is also an error for the maximum size to be less than or equal to the minimum size. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<minimum-size>  =>   B<integer, optional>

=begin html

<br>The minimum size (in bytes) below which the volume would not be shrunk automatically. The default value is the initial size of the volume. It is an error for the minimum size to be greater than or equal to the maximum size. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<mode>  =>   B<string, optional>

=begin html

<br>The current mode of operation of volume autosize. Valid modes are 'off', 'grow', and 'grow_shrink'. The default mode is 'off'. <p> Attributes: optional-for-create, modifiable Possible values: <ul> <li> "off" , <li> "grow" , <li> "grow_shrink" </ul>

=end html

=back



=over 2

=item * I<reset>  =>   B<boolean, optional>

=begin html

<br>Resets the values of autosize, max-autosize, min-autosize, autosize-shrink-threshold-percent, autosize-grow-threshold-percent and autosize-mode to their defaults. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<shrink-threshold-percent>  =>   B<integer, optional>

=begin html

<br>The used space threshold below which autoshrink is triggered. When the volume-info.size-used is less than this percent of volume-info.size-total, the volume will be shrunk. The computed value is rounded down. The default shrink theshold is 50%. It is an error for the shrink threshold to be greater than or equal to the grow threshold. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-clone-attributes

=begin html

Information about volume clones.

=end html



B<Fields>

=over 2

=item * I<clone-child-count>  =>   B<integer, optional>

=begin html

<br>Number of clones for which this volume is the parent. This field is not set on FlexGroups. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-clone-parent-attributes>  =>   B<L<"volume-clone-parent-attributes">, optional>

=begin html

<br>This field appears for a flexible volume if it is a clone of another flexible volume, describing the clone's parentage. This field is not set on FlexGroups.

=end html

=back



=head2 volume-clone-info

=begin html

Volume FlexClone typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate>  =>   B<string, optional>

=begin html

<br>FlexClone Aggregate Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<block-percentage-complete>  =>   B<integer, optional>

=begin html

<br>Block Percentage Complete Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocks-scanned>  =>   B<integer, optional>

=begin html

<br>Blocks Scanned Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<blocks-updated>  =>   B<integer, optional>

=begin html

<br>Blocks Updated Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dsid>  =>   B<integer, optional>

=begin html

<br>FlexClone Data Set ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flexclone-used-percent>  =>   B<integer, optional>

=begin html

<br>FlexClone Used Percentage Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inode-percentage-complete>  =>   B<integer, optional>

=begin html

<br>Inode Percentage Complete Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inodes-processed>  =>   B<integer, optional>

=begin html

<br>Inodes Processed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inodes-total>  =>   B<integer, optional>

=begin html

<br>Total Inodes Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<junction-active>  =>   B<boolean, optional>

=begin html

<br>Junction Active Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<junction-path>  =>   B<string, optional>

=begin html

<br>Junction Path Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<msid>  =>   B<integer, optional>

=begin html

<br>FlexClone Master Data Set ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<parent-snapshot>  =>   B<string, optional>

=begin html

<br>FlexClone Parent Snapshot Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<parent-volume>  =>   B<string, optional>

=begin html

<br>FlexClone Parent Volume Attributes: required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<parent-vserver>  =>   B<string, optional>

=begin html

<br>FlexClone Parent Vserver Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<qos-adaptive-policy-group-name>  =>   B<string, optional>

=begin html

<br>QoS Adaptive Policy Group Name Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<qos-policy-group-name>  =>   B<string, optional>

=begin html

<br>QoS Policy Group Name Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<size>  =>   B<integer, optional>

=begin html

<br>FlexClone Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<space-guarantee-enabled>  =>   B<boolean, optional>

=begin html

<br>Space Guarantee In Effect Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<space-reserve>  =>   B<string, optional>

=begin html

<br>Space Guarantee Style Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "none" , <li> "volume" </ul>

=end html

=back



=over 2

=item * I<split-estimate>  =>   B<integer, optional>

=begin html

<br>Split Estimate Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>FlexClone Volume State Possible values are: <ul> <li>'online',</li> <li>'offline',</li> <li>'restricted'.</li> </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<used>  =>   B<integer, optional>

=begin html

<br>Used Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<string, optional>

=begin html

<br>FlexClone Volume Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<volume-type>  =>   B<string, optional>

=begin html

<br>The type of the volume to be created. <p> Possible values: <ul> <li> 'rw' ... read-write volume, <li> 'dp' ... data-protection volume </ul> <p> Default value is 'rw'. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-dr-protection>  =>   B<string, optional>

=begin html

<br>Indicates whether the volume will be replicated to the destination in a Vserver DR setup. Possible values are: <ul> <li>'protected'</li> <li>'unprotected'</li> </ul> Attributes: optional-for-create, modifiable Possible values: <ul> <li> "protected" - Volume is protected by Vserver DR, <li> "unprotected" - Volume is not protected by Vserver DR </ul>

=end html

=back



=head2 volume-clone-parent-attributes

=begin html

Information describing the parentage of a clone volume.

=end html



B<Fields>

=over 2

=item * I<dsid>  =>   B<integer, optional>

=begin html

<br>The clone parent volume's Data Set ID. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<msid>  =>   B<integer, optional>

=begin html

<br>The clone's parent volume's Mirror Set ID. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<volume-name, optional>

=begin html

<br>The clone parent volume's human-readable name. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-id>  =>   B<integer, optional>

=begin html

<br>The clone parent volume's base snapshot identifier. <p> The only legal value for a snapshot identifier is its Data Set ID. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-name>  =>   B<string, optional>

=begin html

<br>The clone parent volume's base snapshot name. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>The clone parent volume's UUID. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<vserver-name, optional>

=begin html

<br>The Vserver under which the clone parent volume resides. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-comp-aggr-attributes

=begin html

Information related to composite aggregate attributes of a volume.

=end html



B<Fields>

=over 2

=item * I<tiering-policy>  =>   B<string, optional>

=begin html

<br>The tiering policy associated with this volume. <p> This policy decides whether the blocks of a volume will be tiered to the capacity tier when they become cold. The possible values for this field are: <ul> <li> 'snapshot-only' - This policy allows tiering of only the volume snapshot copies not associated with the active file system. <li> 'none' - Volume blocks will not be tiered to the capacity tier. <li> 'backup' - On DP volumes this policy allows all transferred user data blocks to start in the capacity tier. </ul> Default tiering policy is snapshot-only. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-directory-attributes

=begin html

Information related to directories in the volume.

=end html



B<Fields>

=over 2

=item * I<i2p-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, native inode-to-parent information is kept for inodes. By default, this field is true. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<index-dir-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, index directory format is enabled. Default: false. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-dir-size>  =>   B<integer, optional>

=begin html

<br>The maximum size (in bytes) to which any directory in this volume can grow. <p> The default maximum directory size is set to 1% of the system memory. So if the system memory is 1GB, then the maximum directory size value will be 10MB which allows upto 300,000 files. The number of files that the directory actually can hold varies depending on such things as the length of the names and whether it needs to use double-byte UNICODE characters. <p> Most users should not need to change this field's default setting. It is useful for environments where system users may grow a directory to a size that starts impacting system performance. When a user tries to create a file in a directory that is at the limit, the system returns a ENOSPC error and fails the create. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<root-dir-gen>  =>   B<string, optional>

=begin html

<br>This field contains the generation number of the root directory. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-encryption-conversion-info

=begin html

Volume Encryption Conversion typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<percentage-completed>  =>   B<integer, optional>

=begin html

<br>Percentage Completed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<datetime, optional>

=begin html

<br>Start Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 volume-encryption-rekey-info

=begin html

Volume Encryption Rekey typedef When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<percentage-completed>  =>   B<integer, optional>

=begin html

<br>Percentage Completed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<datetime, optional>

=begin html

<br>Start Time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<string, optional>

=begin html

<br>Status Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 volume-export-attributes

=begin html

Information about export settings of the volume.

=end html



B<Fields>

=over 2

=item * I<policy>  =>   B<string, optional>

=begin html

<br>The name of the Export Policy to be used by NFS/CIFS protocols. The default policy name is 'default'. FlexGroups do not support policies that allow NFSv4 protocol access. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-flexcache-attributes

=begin html

Information about FlexCache volumes.

=end html



B<Fields>

=over 2

=item * I<cache-policy>  =>   B<cache-policy, optional>

=begin html

<br>The name of the cache policy. <p> The default policy name is 'default'. <p> This policy applies only to FlexCache volumes and can be created using the 'flexcache-cache-policy-create' API. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<fill-policy>  =>   B<cache-policy, optional>

=begin html

<br>The name of the fill policy. <p> The default policy name is 'default'. <p> This policy applies only to FlexCache volumes and can be created using the 'flexcache-fill-policy-create' API. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<min-reserve>  =>   B<size, optional>

=begin html

<br>The amount of space requested to be preallocated in the aggregate hosting the FlexCache volume. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<origin>  =>   B<volume-name, optional>

=begin html

<br>The name of the origin volume that contains the authoritative data. This field is valid only for a FlexCache volume. The origin volume must belong to the same vserver that owns this volume. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=head2 volume-hybrid-cache-attributes

=begin html

Information about the Flash Pool caching attributes of a volume.

=end html



B<Fields>

=over 2

=item * I<cache-retention-priority>  =>   B<string, optional>

=begin html

<br>The cache retention priority policy associated with this volume. <p> The cache retention priority that is to be associated with the volume. This policy decides how long blocks of a volume will be cached in flash pool once they become cold. The possible values for this field are: <ul> <li>low - Cache the cold blocks for the lowest time.</li> <li>normal - Cache the cold blocks for the default time.</li> <li>high - Cache the cold blocks for the highest time.</li> </ul> Default cache retention priority is normal. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<caching-policy>  =>   B<string, optional>

=begin html

<br>The caching policy associated with this volume. <p> The caching policy that is to be associated with the volume. The policy decides how the flash pool caching has to happen for the volume. The possible values for this value are: <ul> <li>none - Does not cache any user data or metadata blocks.</li> <li>auto - Read caches all metadata blocks and randomly read user data blocks, and write caches all randomly overwritten user data blocks.</li> <li>meta - Read caches only metadata blocks.</li> <li>random_read - Read caches all metadata and randomly read user data blocks.</li> <li>random_read_write - Read caches all metadata, randomly read and randomly written user data blocks.</li> <li>all_read - Read caches all metadata, randomly read and sequentially read user data blocks.</li> <li>all_read_random_write - Read caches all metadata, randomly read, sequentially read and randomly written user data.</li> <li>all - Read caches all data blocks read and written. It does not do any write caching.</li> <li>noread-random_write - Write caches all randomly overwritten user data blocks. It does not do any read caching.</li> <li>meta-random_write - Same as meta and noread-random_write.</li> <li>random_read_write-random_write - Same as random_read_write and noread-random_write.</li> <li>all_read-random_write - Same as all_read and noread-random_write.</li> <li>all_read_random_write-random_write - Same as all_read_random_write and noread-random_write.</li> <li>all-random_write - Same as all and noread-random_write.</li> </ul> Note that in a caching-policy name, a hyphen (-) separates read and write policies. Default caching-policy is auto. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<eligibility>  =>   B<string, optional>

=begin html

<br>Flash Pool caching eligibility of a volume <p> Possible values: <ul> <li> 'read' ... Indicates that the volume cannot participate in write caching, <li> 'read-write' ... Indicates that the volume can participate in read and write caching, </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<write-cache-ineligibility-reason>  =>   B<string, optional>

=begin html

<br>If the volume cannot participate in write caching, then this field explains the reason. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-id-attributes

=begin html

Identification information about a volume.

=end html



B<Fields>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>The array of aggregates which are used for FlexGroup constituents. Each aggregate in the array will host at least one FlexGroup constituent. <p> This field is returned only if it is explicitly requested using desired-attributes. <p> This parameter is only supported on FlexGroups. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<application>  =>   B<string, optional>

=begin html

<br>The application with which the Volume is associated. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<application-uuid>  =>   B<uuid, optional>

=begin html

<br>The unique identifier of the volume's application. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>A description for the volume. Range:[0..1023] <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<constituent-role>  =>   B<repos-constituent-role, optional>

=begin html

<br>This field specifies the role of a constituent within another volume. This field is not set for Flexible Volumes which are not part of an Infinite Volume. <p> Possible values: <ul> <li> 'namespace' ... namespace constituent, <li> 'data' ... data constituent </ul> <p> Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "namespace" , <li> "data" </ul>

=end html

=back



=over 2

=item * I<containing-aggregate-name>  =>   B<string, optional>

=begin html

<br>The name of the aggregate in which the given flexible volume resides. This field is not set on FlexGroups. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<containing-aggregate-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128-bit universally-unique identifier of the aggregate in which the given volume resides. This field is not set on FlexGroups. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<creation-time>  =>   B<integer, optional>

=begin html

<br>Creation time of the volume in seconds since January 1, 1970. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<dsid>  =>   B<integer, optional>

=begin html

<br>The volume's Data Set ID. This field is not set on FlexGroups. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<extent-size>  =>   B<string, optional>

=begin html

<br>Default extent size of a volume. <p> Possible values: <ul> <li> '4K' 4K, <li> '8K' 8K <li> '16K' 16K <li> '32K' 32K </ul> <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<flexgroup-index>  =>   B<integer, optional>

=begin html

<br>The index of the constituent within its FlexGroup. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<flexgroup-msid>  =>   B<integer, optional>

=begin html

<br>The Mirror Set ID of a FlexGroup or a constituent's FlexGroup. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<flexgroup-uuid>  =>   B<uuid, optional>

=begin html

<br>Universal unique identifier (UUID) for the constituent's FlexGroup or the FlexGroup itself. This value only applies to FlexGroups and FlexGroup constituents. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<fsid>  =>   B<string, optional>

=begin html

<br>The File System Identifier (FSID) value that serves as one of this volume's internal indicies. This field is not set on FlexGroups. <p> This value serves as an internal index for a volume. All volumes on a given controller must have unique FSIDs, except for the two special values described below: <p> A value of 0 indicates that this volume does not currently have a legal FSID for some unexpected reason. Such volumes are forcibly kept offline until this attribute is assigned a legal value. <p> A value of 1 indicates that this volume has recently appeared on its current controller due to having its aggregate be copied from a different controller. All volumes in this newly-created aggregate must be assigned legal, controller-unique IDs when they are onlined. That will be handled automatically by WAFL upon mount. <p> If modifiable, this field may be set only when the volume is restricted. It may be set to any value that is not currently being used by any other volume on the same controller. If a request to set this value to '0' is received, the system will select a new value that is currently unused. Note that setting a volume's FSID sometimes has external effects. In particular, a 7-Mode volume's FSID is part of the NFS file handles constructed for its files. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<instance-uuid>  =>   B<uuid, optional>

=begin html

<br>Universal unique identifier (UUID) for the volume that remains unchanged when the volume is moved to a new location. This differs from the volume's regular UUID which changes after a move. The instance UUID can be used to identify a volume even after it is moved. This field is valid for flexible volumes only. <p> UUIDs are formatted as 36-character strings. These strings are composed of 32 hexadecimal characters broken up into five groupings separated by '-'s. The first grouping has 8 hex characters, the second through fourth groupings have four hex characters each, and the fifth and final grouping has 12 hex characters. Note that a leading '0x' is not used. <p> Here is an example of an actual UUID: <p> 49e370d6-5b5a-11d9-9eb5-000100000529 <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<junction-parent-name>  =>   B<volume-name, optional>

=begin html

<br>The name of the parent volume that contains the junction inode of this volume. <p> The junction parent volume must belong to the same vserver that owns this volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<junction-path>  =>   B<junction-path, optional>

=begin html

<br>The Junction Path at which this volume is mounted. This field is valid only for a Cluster-Mode volume. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<msid>  =>   B<integer, optional>

=begin html

<br>The volume's Mirror Set ID. <p> This field is valid only for a Cluster-Mode volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<name>  =>   B<volume-name, optional>

=begin html

<br>The name of the volume. <p> Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<name-ordinal>  =>   B<string, optional>

=begin html

<br>The ordinal assignment used in relation to this volume's name. This field is not set on FlexGroups. <p> Ordinals are used to disambiguate volumes that have the same base name on the same controller. A value of zero indicates that the base volume name is unique on a controller. A value greater than zero indicates that the volume's base name is used by two or more volumes on the same controller, and that appending '(n)' to this volume's name uniquely identifies it on that controller. A value of -1 indicates that the name ordinal has not yet been determined. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>The current node name the volume is associated with. The node name can change due to a volume move. This field is not set on FlexGroups. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<nodes>  =>   B<node-name[], optional>

=begin html

<br>The array of nodes which host one or more of this FlexGroup's constituents. <p> This field is returned only if it is explicitly requested using desired-attributes. <p> This parameter is only supported on FlexGroups. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<owning-vserver-name>  =>   B<string, optional>

=begin html

<br>The name of the Vserver that owns this volume. <p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<owning-vserver-uuid>  =>   B<uuid, optional>

=begin html

<br>The 128-bit universally-unique identifier for the vserver that currently owns this volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<provenance-uuid>  =>   B<uuid, optional>

=begin html

<br>Universal unique identifier (UUID) for the volume that is used to identify the source volume in a mirroring relationship. When the mirroring relationship is broken, a volume's Instance UUID and Provenance UUID are made identical. An unmirrored volume's Provenance UUID is the same as its Instance UUID. This field is valid for flexible volumes only. <p> UUIDs are formatted as 36-character strings. These strings are composed of 32 hexadecimal characters broken up into five groupings separated by '-'s. The first grouping has 8 hex characters, the second through fourth groupings have four hex characters each, and the fifth and final grouping has 12 hex characters. Note that a leading '0x' is not used. <p> Here is an example of an actual UUID: <p> 49e370d6-5b5a-11d9-9eb5-000100000529 <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<style>  =>   B<volstyle, optional>

=begin html

<br>The style of the volume. <p> Possible values: <ul> <li> 'flex' ... FlexVol, <li> 'infinitevol' . Infinite Volume </ul> <p> Default value is 'flex'. <p> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "flex" - Flexible Volume, <li> "infinitevol" - Infinite Volume </ul>

=end html

=back



=over 2

=item * I<style-extended>  =>   B<string, optional>

=begin html

<br>The extended style of the volume. <p> Possible values: <ul> <li> 'flexvol' FlexVol, <li> 'infinitevol' Infinite Volume <li> 'infinitevol-constituent' Infinite Volume constituent <li> 'flexgroup' FlexGroup <li> 'flexgroup-constituent' FlexGroup constituent </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<type>  =>   B<string, optional>

=begin html

<br>The type of the volume. <p> Possible values: <ul> <li> 'rw' ... read-write volume, <li> 'ls' ... load-sharing volume, <li> 'dp' ... data-protection volume, <li> 'dc' ... data-cache volume (FlexCache), <li> 'tmp' ... temporary volume (not valid for create) </ul> <p> Default value is 'rw'. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>Universal unique identifier (UUID) for this volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-infinitevol-attributes

=begin html

Information about the state of an Infinite Volume.

=end html



B<Fields>

=over 2

=item * I<constituent-role>  =>   B<repos-constituent-role, optional>

=begin html

<br>This field specifies the role of a constituent within a FlexGroup or an Infinite Volume. This field is only supported for FlexGroup and Infinite Volume constituents. <p> Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "none" , <li> "namespace" , <li> "data" , <li> "root" , <li> "ns_mirror" , <li> "member" </ul>

=end html

=back



=over 2

=item * I<enable-snapdiff>  =>   B<boolean, optional>

=begin html

<br>Whether to enable Snapdiff. If enabled, the namespace mirrors will be created for Snapdiff use. The default value is false. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-managed-by-service>  =>   B<boolean, optional>

=begin html

<br>Specifies if the volume is managed by GUI services. The deafult value is false. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-data-constituent-size>  =>   B<size, optional>

=begin html

<br>The maximum size of each data constituent in bytes. The default value is determined by checking the maximum FlexVol size setting on all nodes used by the Infinite Volume. The smallest value found is chosen as the default for the max-data-constituent-size for the Infinite Volume. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-namespace-constituent-size>  =>   B<size, optional>

=begin html

<br>The maximum size of the namespace constituent. The default value is 10TB. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<namespace-mirror-aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>Specifies an array of names of aggregates to be used for Infinite Volume Namespace Mirror constituents. If this input is not specified all the aggregates assigned to the Vserver are used. If the argument 'enable-snapdiff' is being set to 'true', and the Infinite Volume is managed by storage services, a value must be provided. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<storage-service>  =>   B<string, optional>

=begin html

<br>The name of the initial storage service for the Infinite Volume. This can only be provided if is-managed-by-service is true. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-inode-attributes

=begin html

Information about inodes in the volume.

=end html



B<Fields>

=over 2

=item * I<block-type>  =>   B<string, optional>

=begin html

<br>The indirect block format of the volume. <p> Possible values: <ul> <li> '32_bit', <li> '64_bit' </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<files-private-used>  =>   B<integer, optional>

=begin html

<br>Number of system (not user-visible) files (inodes) used. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<files-total>  =>   B<integer, optional>

=begin html

<br>Total user-visible file (inode) count, i.e., current maximum number of user-visible files (inodes) that this volume can currently hold. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<files-used>  =>   B<integer, optional>

=begin html

<br>Number of user-visible files (inodes) used. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inodefile-private-capacity>  =>   B<integer, optional>

=begin html

<br>Number of inodes that can currently be stored on disk for system (not user-visible) files. This number will dynamically increase as more system files are created. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inodefile-public-capacity>  =>   B<integer, optional>

=begin html

<br>Number of inodes that can currently be stored on disk for user-visible files. This number will dynamically increase as more user-visible files are created. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<inofile-version>  =>   B<integer, optional>

=begin html

<br>The inofile version. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-language-attributes

=begin html

Information about the volume language settings.

=end html



B<Fields>

=over 2

=item * I<is-convert-ucode-enabled>  =>   B<boolean, optional>

=begin html

<br>This field controls whether all directories in this volume are forcibly converted to UNICODE format when accessed from both NFS and CIFS. The default value for 7-Mode volumes is false, in which case access from CIFS causes conversion of pre-4.0 and 4.0-format directories, and access from NFS causes conversion to 4.0-format directories. The default value for Cluster-Mode volumes is true. <p> Note that this field can be set to false if and only if the volume is a 7-Mode volume, or a Cluster-Mode volume that was transitioned from 7-Mode. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-create-ucode-enabled>  =>   B<boolean, optional>

=begin html

<br>This field controls whether all directories in this volume are forced to use the UNICODE format when they are created, both from NFS and CIFS. The default value is false for 7-Mode volumes, in which case all directories are created in pre-4.0 format and only converted to UNICODE format upon the first CIFS access. The default value is true for Cluster-Mode volumes. <p> Note that this field can be set to false if and only if the volume is a 7-Mode volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<language>  =>   B<string, optional>

=begin html

<br>The volume's fully-qualified language mapping, in the form: 'LanguageCode (Full Name).' <p> Example: 'en_US (English (US)).' <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<language-code>  =>   B<language-code, optional>

=begin html

<br>The volume's language code (e.g. 'en_US'). <p> Volume language can be specified using 'language-code' parameter. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<nfs-character-set>  =>   B<string, optional>

=begin html

<br>The NFS language mapping character set that is currently in effect for the volume. <p> This field is of the following format: <ul> <li> '&lt;nfs-character-set&gt;|&lt;display-name&gt;|&lt;asctime&gt;' </ul> Note that '|' is not an OR syntax. <p> &lt;asctime&gt; is the timestamp in the language configuration file header and its format is based on the standard: 'A la ISO/IEC 9945-1, ANSI/IEEE Std 1003.1, Second Edition, 1996-07-12.' <p> It uses the C Programming Language Printf format: <p> <ul> <li> '%.3s %.3s%3d %02d:%02d:%02d %s %d' </ul> <p> This format takes the following parameters in order: <ul> <li> &lt;weekday name&gt;, <li> &lt;month name&gt;, <li> &lt;month day&gt;, <li> &lt;hour&gt;, <li> &lt;minute&gt;, <li> &lt;second&gt; <li> &lt;timezone&gt; OR &lt;''&gt;, <li> &lt;year&gt; </ul> <p> E.g., If the volume language code is set to 'en_US,' the default NFS character set is as follows: <ul> <li> 'iso-8859-1|iso-8859-1|Thu Oct 1 15:00:53 PDT 1998' </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<oem-character-set>  =>   B<string, optional>

=begin html

<br>The OEM language mapping character set that is currently in effect for the volume. <p> This field is of the following format: <ul> <li> '&lt;oem-code-page&gt;|&lt;display-name&gt;|&lt;asctime&gt;' </ul> Note that '|' is not an OR syntax. <p> &lt;asctime&gt; is the timestamp in the language configuration file header and its format is based on the standard: 'A la ISO/IEC 9945-1, ANSI/IEEE Std 1003.1, Second Edition, 1996-07-12.' <p> It uses the C Programming Language Printf format: <ul> <li> '%.3s %.3s%3d %02d:%02d:%02d %s %d' </ul> <p> This format takes the following parameters in order: <ul> <li> &lt;weekday name&gt;, <li> &lt;month name&gt;, <li> &lt;month day&gt;, <li> &lt;hour&gt;, <li> &lt;minute&gt;, <li> &lt;second&gt;, <li> &lt;timezone&gt; OR &lt;''&gt;, <li> &lt;year&gt; </ul> <p> E.g., If the volume language code is set to 'en_US,' the default OEM character set is as follows: <ul> <li> 'cp437|cp437|Thu Oct 1 15:00:53 PDT 1998' </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-mirror-attributes

=begin html

Information about the volume mirror.

=end html



B<Fields>

=over 2

=item * I<is-data-protection-mirror>  =>   B<boolean, optional>

=begin html

<br>True if this is a data protection mirror. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-load-sharing-mirror>  =>   B<boolean, optional>

=begin html

<br>True if this is a load sharing mirror. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-move-mirror>  =>   B<boolean, optional>

=begin html

<br>True if this is a volume move mirror. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-replica-volume>  =>   B<boolean, optional>

=begin html

<br>True if this is a read only replica volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-snapmirror-source>  =>   B<boolean, optional>

=begin html

<br>True if this is a SnapMirror source. <p> For load-sharing relationships a volume becomes a SnapMirror source at the time a SnapMirror relationship with the volume as the source is created. For all other relationship types, a volume does not become a SnapMirror source until just after a snapmirror-initialize of the relationship begins. Also if a snapmirror-release is performed on the relationship, the volume will no longer be considered a SnapMirror source. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<mirror-transfer-in-progress>  =>   B<boolean, optional>

=begin html

<br>True if a SnapMirror transfer is in progress on this mirrored volume. <p> This mirror's active filesystem can be inconsistent during snapmirror transfer. As a result, snapshot create operation is temporary disabled on this mirror until the current transfer session finishes. <p> This field is set to true at the start of a SnapMirror transfer session and set to false at the end of that session. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<redirect-snapshot-id>  =>   B<integer, optional>

=begin html

<br>If the volume is a logical mirror destination or is in the process of being made one, this field indicates the logical-id of the snapshot to which clients are to be redirected. <p> If modifiable, when setting this attribute, invalid snapshot id or a non-existent snapshot id specified will be rejected with error ESNAPSHOTDOESNOTEXIST. Failure to set ('stamp') the attribute in the volume will cause error ESTAMPREDIRECTSNAPIDERROR to be returned. This field can be set only for online volumes. This option is valid only in Cluster-Mode. The volume can be set to have no redirection snapshot by using a value of 0. This option can be set only for Cluster-Mode volumes participating in a logical-mirror relationship. Setting this field on a Cluster-Mode volume which is not a logical mirror destination (yet) will not have any impact on client access or the volume's behavior. The client access will be impacted with regard to this value only when the volume is converted to a logical-mirror destination. <p> When reading this attribute, the value of 0 indicates volume has no redirection snapshot. The field cannot be interpreted authoritatively if the volume is offline or restricted. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-modify-iter-async-info

=begin html

Information about the modify operation that was attempted/performed against volume object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<jobid>  =>   B<integer, optional>

=begin html

<br>Job Id, if this operation was performed via a job.

=end html

=back



=over 2

=item * I<status>  =>   B<string>

=begin html

<br>The operation status. Possible values: "succeeded", "in_progress", "failed".

=end html

=back



=over 2

=item * I<volume-key>  =>   B<L<"volume-attributes">>

=begin html

<br>The keys for the volume object to which the modify operation applies.

=end html

=back



=head2 volume-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against volume object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<volume-key>  =>   B<L<"volume-attributes">>

=begin html

<br>The keys for the volume object to which the modify operation applies.

=end html

=back



=head2 volume-move-info

=begin html

Status of the move operation When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<actual-completion-timestamp>  =>   B<integer, optional>

=begin html

<br>The date and time in cluster timezone when the volume move completed (successfully or otherwise). If the volume move operation completed successfully, this is the time when the volume on the destination aggregate has been made master and the original volume on the source aggregate has been deleted or is no longer a master copy. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<actual-duration>  =>   B<integer, optional>

=begin html

<br>The duration in days, hours, minutes and seconds for which the volume move was or is in progress. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bypass-throttling>  =>   B<boolean, optional>

=begin html

<br>This specifies whether this move should be throttled so protocol operations latencies are not affected by move. If this parameter is specified with true, the move will not be throttled by the transfer engine. The default is false. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<bytes-remaining>  =>   B<integer, optional>

=begin html

<br>The number of bytes remaining to be sent during volume move. This is an approximate number and lags the current status by a few (3) minutes while the volume move is in operation. The bytes-remaining is applicable only for ongoing volume moves. It is not applicable to completed or failed moves. The data inside the volume is considered to be much much larger than data outside the volume. This value most of the time will track data inside the volume yet to be sent. Note that the bytes-remaining can increase over a period of time depending on the rate of change of volume by protocols or other consumers of the volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<bytes-sent>  =>   B<integer, optional>

=begin html

<br>The number of bytes sent thus far as part of volume move. This is an approximate number and lags the current status by a few seconds while the volume move is in operation. The bytes-sent is applicable only for ongoing and successful volume moves. The bytes-sent counter is mononotonically increasing in most cases. It is stored in memory. As a result, any reboots or failover of the move operation can lead to resetting of this counter to a lesser value than reported earlier. The data inside the volume is considered to be much much larger than metadata of the volume, mostly stored outside the volume. This value most of the time will track data inside the volume sent at the time of retreiving status. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<completion-code>  =>   B<integer, optional>

=begin html

<br>The status code of the move operation. The status code will be 0 while the job is running or is successful. It will be non-zero if it is not successful. The code field will be the same as job show's 'status job' field. This field will be in diag mode of the UI. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<completion-status>  =>   B<string, optional>

=begin html

<br>Once a volume move is complete, the final state of the volume move operation. This is available in diag mode only. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-action>  =>   B<string, optional>

=begin html

<br>The action to be taken for cutover or during cutover failure. Can be one of abort_on_failure, defer_on_failure, force or wait. This is the input given during the start of volume move. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cutover-attempted-count>  =>   B<integer, optional>

=begin html

<br>Number of times cutover has been attempted during the move operation. This is a diag only field. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-attempts>  =>   B<integer, optional>

=begin html

<br>The number of attempts to be used by the move operation to cutover to the destination volume. This is the input by the upper layers. If the number of attempts is exhausted, the cutover-action input determines the next course of action for the move operation. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cutover-hard-deferred-count>  =>   B<integer, optional>

=begin html

<br>Number of times cutover has been hard deferred during the move operation due to non-transient, intervention-necessary conditions. This is a diag only field. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-trigger-timestamp>  =>   B<integer, optional>

=begin html

<br>The time when move operation last accepted a trigger to initiate cutover. This is applicable when the move operation is waiting for a cutover to be triggered because of a hard cutover deferred state or because the cutover-action was wait. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-window>  =>   B<integer, optional>

=begin html

<br>The time window in seconds given as input for the cutover phase of volume move. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<cutovers-soft-deferred-count>  =>   B<integer, optional>

=begin html

<br>Number of times cutover has been soft deferred during the move operation due to transient conditions. This is a diag only field. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-aggregate>  =>   B<string, optional>

=begin html

<br>The name of the aggregate where the volume is being moved to. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-key-id>  =>   B<string, optional>

=begin html

<br>This is the encryption key-id of the destination volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-node>  =>   B<string, optional>

=begin html

<br>The name of the node where the destination aggregate is. This will be a diagnostic only field. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<details>  =>   B<string, optional>

=begin html

<br>This field contains details about any warnings, errors and state of the move operation. This is a string field. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<estimated-completion-time>  =>   B<integer, optional>

=begin html

<br>The approximate date and time in the cluster time zone when the entire volume move operation is expected to complete. The move operation completes when the volume instance on the destination aggregate has become the master copy and the volume instance on the source aggregate has been deleted or is no longer the master copy. The format will be in Ontap's Date format. Note that this time may keep increasing when the move goes into Cutover-Deferrred mode. In those cases where the input for cutover-action is wait, during data copy phase, estimated time of completion will approximate the time to reach cutover point and wait for user intervention. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<estimated-remaining-duration>  =>   B<integer, optional>

=begin html

<br>The approximate amount of time in terms of days, hours, minutes and seconds remaining to complete the volume move. Note that this duration will not go down to zero when the move goes into Cutover-Deferrred mode. The duration displayed in the examples is not correct. cutover. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<execution-progress>  =>   B<string, optional>

=begin html

<br>The execution progress of the job as reported by the job. This is used for debugging purposes only and is only available in diag mode. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<internal-state>  =>   B<string, optional>

=begin html

<br>This is the actual internal state of the move job. This is used for debugging purposes only and is only available in diag mode. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-destination-encrypted>  =>   B<boolean, optional>

=begin html

<br>This value is 'true' if the destination volume is an encrypted volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-source-encrypted>  =>   B<boolean, optional>

=begin html

<br>This value will be 'true' if the source volume is an encrypted volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>The ui job id of the move job. This is available in diag mode only. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-uuid>  =>   B<uuid, optional>

=begin html

<br>The job uuid of the move job. This is available in diag mode only. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-cutover-trigger-timestamp>  =>   B<integer, optional>

=begin html

<br>The time when move operation initiated cutover. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<managing-node>  =>   B<string, optional>

=begin html

<br>The node in the cluster on which the move operation/job is or was running. This is usually on the node hosting the volume to be moved. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<moved-by-autobalance>  =>   B<boolean, optional>

=begin html

<br>This value will be 'true' if the move has been initiated by Auto Balance aggregate and 'false' if the move is not related to Auto Balance Aggregate. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<original-job-id>  =>   B<integer, optional>

=begin html

<br>This field will be populated when the move job is restarted with a new Job identifier. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percent-complete>  =>   B<integer, optional>

=begin html

<br>The amount of work to move the volume completed thus far in terms of percentage. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<phase>  =>   B<string, optional>

=begin html

<br>The phase of the move operation. The move operation can have the following phases: <ul> <li>Queued - Phase where the move operation is queued for execution by the cluster. <li>Initializing - Phase where the move operation is setting up resources and initializing them for moving the volume. <li>Replicating - Phase in which move operation is doing data copy from source volume to destination aggregate. <li>Cutover - Phase in which the move operation is attempting to switch over volume to the destination aggregate and ensuring client i/o and system operations go to the volume on the destination aggregate. In this phase client i/o and system operations are temporarily suspended while a final data copy is taking place from the current volume to the destination aggregate. <li>cutover_hard_deferred - Phase in which the move operation is deferring cutover due to some errors in the system during move. The move operation is waiting for corrective action from the admin or MEI tools to take place. The details field contains the reason for the error. <li>cutover_soft_deferred - Phase in which the move operation is deferring cutover due to some transient errors in the system during move. The move operation is replicating in the background and waiting for the transient error which is causing the soft deferral to clear up. If the move operation has not yet started the replication in the background, the 'Detailed Status' field will contain the reason for soft deferral. <li>Completed - The move operation has completed successfully and the volume is now on destination aggregate. <li>Finishing - The move operation performs a cleaning up before completing succesfully and the volume is now on destination aggregate. <li>cleaning_up - The move operation aborted and is in the process of cleaning up. This is a transient condition that will eventually lead to Failed phase. <li>Failed - The move operation was not successful. The details field and the code indicates the reason for the failure. <li>Failed - The move operation did not complete successfully. <li>Restarting - The move operation is restarting. </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<prior-issues>  =>   B<string, optional>

=begin html

<br>The list of issues or transient errors encountered causing the move operation to retry the data copy phase or the cutover phase. For RR.1, there will be only one transient error reported. For later releases, there can be many transient errors seperated by newlines reported, with the order being earliest at top and latest error at the bottom of the list. This is a diag only field. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<replication-throughput>  =>   B<string, optional>

=begin html

<br>The current replication throughput of the move operation in terms of Kb/s, Mb/s or Gb/s. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<skip-delta-calculation>  =>   B<boolean, optional>

=begin html

<br>Indicates that the move should skip delta calculation. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-aggregate>  =>   B<string, optional>

=begin html

<br>The name of the aggregate where the volume being moved originally resides or resided. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-key-id>  =>   B<string, optional>

=begin html

<br>This is the encryption key-id of the source volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-node>  =>   B<string, optional>

=begin html

<br>The name of the node where the source aggregate is. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-timestamp>  =>   B<integer, optional>

=begin html

<br>The date and time in cluster timezone when the volume move started. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>The state of the volume move at the time of issuing the command and the system gathering up the information about the move. The states can have the following values: <ul> <li>Healthy - Volume move is proceeding as planned, with no issues so far <li>Done - Volume move has finished successfully. <li>Failed - Volume move has failed due to some reason, with the reason being available in the Detailed Status section. <li>Warning - Volume move has encountered a transient error condition during its operation, but is continuing on since then. The details and phase section has more context into the cause of the error. <li>Alert - Volume move has encountered a serious condition that cannot be rectified by the system alone and needs input from the upper layers (admin or tools) before proceeding. The volume move will go into Cutover-Deferred phase waiting for user intervention in case of errors, with volume move trigger-cutover being the way the move operation can be restarted. </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>This is the name of the vserver-scoped volume being moved. <p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-instance-uuid>  =>   B<uuid, optional>

=begin html

<br>This is the instance uuid of the vserver-scoped volume being moved. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<vserver-name, optional>

=begin html

<br>This is the name of the vserver in which the volume being moved is part of. <p> Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 volume-move-target-aggr-info

=begin html

Compatible target aggregate information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggr-name>  =>   B<aggr-name, optional>

=begin html

<br>Aggregate Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<available-size>  =>   B<size, optional>

=begin html

<br>Available size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-dest-capacity-tier-usage>  =>   B<size, optional>

=begin html

<br>Current Destination Capacity Tier Usage Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-dest-performance-tier-availsize>  =>   B<size, optional>

=begin html

<br>Current Destination Performance Tier Available Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-source-capacity-tier-usage>  =>   B<size, optional>

=begin html

<br>Current Source Capacity Tier Usage Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-source-performance-tier-availsize>  =>   B<size, optional>

=begin html

<br>Current Source Performance Tier Available Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<projected-dest-capacity-tier-usage>  =>   B<size, optional>

=begin html

<br>Projected Destination Capacity Tier Usage After Move Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<projected-dest-performance-tier-availsize>  =>   B<size, optional>

=begin html

<br>Projected Destination Performance Tier Avaialble Dize After Move Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<projected-source-capacity-tier-usage>  =>   B<size, optional>

=begin html

<br>Projected Source Capacity Tier Usage After Move Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<projected-source-performance-tier-availsize>  =>   B<size, optional>

=begin html

<br>Projected Source Performance Tier Available Size After Move Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<storage-type>  =>   B<string, optional>

=begin html

<br>Storage Type Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-option-info

=begin html

Option key and value.

=end html



B<Fields>

=over 2

=item * I<name>  =>   B<string>

=begin html

<br>Option key.

=end html

=back



=over 2

=item * I<value>  =>   B<string>

=begin html

<br>Option value.

=end html

=back



=head2 volume-performance-attributes

=begin html

Information about performance settings on a volume.

=end html



B<Fields>

=over 2

=item * I<extent-enabled>  =>   B<string, optional>

=begin html

<br>This parameter has been deprecated and may be removed in a future release of Data ONTAP. If turned on, this field enables extents in the volume. This causes application writes to be written in the volume as a write of a larger group of related data blocks called an extent. <p> The following values are recognized: <ul> <li> 'on' ... Perform this optimization on this volume. This option may duplicate blocks from snapshots into the active file system, thereby using additional disk space. Read performance from snapshots will not be changed. <li> 'space-optimized' ... Perform this optimization on this volume, but do not duplicate blocks from snapshots into the active file system, thereby using space conservatively. Read performance from snapshots may be degraded. <li> 'off' ... Don't perform this optimization on this volume. </ul> <p> By default, it is set to 'off'. <p> Using extents may help workloads that perform many small random writes followed by a large sequential read. However, using extents may increase the number of disk operations performed on the controller, so this field should only be turned on when applicable. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<fc-delegs-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, FlexCache Read Delegations are turned on for this volume. <p> On by default, only settable in Diag mode. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-atime-update-enabled>  =>   B<boolean, optional>

=begin html

<br>If false, prevent the update of inode access times when a file is read. <p> This value is useful for volumes with extremely high read traffic, since it prevents writes to the inode file for the volume from contending with reads from other files. <p> By default, this value is true. <p> This field should be used carefully. That is, use this field when you know in advance that the correct access time for inodes will not be needed for files on that volume. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<max-write-alloc-blocks>  =>   B<integer, optional>

=begin html

<br>The maximum number of blocks used for write allocation. <p> This option is deprecated. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<minimal-read-ahead>  =>   B<boolean, optional>

=begin html

<br>If true, the node performs minimal read-ahead for the volume. <p> By default, this field is false, causing the node that contains this volume to perform very aggressive read-ahead. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<read-realloc>  =>   B<string, optional>

=begin html

<br>Controls whether application reads cause optimization of the layout of parts of a file or LUN after the data has been read from disk and is in the controller's memory. This optimization is only supported for flexible volumes. <p> The following values are recognized: <ul> <li> 'on' ... Perform this optimization on this volume. This option may duplicate blocks from snapshots into the active file system, thereby using additional disk space. Read performance from snapshots will not be changed. <li> 'space-optimized' ... Perform this optimization on this volume, but do not duplicated blocks from snapshots into the active file system, thereby using space conservatively. Read performance from snapshots may be degraded. <li> 'off' ... Don't perform this optimization on this volume. </ul> <p> By default, it is set to 'off'. <p> Using read reallocation may help workloads that perform a mixture of random writes and large sequential reads. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<single-instance-data-logging>  =>   B<string, optional>

=begin html

<br>Indicates whether Single Instance Data Logging is enabled on the volume. This feature is supported only on Cloud ONTAP. <p> Possible values: <ul> <li> 'on' : Single Instance Data Logging enabled. <li> 'off' : Single Instance Data Logging disabled. </ul> <p> The default value is 'off'. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-qos-attributes

=begin html

QoS policy group or adaptive policy group attached with a volume.

=end html



B<Fields>

=over 2

=item * I<adaptive-policy-group-name>  =>   B<string, optional>

=begin html

<br>The QoS adaptive policy group associated with this volume. <p> This optionally specifies which QoS adaptive policy group to apply to the volume. This policy group defines measurable service level objectives (SLOs) that adjust based on the volume allocated space or used space. This parameter is not supported on FlexGroups or Infinite Volumes. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-group-name>  =>   B<string, optional>

=begin html

<br>The QoS policy group associated with this volume. <p> This optionally specifies which QoS policy group to apply to the volume. This policy group defines measurable service level objectives (SLOs) that do not adjust based on the volume allocated space or used space. If you do not assign a policy group to a volume, the system will not monitor and control the traffic to it. This parameter is not supported on Infinite Volumes. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-security-attributes

=begin html

All security aspects of a volume.

=end html



B<Fields>

=over 2

=item * I<style>  =>   B<string, optional>

=begin html

<br>The security style associated with this volume. <p> Possible values: <ul> <li> 'mixed' ... Mixed-style security, <li> 'ntfs' ... NTFS/Windows-style security, <li> 'unified' .Unified-style security, Unified UNIX, NFS and CIFS permissions (default for Infinite Volume) <li> 'unix' ... Unix-style security (default for Flexible Volume, FlexGroup and FlexGroup Constituent) </ul> <p> This field is only returned if this volume is online. If this field is empty ('') or not present for an online volume, this attribute isn't applicable to the volume. Only Infinite Volumes can use the 'unified' security style. All other volumes cannot use the 'unified' security style. Using 'unified' for a non-Infinite Volume will result in an error. FlexGroups and FlexGroup Constituents can only have 'unix' security style. Setting other security styles for FlexGroups or FlexGroup Constituents will result in an error. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<volume-security-unix-attributes>  =>   B<L<"volume-security-unix-attributes">, optional>

=begin html

<br>The Unix-oriented security settings associated with this volume.

=end html

=back



=head2 volume-security-unix-attributes

=begin html

The Unix-oriented security settings associated with this volume.

=end html



B<Fields>

=over 2

=item * I<group-id>  =>   B<integer, optional>

=begin html

<br>The UNIX group ID for the volume. The default value is 0 ('root'). <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<permissions>  =>   B<string, optional>

=begin html

<br>Unix permission bits in octal string format. <p> It's similar to Unix style permission bits: <p> In Data ONTAP 7-mode, the default setting of '0755' gives read/write/execute permissions to owner and read/execute to group and other users. <p> In Data ONTAP Cluster-Mode, for security style 'mixed' or 'unix', the default setting of '0755' gives read/write/execute permissions to owner and read/execute permissions to group and other users. For security style 'ntfs', the default setting of '0000' gives no permissions to owner, group and other users. <p> It consists of 4 octal digits derived by adding up bits 4, 2 and 1. Omitted digits are assumed to be zeros. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. The second digit selects permission for the owner of the file: read (4), write (2) and execute (1); the third selects permissions for other users in the same group; the fourth for other users not in the group. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<user-id>  =>   B<integer, optional>

=begin html

<br>The UNIX user ID for the volume. The default value is 0 ('root'). <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-sis-attributes

=begin html

Statistics for Deduplication, file clone, compression, etc.

=end html



B<Fields>

=over 2

=item * I<compression-space-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space (in bytes) that is saved by compressing blocks on the referenced file system. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<deduplication-space-saved>  =>   B<integer, optional>

=begin html

<br>The total disk space (in bytes) that is saved by deduplication and file cloning. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<deduplication-space-shared>  =>   B<size, optional>

=begin html

<br>The total disk space shared due to deduplication and file cloning. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sis-logging-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, it means that sis is enabled on the volume and fingerprints of newly-written data are being logged. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sis-state-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, it means that the current sis state is enabled on the volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-sis-volume>  =>   B<boolean, optional>

=begin html

<br>If true, it means that the volume contains shared (deduplication, file clones) or compressed data. If SIS is disabled, this field is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percentage-compression-space-saved>  =>   B<integer, optional>

=begin html

<br>Percentage of the total disk space that is saved by compressing blocks on the referenced file system. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percentage-deduplication-space-saved>  =>   B<integer, optional>

=begin html

<br>Percentage of the total disk space that is saved by deduplication and file cloning. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percentage-total-space-saved>  =>   B<integer, optional>

=begin html

<br>Percentage of total disk space that is saved by compressing blocks, deduplication and file cloning. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<total-space-saved>  =>   B<integer, optional>

=begin html

<br>Total space saved (in bytes) in the volume due to deduplication, compression, and file cloning. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-snaplock-attributes

=begin html

Information about the snaplock volumes.

=end html



B<Fields>

=over 2

=item * I<snaplock-type>  =>   B<snaplocktype, optional>

=begin html

<br>SnapLock type of the volume. <p> Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "non_snaplock" - Non SnapLock, <li> "compliance" - SnapLock Compliance, <li> "enterprise" - SnapLock Enterprise </ul>

=end html

=back



=head2 volume-snapshot-attributes

=begin html

Information about snapshot-related attributes in a volume. Volume disk space-related settings are excluded.

=end html



B<Fields>

=over 2

=item * I<auto-snapshots-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, enable automatic snapshots on the volume. <p> The default value is true. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapdir-access-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, enable the visible '.snapshot' directory that is normally present at system internal mount points. This value also turns on access to all other '.snapshot' directories in the volume. <p> The default value is true. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<snapshot-clone-dependency-enabled>  =>   B<boolean, optional>

=begin html

<br>Controls the locking of LUN clones. <p> If true, all initial and intermediate backing snapshots are unlocked for all inactive LUN clones. For active LUN clones, only the backing snapshot will be locked. <p> If false, the backing snapshot will remain locked until all intermediate backing snapshots are deleted. <p> This field is deprecated and will always be false in Data ONTAP 8.3 and later. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<snapshot-count>  =>   B<integer, optional>

=begin html

<br>Number of Snapshot Copies in the volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-policy>  =>   B<string, optional>

=begin html

<br>The name of the snapshot policy. <p> The default policy name is 'default'. <p> This policy can be created using the 'snapshot-policy-create' API. It can be managed using the 'snapshot-policy-*' APIs. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-snapshot-autodelete-attributes

=begin html

Snapshot autodelete policy settings.

=end html



B<Fields>

=over 2

=item * I<commitment>  =>   B<string, optional>

=begin html

<br>Possible values: <ul> <li> 'try', <li> 'disrupt', or <li> 'destroy' </ul> <p> This option determines the snapshots that 'snapshot autodelete' is allowed to delete to get back space. Setting this option to 'try' only permits the snapshots which are not locked by data protection utilities (dump, mirroring, NDMPcopy) and data-backing functionalities (volume and LUN clones) to be deleted. Setting this option to 'disrupt' permits all snapshots including the snapshots which are locked by data-backing functionalities (volume and LUN clones) to be deleted. This field is not set on FlexGroups. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<defer-delete>  =>   B<string, optional>

=begin html

<br>Possible values: <ul> <li> 'scheduled', <li> 'user_created', <li> 'prefix', or <li> 'none' </ul> <p> This option determines which kind of snapshots to delete. Setting this option value to 'scheduled' will delete the snapshots created by the snapshot scheduler last. Setting this option value to 'user_created' will delete the snapshots not created by the snapshot scheduler last. Setting this option value to 'prefix' will delete the snapshots matching the prefix string to be deleted last. Setting this option value to 'none' will disable the above choices. This field is not set on FlexGroups. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<delete-order>  =>   B<string, optional>

=begin html

<br>Possible values: <ul> <li> 'oldest_first', <li> 'newest_first' </ul> <p> This option determines if the oldest or newest snapshot is deleted first. This field is not set on FlexGroups. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<destroy-list>  =>   B<string, optional>

=begin html

<br>Possible values are the combination of: <ul> <li> 'lun_clone', <li> 'vol_clone', <li> 'cifs_share', <li> 'file_clone', <li> 'sfsr', or <li> 'none' </ul> <p> This options specifies the list of service that can be destroyed if the snapshot is backing that service. This option is valid only when the commitment is set to 'destroy'. The option 'lun_clone,file_clone' should be used for deleting snapshot backing LUN clone and/or File clone. The option 'lun_clone,sfsr' should be used for deleting snapshot backing LUN clone and/or SFSR. It must be noted that 'lun_clone', 'file_clone' and 'sfsr' individually are not valid values. Only pairs of 'lun_clone,file_clone' and 'lun_clone,sfsr' are supported. This field is not set on FlexGroups. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-autodelete-enabled>  =>   B<boolean, optional>

=begin html

<br>This option determines if the snapshot autodelete is currently enabled for the volume. The default value is false. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<prefix>  =>   B<string, optional>

=begin html

<br>This option provides the prefix string for the 'prefix' field value of the 'defer-delete' option. If the null prefix is set, the string '(not specified)' is returned. This field is not set on FlexGroups. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<target-free-space>  =>   B<integer, optional>

=begin html

<br>This option determines when snapshot autodelete should stop deleting snapshot. Depending on the trigger, snapshots are deleted until we reach the target free space percentage. This field is not set on FlexGroups. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<trigger>  =>   B<string, optional>

=begin html

<br>Possible values: <ul> <li> 'volume', <li> 'snap_reserve', or <li> '(DEPRECATED)-space_reserve' </ul> <p> This option determines the condition in which snapshots should be automatically deleted. This field is not set on FlexGroups. <p> If modifiable, setting this option to 'volume' triggers snapshot autodelete to run when the volume is near full. Setting this option to 'snap_reserve' triggers snapshot autodelete to run when the snap reserve of the volume is near full. Setting this option to 'space_reserve' triggers snapshot autodelete to run when the space reserved in the volume is near full. <p> Attributes: non-creatable, modifiable

=end html

=back



=head2 volume-space-attributes

=begin html

Information about volume space management-related settings including on-disk layout.

=end html



B<Fields>

=over 2

=item * I<expected-available>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) that should be available for the volume irrespective of available size in the aggregate. This is same as size-available for 'volume' guaranteed volumes. For 'none' guaranteed volumes this value is calculated as if the aggregate has enough backing disk space to fully support the volume's size. Similar to the size-available property, this does not include Snapshot reserve. This count gets reduced if snapshots consume space above Snapshot reserve threshold. This parameteris not supported on Infinite Volumes. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<filesystem-size>  =>   B<integer, optional>

=begin html

<br>Filesystem size (in bytes) of the volume. This is the total usable size of the volume, not including WAFL reserve. This value is the same as Size except for certain SnapMirror destination volumes. It is possible for destination volumes to have a different filesystem-size because the filesystem-size is sent across from the source volume. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-filesys-size-fixed>  =>   B<boolean, optional>

=begin html

<br>If true, this field causes the file system to remain the same size (and not grow) when a SnapMirror relationship is broken. <p> This option is automatically set to 'true' when a volume becomes SnapMirrored. It remains true after the SnapMirror relationship is broken for the volume. This field allows a volume to be SnapMirrored back to the source without needing to grow the source volume. If the volume size is larger than the file system size, setting this field to false forces the file system to grow to the size of the volume. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-space-guarantee-enabled>  =>   B<boolean, optional>

=begin html

<br>Whether or not the storage guarantee associated with the flexible volume is currently in effect. This field is valid only if this is a flexible volume and it is online. <p> By default, space guarantee is enabled. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-space-slo-enabled>  =>   B<string, optional>

=begin html

<br>Whether or not the space SLO type associated with the flexible volume is currently in effect. Space SLO is not enabled if space guarantee is not enabled. Try enabling the space guarantee or set the volume's space SLO setting to 'none'. This field is valid only if this is a flexible volume and it is online. <p> By default, space SLO type is none and is enabled. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-constituent-size>  =>   B<size, optional>

=begin html

<br>The maximum size of each constituent in bytes. The default value is determined by first checking the maximum FlexVol size setting on all nodes used by the FlexGroup, and then selecting the smallest value found. <p> This parameter is only supported on FlexGroups. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<over-provisioned>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) that is not available in the aggregate for a volume. This applies only for a 'none' guaranteed volume when it's unused size exceeds available space in the aggregate. This value is always zero for 'volume' guaranteed volumes. This parameter is not supported on Infinite Volumes. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<overwrite-reserve>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) that is reserved for overwriting snapshotted data in an otherwise full volume. This space is usable only by space-reserved LUNs and files, and then only when the volume is full. It is equal to 'overwrite-reserve-required' if the value of 'percentage-fractional-reserve' is set to the default value of 100%, but otherwise may be less than 'overwrite-reserve-required'. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<overwrite-reserve-required>  =>   B<integer, optional>

=begin html

<br>The reserved size (in bytes) that is required to ensure that the reserved space is sufficient to allow all space-reserved files and LUNs to be overwritten when the volume is full. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<overwrite-reserve-used>  =>   B<integer, optional>

=begin html

<br>The reserved size (in bytes) that is not available for new overwrites. The number includes both the reserved size which has actually been used for overwrites as well as the size which was never allocated in the first place. On a volume without free space, the 'never allocated' component can become non-zero when 'overwrite-reserve-required' increases as holes are filled in. Because of this, the 'overwrite-reserve-used' value can exceed the snapshotted size. The 'overwrite-reserve-used' value can also exceed the value of 'overwrite-reserve-required', as the filer maintains a small hidden reserve of last resort. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<overwrite-reserve-used-actual>  =>   B<integer, optional>

=begin html

<br>The reserved size (in bytes) that has been used. This value is computed as the smaller of: (1) snapshotted size not in the active filesystem, and (2) 'overwrite-reserve-used'. This formula comes from the observation that you cannot have used more overwrite reserved than have actually overwritten data. This value can exceed the value of 'overwrite-reserve-required', as the filer maintains a small hidden reserve of last resort. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percentage-fractional-reserve>  =>   B<integer, optional>

=begin html

<br>This field can be used to change the amount of space reserved for overwrites of reserved objects (e.g., files, LUNs) in a volume. This field is expressed as a percent. <p> By default, it is set to 100, indicating that 100% of the required reserved space will actually be reserved so the objects are fully protected for overwrites. <p> Using a value of less than 100 indicates the percentage of the required reserved space should actually be reserved. This returns the extra space to the available space for the volume, decreasing the total amount of space used. However, this does leave the protected objects in the volume vulnerable to out of space errors, since less than 100% of the required reserved space is actually reserved. If reserved space becomes exhausted, this will cause disruptions on the hosts using the objects. If the percentage is decreased below 100%, it is highly recommended that the administrator actively monitor the space usage on the volume and take corrective action if the reserved space nears exhaustion. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<percentage-size-used>  =>   B<integer, optional>

=begin html

<br>Percentage of the volume size that is used. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<percentage-snapshot-reserve>  =>   B<integer, optional>

=begin html

<br>The percentage of volume disk space that has been set aside as reserve for snapshot usage. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<percentage-snapshot-reserve-used>  =>   B<integer, optional>

=begin html

<br>Percentage of the volume reserved for snapshots that has been used. Note that in some scenarios, it is possible to pass 100% of the space allocated. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-used>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) that is physically used in the volume. This differs from 'total-used' space by the space that is reserved for future writes. The value includes blocks in use by Snapshot copies. <p> This field is valid only if the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<physical-used-percent>  =>   B<integer, optional>

=begin html

<br>The size (in percent) that is physically used in the volume. The percentage is based on volume size including the space reserved for Snapshot copies. <p> This field is valid only if the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size>  =>   B<integer, optional>

=begin html

<br>Filesystem size (in bytes) of the volume. This is the total usable size of the volume, not including WAFL reserve. <p> This field can not be set on Infinite Volumes that are managed by storage services. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<size-available>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) that is still available in the volume. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size-available-for-snapshots>  =>   B<integer, optional>

=begin html

<br>Total free space (in bytes) available in the volume and the snapshot reserve. If this value is 0 or negative, a new snapshot cannot be created. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size-total>  =>   B<integer, optional>

=begin html

<br>Total usable size (in bytes) of the volume, not including WAFL reserve or volume snapshot reserve. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size-used>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) that is used in the volume. This field is valid only when the volume is online. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<size-used-by-snapshots>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) that is used by snapshots in the volume. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-reserve-available>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) that is available for Snapshot copies inside the Snapshot reserve. This value is zero if Snapshot spill is present. For 'none' guaranteed volumes, this may get reduced due to less available space in the aggregate. This parameter is not supported on Infinite Volumes. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snapshot-reserve-size>  =>   B<integer, optional>

=begin html

<br>The size (in bytes) in the volume that has been set aside as reserve for snapshot usage. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<space-full-threshold-percent>  =>   B<integer, optional>

=begin html

<br>This field defines the used space threshold percentage at which EMS critical errors regarding the volume fullness will be generated. The default value is 98%. Setting this threshold to 0 disables the volume full space alerts. <p> This field is valid only if the volume is online. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<space-guarantee>  =>   B<string, optional>

=begin html

<br>The storage guarantee option that is associated with the flexible volume. <p> Possible options: <ul> <li> 'none', <li> 'volume' (default option) </ul> <p> This field is valid only if the volume is online. For data-cache volumes, this field is not returned. <p> This field can not be set on Infinite Volumes that are managed by storage services. <p> Attributes: optional-for-create, modifiable Possible values: <ul> <li> "none" , <li> "volume" </ul>

=end html

=back



=over 2

=item * I<space-mgmt-option-try-first>  =>   B<string, optional>

=begin html

<br>This field controls the strategy to try first when this volume is space-challenged. This field is not set on FlexGroups. <p> There are two available settings: <ul> <li> 'volume_grow' ... (default setting) Causes the volume to increase in size before deleting snapshots, <li> 'snap_delete' ... Causes snapshots to be deleted before the volume size is increased. </ul> <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<space-nearly-full-threshold-percent>  =>   B<integer, optional>

=begin html

<br>This field defines the used space threshold percentage at which EMS warnings regarding the volume fullness will be generated. The default value is 95%. Setting this threshold to 0 disables the volume nearly full space alerts. <p> This field is valid only if the volume is online. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<space-slo>  =>   B<space-slo-enum, optional>

=begin html

<br>The space SLO type that is associated with the flexible volume. The space SLO type is the Service Level Objective for space management for the volume. The space SLO value is used to enforce existing volume settings so that sufficient space is set aside to meet the space SLO. This parameter is not supported on Infinite Volumes. The default setting is none. There are three supported values: none, thick and semi-thick. <p> none: The value of none does not provide any guarantee for overwrites or enforce any restrictions. It should be used if the admin plans to manually manage space consumption in the volume and aggregate, and out of space errors. <p> thick: The value of thick guarantees that the hole fills and overwrites to space-reserved files in this volume will always succeed by reserving space. To meet this space SLO, the following volume-level settings are automatically set and cannot be modified: <ul> <li>Space Guarantee: volume - The entire size of the volume is preallocated in the aggregate. Changing the volume's space-guarantee type is not supported. <li>Fractional Reserve: 100 - 100% of the space required for overwrites is reserved. Changing the volume's fractional-reserve setting is not supported. </ul> <p> semi-thick: The value of semi-thick is a best-effort attempt to ensure that overwrites succeed by restricting the use of features that share blocks and auto-deleting backups and Snapshot copies in the volume. To meet this space SLO, the following volume-level settings are automatically set and cannot be modified: <p> <ul> <li>Space Guarantee: volume - The entire size of the volume is preallocated in the aggregate. Changing the volume's space-guarantee type is not supported. <li>Fractional Reserve: 0 - No space will be reserved for overwrites by default. However, changing the volume's fractional-reserve setting is supported. Changing the setting to 100 means that 100% of the space required for overwrites is reserved. <li>Snapshot Autodelete: enabled - Automatic deletion of Snapshot copies is enabled to reclaim space. To ensure that the overwrites can be accommodated when the volume reaches threshold capacity, the following volume snapshot autodelete parameters are set automatically to the specified values and cannot be modified: <ul> <li>enabled: true <li>commitment: destroy <li>trigger: volume <li>defer-delete: none <li>destroy-list: vol_clone, lun_clone, file_clone, cifs_share </ul> </li> </ul> In addition, with a value of semi-thick, the following technologies are not supported for the volume: <ul> <li>File Clones with autodelete disabled: Only full file clones of files or LUNs that can be autodeleted can be created in the volume. The use of autodelete for file clone create is required. <li>Partial File Clones: Only full file clones of files or LUNs that can be autodeleted can be created in the volume. The use of range for file clone create is not supported. <li>Volume Efficiency: Enabling volume efficiency is not supported to allow autodeletion of Snapshot copies. </ul> <p> Possible options: <ul> <li> 'thick', <li> 'semi-thick', <li> 'none' (default option) </ul> <p> This field is valid only if the volume is online. For data-cache volumes, this field is not returned. <p> This field can not be set on Infinite Volumes that are managed by storage services. <p> Attributes: optional-for-create, modifiable Possible values: <ul> <li> "none" , <li> "thick" , <li> "semi_thick" </ul>

=end html

=back



=head2 volume-state-attributes

=begin html

Information about the state or status of a volume or its features.

=end html



B<Fields>

=over 2

=item * I<become-node-root-after-reboot>  =>   B<boolean, optional>

=begin html

<br>Whether this non node-root volume has been marked as the one that will become the node root volume the next time the hosting controller is rebooted. Only one volume at a time may have this marking on any given controller. This field is not directly settable. Instead, a legal request to set the 'is-node-root' attribute (if modifiable) causes this field to be set. Note that marking a volume that is already the node root volume as the new node root has no net effect. This field is not set on FlexGroups. <p> By default, this field is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<force-nvfail-on-dr>  =>   B<boolean, optional>

=begin html

<br>If true, volume would be put in a special state called 'in-nvfailed-state' by 'metrocluster-switchover' API that performs a disaster recovery operation. This field has no effect for negotiated or an automatic switchover, and is not set on FlexGroups. <p> The protocol access on the volume in 'in-nvfailed-state' is blocked. This will cause the client applications to crash and thus prevent access to data on the volume. <p> To get out of this situation, the admin needs to manually clear the 'in-nvfailed-state' on the volume. <p> By default, this value is false. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<ignore-inconsistent>  =>   B<boolean, optional>

=begin html

<br>If true, then the volume can be brought online when booting even if it is marked as inconsistent. The user is cautioned that bringing it online prior to running wafliron may result in further file system inconsistency. This field is not set on FlexGroups. <p> By default, this field is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<in-nvfailed-state>  =>   B<boolean, optional>

=begin html

<br>The user can only clear this state and never set it. The file system will set this state on the volume if NVFAIL event occurs. So long as the volume is in this state, all protocol Ops with a special SpinNP flag set are blocked. By clearing this state on the volume, the admin will allow protocol access to the data on the volume and can initiate the recovery process. <p> By default, this field is false. <p> Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<is-cluster-volume>  =>   B<boolean, optional>

=begin html

<br>Indicates whether this volume is a Cluster-Mode volume, namely one that is owned by cluster authorities and agents. These same clustering agents also provide all protocol services for this class of volume. <p> Cluster-Mode volumes are not supported in 7-Mode Data ONTAP deployments. All such volumes are forced offline whenever they are detected in that environment. <p> Similarly, all 7-Mode volumes on a Data ONTAP Cluster-Mode system (except each controller's root volume) are by default forced offline. There are exceptions, in particular when a 7-Mode volume is being prepared to become that controller's new root volume in a recovery scenario. <p> At the moment, traditional volumes cannot be Cluster-Mode volumes. <p> By default, this field is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-constituent>  =>   B<boolean, optional>

=begin html

<br>This field indicates if this volume is a constituent within another volume. For a FlexGroup or Infinite Volume, this field is true for all their constituents. This field is set to false for volumes which are not the constituents of a FlexGroup or Infinite Volume. <p> The default value is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-flexgroup>  =>   B<boolean, optional>

=begin html

<br>This field indicates if this volume is a FlexGroup. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-flexgroup-qtree-enabled>  =>   B<boolean, optional>

=begin html

<br>Indicates whether a FlexGroup volume supports creation of Qtrees. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-inconsistent>  =>   B<boolean, optional>

=begin html

<br>Whether or not there is known inconsistency in the file system associated with the volume. By default, the value is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-invalid>  =>   B<boolean, optional>

=begin html

<br>Whether or not this volume is invalid. Volumes typically become invalid as a result of an aborted SnapMirror(R) initial transfer. In such a case, a volume is in a half-created state and cannot be recovered. By default, the value is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-junction-active>  =>   B<boolean, optional>

=begin html

<br>This field indicates whether the mounted volume is accessible. The default is true. If the mounted path is not accessible, the volume does not appear in the owning Vserver's namespace. This field applies only to Cluster-Mode volumes. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-moving>  =>   B<boolean, optional>

=begin html

<br>Is the given volume moving? If true, this volume is moving from one aggregate to another aggregate in the cluster. The aggregates can be on different nodes of the cluster. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-node-root>  =>   B<boolean, optional>

=begin html

<br>If true, this volume is the root volume of the node in which it resides. This field is not set on FlexGroups. <p> Only the node's internal logic can change this option's value from true to false; this happens when some other volume has the value set to true. <p> By default, this field is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-nvfail-enabled>  =>   B<boolean, optional>

=begin html

<br>If true, the controller performs additional work at boot and takeover times if it finds that there has been any potential data loss in this volume due to an NVRAM failure. <p> For 7-Mode volumes, it causes the invalidation of all NFS file handles on all volumes affected by the problem so that client-side users are forced to remount the affected file system (and thus not continue to use potentially incorrect data). <p> It is also possible to specify a set of files per volume that are to be renamed out of the way in these cases. The controller sends error messages to the console whenever such problems are found. <p> For Cluster-Mode volumes, the volume would be put in a special state called 'in-nvfailed-state' such that protocol access is blocked. This will cause the client applications to crash and thus prevent access to stale data on the volume. <p> To get out of this situation, the admin needs to manually clear the 'in-nvfailed-state' on the volume. <p> By default, this value is false. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<is-protocol-access-fenced>  =>   B<boolean, optional>

=begin html

<br>This field indicates if this volume is fenced for protocol access. This parameter is only supported for FlexGroups. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-quiesced-in-memory>  =>   B<boolean, optional>

=begin html

<br>Is the given volume quiesced? If true, this volume is in an (in-memory) quiesced state in which most operations on the volume are blocked except for certain internal operations. By default, this value is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-quiesced-on-disk>  =>   B<boolean, optional>

=begin html

<br>Is the given volume quiesced? If true, this volume is in an (on-disk) quiesced state in which most operations on the volume are blocked except for certain internal operations. By default, this value is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-unrecoverable>  =>   B<boolean, optional>

=begin html

<br>Whether or not there is known inconsistency in the associated file system and it is not recoverable. This field is valid only for flexible volumes. <p> By default, this field is false. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-volume-in-cutover>  =>   B<boolean, optional>

=begin html

<br>Is the given volume move operation in cutover phase? If true, this volume is moving from one aggregate to another aggregate in the cluster and is in cutover phase. The aggregates can be on different nodes of the cluster. This field is not set on FlexGroups. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-vserver-root>  =>   B<boolean, optional>

=begin html

<br>If true, this volume is the namespace root volume of the Vserver which owns this volume. The default value is false. This field is not set on FlexGroups. <p> When creating a volume, if this field is set to true, the new volume is to become the new namespace root volume of the Vserver. This field can be used in a recovery scenario in which the namespace root volume of the Vserver becomes unrecoverable. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<string, optional>

=begin html

<br>Volume State. <p> Possible values: <ul> <li> 'online', <li> 'restricted', <li> 'offline', <li> 'mixed' </ul> <p> If a FlexGroup or Infinite Volume's constituents are not all in the same state, it will return 'mixed'. The 'mixed' state is read-only. <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<status>  =>   B<string[], optional>

=begin html

<br>Volume status. <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-striping-attributes

=begin html

Information about the striping attributes of a volume.

=end html



B<Fields>

=over 2

=item * I<concurrency>  =>   B<string, optional>

=begin html

<br>Concurrency Level. <p> Possible values: <ul> <li> 'low' ... Maximum compatibility in exchange for significant performance loss, <li> 'medium' ... Excellent client compatibility, but noticeable performance loss, <li> 'high' ... Good level of compatibility with a small performance loss (default setting), <li> 'peak' ... Maximum performance; some applications may observe file-timestamp anomalies </ul> <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<constituent-volume-count>  =>   B<integer, optional>

=begin html

<br>The number of constituent volumes present in the collective striped volume. <p> The default setting is equal to the number of striped contituent aggregates. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<optimize>  =>   B<string, optional>

=begin html

<br>Optimization Policy. <p> Possible values: <ul> <li> 'max_performance' ... Guarantees best performance even if doing so might result in less free space being available, <li> 'performance' ... Provides best performance until free space becomes low; then lowers performance in order to maximize free space (default setting), <li> 'space' ... Balances good performance with moderate constraints to ensure that free space is not wasted, <li> 'max_space' ... Ensures data consumes as little space as possible, even if doing so slightly reduces performance </ul> <p> Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<stripe-algorithm>  =>   B<string, optional>

=begin html

<br>Indicates the striping algorithm in force. <p> Possible values: <ul> <li> 'roundrobin' ... Original algorithm for data-only striping, <li> 'full' ... Full striping (data and metadata), <li> 'data' ... Data-only striping. This is the default setting. </ul> <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<stripe-width>  =>   B<integer, optional>

=begin html

<br>The size of a stripe in bytes. Increases can be made in 4KB increments. <p> The default value is 64 MBytes. <p> Attributes: optional-for-create, modifiable

=end html

=back



=head2 volume-transition-attributes

=begin html

Information about the transition attributes of a volume.

=end html



B<Fields>

=over 2

=item * I<is-cft-precommit>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the volume is in the pre-commit phase of Copy-Free Transition. This field is not set on FlexGroups or Infinite Volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-copied-for-transition>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the volume has been copied for copy based transition. This field is not set on FlexGroups. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-transitioned>  =>   B<boolean, optional>

=begin html

<br>Indicates whether the volume has gone through a transition operation at some point in the past. This field is not set on FlexGroups. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transition-behavior>  =>   B<string, optional>

=begin html

<br>For an in progress transition, indicate what the behavior is. This field is not set on FlexGroups. <p> Possible values: <ul> <li> 'none' ... No transition is in progress, <li> 'data-move' ... Transition will follow volume move behavior. For example, Lun serial number is preserved, <li> 'data-protection' ... Transition will follow a data protection relationship behavior. </ul> <p> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 volume-transition-log-attrs-info

=begin html

Information about attributes included in an Action record.

=end html



B<Fields>

=over 2

=item * I<attr-type>  =>   B<string>

=begin html

<br>Describes the type of attribute.

=end html

=back



=over 2

=item * I<attr-value>  =>   B<string>

=begin html

<br>Attribute value.

=end html

=back



=head2 volume-transition-log-record-info

=begin html

Information about a single log record.

=end html



B<Fields>

=over 2

=item * I<attributes>  =>   B<L<"volume-transition-log-attrs-info">[], optional>

=begin html

<br>Information about attributes included in an Action record.

=end html

=back



=over 2

=item * I<description>  =>   B<string, optional>

=begin html

<br>Detailed description if any associated with this record.

=end html

=back



=over 2

=item * I<feature>  =>   B<string, optional>

=begin html

<br>Which feature logged this message. This is valid only for plugin_start, plugin_end and action record types.

=end html

=back



=over 2

=item * I<level>  =>   B<string, optional>

=begin html

<br>Describes why this record was logged. Possible values: "all" "error" "warning" "info" "debug" "trace"

=end html

=back



=over 2

=item * I<phase>  =>   B<string>

=begin html

<br>Which phase logged this message. Possible values: "all" "check" "lock_config" "prepare" "pre_commit" "commit" "post_commit" "online" "rollback" "cleanup" "unlock_config" "complete"

=end html

=back



=over 2

=item * I<record-type>  =>   B<string>

=begin html

<br>Type of record. Possible values: "phase_start" "phase_end" "plugin_start" "plugin_end" "action"

=end html

=back



=over 2

=item * I<timestamp>  =>   B<string>

=begin html

<br>Timestamp when record was logged. Timestamp will be in the following format: "MM/DD HH:MM:SS"

=end html

=back



=head2 volume-transition-volinfo

=begin html

Information describing the volume and how to transition it.

=end html



B<Fields>

=over 2

=item * I<junction-path>  =>   B<string, optional>

=begin html

<br>The path in the vserver into which the volume should be mounted. Note that this is only valid for transitions from 7-mode to Cluster-mode and not untransition. Path should be of the format "/<pathname>".

=end html

=back



=over 2

=item * I<volume-name>  =>   B<string>

=begin html

<br>The name of the volume which is to be transitioned.

=end html

=back



=head2 volume-vm-align-attributes

=begin html

Information related to the Virtual Machine alignment settings on the volume.

=end html



B<Fields>

=over 2

=item * I<vm-align-sector>  =>   B<integer, optional>

=begin html

<br>The Virtual Machine alignment 512 byte sector number. All files created with the suffix specified in the 'vm-align-suffix' input parameter will have zero-filled <512 * 'vm-align-sector'> bytes data at the beginning so that it's actual data starts at a different offset instead of zero. This is done so that the read & writes to such files are aligned to WAFL's 4k block boundary. This field is not set on FlexGroups. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vm-align-suffix>  =>   B<string, optional>

=begin html

<br>The Virtual Machine alignment suffix. The suffix such as '.xyz'. is used to identify the files which needs to be aligned. See the description for 'vm-align-sector' above for more information on this. This field is not set on FlexGroups. <p> Attributes: optional-for-create, non-modifiable

=end html

=back



=head2 volume-vserver-dr-protection-attributes

=begin html

Information related to volume protection type in a Vserver DR setup.

=end html



B<Fields>

=over 2

=item * I<vserver-dr-protection>  =>   B<string, optional>

=begin html

<br>Indicates whether the volume will be replicated to the destination in a Vserver DR setup. <p> Possible values: <ul> <li> 'protected' ... Volume will be replicated to the destination, <li> 'unprotected' ... Volume will not be replicated to the destination. </ul> <p> Attributes: optional-for-create, modifiable Possible values: <ul> <li> "protected" - Volume is protected by Vserver DR, <li> "unprotected" - Volume is not protected by Vserver DR </ul>

=end html

=back



=head2 file-extension

=begin html

File extension

=end html



B<Fields>

=over 2

=item * None

=back



=head2 file-path

=begin html

File path

=end html



B<Fields>

=over 2

=item * None

=back



=head2 privileged-user

=begin html

Privileged user

=end html



B<Fields>

=over 2

=item * None

=back



=head2 scanner-policy

=begin html

Policy applied to a Vscan scanner pool

=end html



B<Fields>

=over 2

=item * None

=back



=head2 scanner-pool

=begin html

Scanner pool is a set of attributes which are used to validate and manage connections between clustered ONTAP and Vscan servers (virus scanners).

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-active-scanner-pool-info

=begin html

Vscan active scanner pool information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<max-session-setup-retries>  =>   B<integer, optional>

=begin html

<br>Maximum number of consecutive session-setup attempts. This is set to the max of max-session-setup-retries of all active scanner pools on a vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<privileged-users>  =>   B<privileged-user[], optional>

=begin html

<br>List of privileged users for a vserver. Vscan server is given privileged access to the clustered Data ONTAP only if it uses one of these users. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<request-timeout>  =>   B<integer, optional>

=begin html

<br>Total request-service time-limit in seconds. This is set to the max of the request-timeouts of all active scanner pools on a vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scan-queue-timeout>  =>   B<integer, optional>

=begin html

<br>Scan-queue wait-time-limit in seconds. This is set to the max of the scan-queue-timeouts of all active scanner pools on a vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scanner-pools>  =>   B<scanner-pool[], optional>

=begin html

<br>List of active scanner pools on a vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<servers>  =>   B<ip-address[], optional>

=begin html

<br>List of allowed Vscan servers IP for a vserver. A Vscan server is allowed to connect to the clustered Data ONTAP only if its IP is part of this list. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-setup-timeout>  =>   B<integer, optional>

=begin html

<br>Total session-setup time-limit in seconds. This is set to the max of the session-setup-timeouts of all active scanner pools on a vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-teardown-timeout>  =>   B<integer, optional>

=begin html

<br>Total session-teardown time-limit in seconds. This is set to the max of the session-teardown-timeouts of all active scanner pools on a vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vscan-config-owner

=begin html

Configuration owner Possible values: <ul> <li> "vserver" - Vserver Admin, <li> "cluster" - Cluter Admin </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-connection-extended-stats-info

=begin html

Vscan connection extended statistics. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<extended-stats>  =>   B<string[], optional>

=begin html

<br>Vscanner's extended statistics. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Cluster node to which this connection is applicable. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server>  =>   B<ip-address, optional>

=begin html

<br>IP of the Vscan server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server-status>  =>   B<vscan-server-status, optional>

=begin html

<br>Status of the connection. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "disconnected" - Disconnected, <li> "disconnecting" - Disconnecting, <li> "connecting" - Connecting, <li> "connected" - Connected </ul>

=end html

=back



=over 2

=item * I<server-type>  =>   B<vscan-scanner-type, optional>

=begin html

<br>Server type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "primary" - Primary, <li> "backup" - Backup </ul>

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Name of virus-scanner vendor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Version of virus-scanner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vscan-connection-status-all-info

=begin html

Vscan connection status information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<connected-since>  =>   B<datetime, optional>

=begin html

<br>Time when Vscan server was connected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disconnect-reason>  =>   B<vscan-disconnect-reason, optional>

=begin html

<br>Reason for disconnection. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - Not applicable, <li> "vscan_disabled" - Vscan disabled on the vserver, <li> "no_data_lif" - Vserver does not have data lif on the node, <li> "session_uninitialized" - Session not initialized, <li> "remote_closed" - Closure from Server, <li> "invalid_protocol_msg" - Invalid protocol-message received, <li> "invalid_session_id" - Invalid session-id received, <li> "inactive_connection" - No activity on connection, <li> "invalid_user" - Connection request by invalid user, <li> "server_removed" - Server removed from the active scanner-pool </ul>

=end html

=back



=over 2

=item * I<disconnected-since>  =>   B<datetime, optional>

=begin html

<br>Time when Vscan server was disconnected. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif>  =>   B<ip-address, optional>

=begin html

<br>IP address of the Vserver LIF, which is used for the connection between clustered Data ONTAP and the Vscan server. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Cluster node to which this connection is applicable. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<privileged-user>  =>   B<string, optional>

=begin html

<br>Privileged user, which is used for the connection between clustered Data ONTAP and the Vscan server. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server>  =>   B<ip-address, optional>

=begin html

<br>IP of the Vscan server. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server-status>  =>   B<vscan-server-status, optional>

=begin html

<br>Status of the connection. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "disconnected" - Disconnected, <li> "disconnecting" - Disconnecting, <li> "connecting" - Connecting, <li> "connected" - Connected </ul>

=end html

=back



=over 2

=item * I<server-type>  =>   B<vscan-scanner-type, optional>

=begin html

<br>Server type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "primary" - Primary, <li> "backup" - Backup </ul>

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Name of virus-scanner vendor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Version of virus-scanner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vscan-disconnect-reason

=begin html

reason Possible values: <ul> <li> "na" - Not applicable, <li> "vscan_disabled" - Vscan disabled on the vserver, <li> "no_data_lif" - Vserver does not have data lif on the node, <li> "session_uninitialized" - Session not initialized, <li> "remote_closed" - Closure from Server, <li> "invalid_protocol_msg" - Invalid protocol-message received, <li> "invalid_session_id" - Invalid session-id received, <li> "inactive_connection" - No activity on connection, <li> "invalid_user" - Connection request by invalid user, <li> "server_removed" - Server removed from the active scanner-pool </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-event-type

=begin html

Type of the event generated by the cluster. Possible values: <ul> <li> "scanner_connected" - Scanner connected, <li> "scanner_disconnected" - Scanner disconnected, <li> "scanner_updated" - Scanner updated, <li> "scan_internal_error" - Internal error, <li> "scan_failed" - Scan failed, <li> "scan_timedout" - Scan timed out, <li> "file_infected" - File is infected, <li> "file_renamed" - File is renamed after found infected, <li> "file_quarantined" - File is quarantined after found infected, <li> "file_deleted" - File is deleted after found infected, <li> "scanner_busy" - Scanner is busy </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-events-info

=begin html

Vscan events information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<consecutive-occurrence-count>  =>   B<integer, optional>

=begin html

<br>Consecutive occurrence count of the same event. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<disconnect-reason>  =>   B<vscan-disconnect-reason, optional>

=begin html

<br>Reason for disconnection. This field is applicable only for the scanner-disconnection events. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "na" - Not applicable, <li> "vscan_disabled" - Vscan disabled on the vserver, <li> "no_data_lif" - Vserver does not have data lif on the node, <li> "session_uninitialized" - Session not initialized, <li> "remote_closed" - Closure from Server, <li> "invalid_protocol_msg" - Invalid protocol-message received, <li> "invalid_session_id" - Invalid session-id received, <li> "inactive_connection" - No activity on connection, <li> "invalid_user" - Connection request by invalid user, <li> "server_removed" - Server removed from the active scanner-pool </ul>

=end html

=back



=over 2

=item * I<event-time>  =>   B<datetime, optional>

=begin html

<br>Event log time. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<event-type>  =>   B<vscan-event-type, optional>

=begin html

<br>Event type. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "scanner_connected" - Scanner connected, <li> "scanner_disconnected" - Scanner disconnected, <li> "scanner_updated" - Scanner updated, <li> "scan_internal_error" - Internal error, <li> "scan_failed" - Scan failed, <li> "scan_timedout" - Scan timed out, <li> "file_infected" - File is infected, <li> "file_renamed" - File is renamed after found infected, <li> "file_quarantined" - File is quarantined after found infected, <li> "file_deleted" - File is deleted after found infected, <li> "scanner_busy" - Scanner is busy </ul>

=end html

=back



=over 2

=item * I<file-path>  =>   B<string, optional>

=begin html

<br>Path of the file which is being scanned. The path gives the client view of the file being scanned. This field is applicable only for the scanning related events. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<lif>  =>   B<ip-address, optional>

=begin html

<br>IP address of the Vserver LIF, which is used for the connection between clustered Data ONTAP and the Vscan server. It could be either IPV4 or IPV6 as configured. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<node-name, optional>

=begin html

<br>Node to which this connection is applicable. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scan-engine-status>  =>   B<integer, optional>

=begin html

<br>Status code returned by scan-engine. This field is applicable only if scan-engine is capable of responding with extended status. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<server>  =>   B<ip-address, optional>

=begin html

<br>IP of the Vscan server. It could be either IPV4 or IPV6 as configured in the scanner pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vendor>  =>   B<string, optional>

=begin html

<br>Name of virus-scanner vendor. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<version>  =>   B<string, optional>

=begin html

<br>Version of virus-scanner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vscan-od-log-level

=begin html

Log level for the On-Demand report. Possible values: <ul> <li> "verbose" - Report file will contain verbose logs for each file found in the scan-path., <li> "info" - Report file will contain info and error logs., <li> "error" - Report file will contain only error logs. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-on-access-policy-info

=begin html

Vscan On-Access policy information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<admin-owner>  =>   B<vscan-config-owner, optional>

=begin html

<br>Owner of the policy. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "vserver" - Vserver Admin, <li> "cluster" - Cluter Admin </ul>

=end html

=back



=over 2

=item * I<file-ext-to-exclude>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which On-Access scanning must not be performed. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-ext-to-include>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which On-Access scanning is considered. The default value is '*', which means that all files are considered for scanning except those which are excluded from scanning. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<filters>  =>   B<vscan-on-access-policy-ui-filter[], optional>

=begin html

<br>A list of filters which can be used to define the scope of the On-Access policy more precisely. The filters can be added in any order. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "scan_ro_volume" - Enable scans for read-only volume, <li> "scan_execute_access" - Scan only files opened with execute-access (CIFS only) </ul>

=end html

=back



=over 2

=item * I<is-policy-enabled>  =>   B<boolean, optional>

=begin html

<br>Policy status. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-scan-mandatory>  =>   B<boolean, optional>

=begin html

<br>Specifies whether access to a file is allowed if there are no external virus-scanning servers available for virus scanning. It is true if not provided at the time of creating a policy. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-file-size>  =>   B<size, optional>

=begin html

<br>Max file-size (in bytes) allowed for scanning. The default value of 2147483648 (2GB) is taken if not provided at the time of creating a policy. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<paths-to-exclude>  =>   B<file-path[], optional>

=begin html

<br>File paths for which On-Access scanning must not be performed. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<policy-name>  =>   B<policy-name, optional>

=begin html

<br>Name of the policy. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<protocol>  =>   B<vscan-protocol, optional>

=begin html

<br>File-Access protocol to monitor for On-Access scanning. Attributes: required-for-create, non-modifiable Possible values: <ul> <li> "cifs" - CIFS Protocol </ul>

=end html

=back



=over 2

=item * I<scan-files-with-no-ext>  =>   B<true-false, optional>

=begin html

<br>Specifies whether files without any extension are considered for scanning or not. The default value is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vscan-on-access-policy-ui-filter

=begin html

Filters to define the scope of On-Access scanning more precisely. Possible values: <ul> <li> "scan_ro_volume" - Enable scans for read-only volume, <li> "scan_execute_access" - Scan only files opened with execute-access (CIFS only) </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-on-demand-report-info

=begin html

Vscan On-Demand Task Report information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<already-scanned-files>  =>   B<integer, optional>

=begin html

<br>Total number of files which were already scanned by a valid virus-scanner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<attempted-scans>  =>   B<integer, optional>

=begin html

<br>Total number of attempted scans. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<failed-scans>  =>   B<integer, optional>

=begin html

<br>Total number of failed scans. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<files-cleaned>  =>   B<integer, optional>

=begin html

<br>Total number of files that were marked clean by the virus-scanner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<files-infected>  =>   B<integer, optional>

=begin html

<br>Total number of files that were marked infected by the virus-scanner. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<internal-error>  =>   B<integer, optional>

=begin html

<br>Total number of internal error occured while running the task. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-duration>  =>   B<time-interval, optional>

=begin html

<br>Time taken by the job to complete the on-demand task. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-end-time>  =>   B<datetime, optional>

=begin html

<br>On-demand task end time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-id>  =>   B<integer, optional>

=begin html

<br>ID of the on-demand scan job. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<job-start-time>  =>   B<datetime, optional>

=begin html

<br>On-demand task start time. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<report-file>  =>   B<string, optional>

=begin html

<br>Path of the report file from root of the Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scan-retries>  =>   B<integer, optional>

=begin html

<br>Total number of scans that were retried because of internal error. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<skipped-scans>  =>   B<integer, optional>

=begin html

<br>Total number of files which were not scanned because of the configured scope of scanning. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<successful-scans>  =>   B<integer, optional>

=begin html

<br>Total number of files which were successfully scanned. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<task-name>  =>   B<string, optional>

=begin html

<br>Name of the task. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<timedout-scans>  =>   B<integer, optional>

=begin html

<br>Total number of scans that were timed out. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vscan-on-demand-task-info

=begin html

Vscan On-Demand Task information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<cross-junction>  =>   B<true-false, optional>

=begin html

<br>Specifies whether the On-Demand task is allowed to cross volume junctions. If the parameter is set to false, crossing junctions is not allowed. Default is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<directory-recursion>  =>   B<true-false, optional>

=begin html

<br>Specifies whether the On-Demand task is allowed to recursively scan through sub-directories. If the parameter is set to false, recursive scanning is not allowed. Default is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-ext-to-exclude>  =>   B<file-extension[], optional>

=begin html

<br>File-Extensions for which scanning must not be performed. File whose extension matches with both inclusion and exclusion list is not considered for scanning. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<file-ext-to-include>  =>   B<file-extension[], optional>

=begin html

<br>File extensions for which scanning is considered. The default value is '*', which means that all files are considered for scanning except those which are excluded from scanning. File whose extension matches with both inclusion and exclusion list is not considered for scanning. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<max-file-size>  =>   B<size, optional>

=begin html

<br>Max file-size (in bytes) allowed for scanning. The default value of 10737418240 (10GB) is taken if not provided at the time of creating a task. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<paths-to-exclude>  =>   B<string[], optional>

=begin html

<br>File-paths for which scanning must not be performed. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<report-directory>  =>   B<string, optional>

=begin html

<br>Path from the vserver root where task report is created. The path must be a directory and provided in unix-format from the root of the Vserver. Example: /vol1/on-demand-reports. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<report-log-level>  =>   B<vscan-od-log-level, optional>

=begin html

<br>Log level for the On-Demand report. Default is error. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "verbose" - Report file will contain verbose logs for each file found in the scan-path., <li> "info" - Report file will contain info and error logs., <li> "error" - Report file will contain only error logs. </ul>

=end html

=back



=over 2

=item * I<request-timeout>  =>   B<time-interval, optional>

=begin html

<br>Total request-service time-limit in seconds. If the virus-scanner does not respond within the provided time, scan will be timedout. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<scan-files-with-no-ext>  =>   B<true-false, optional>

=begin html

<br>Specifies whether files without any extension are considered for scanning or not. The default value is true. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<scan-paths>  =>   B<string[], optional>

=begin html

<br>List of paths that need to be scanned. The path must be provided in unix-format and from the root of the Vserver. Example: /vol1/large_files. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<scan-priority>  =>   B<vscan-scan-priority, optional>

=begin html

<br>Priority of the On-Demand scan requests generated by this task. Default is low. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "low" - The scan request will be sent to the Vscan server only if no other normal request is in queue., <li> "normal" - The scan request will be processed normally. </ul>

=end html

=back



=over 2

=item * I<schedule>  =>   B<string, optional>

=begin html

<br>Schedule of the task. The task will be run as per the schedule. For running the task immediately, vscan-on-demand-task-run api must be used after creating a task. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<task-name>  =>   B<string, optional>

=begin html

<br>Name of the task. Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vscan-protocol

=begin html

CIFS Possible values: <ul> <li> "cifs" - CIFS Protocol </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-scan-priority

=begin html

Priority of the scan request. Possible values: <ul> <li> "low" - The scan request will be sent to the Vscan server only if no other normal request is in queue., <li> "normal" - The scan request will be processed normally. </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-scanner-pool-info

=begin html

Vscan scanner pool information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<admin-owner>  =>   B<vscan-config-owner, optional>

=begin html

<br>Owner of the scanner pool. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "vserver" - Vserver Admin, <li> "cluster" - Cluter Admin </ul>

=end html

=back



=over 2

=item * I<cluster>  =>   B<cluster-name, optional>

=begin html

<br>Name of the cluster on which you want to apply the scanner policy of a scanner pool. Default value is taken as local cluster. This parameter does not have any significance if the cluster is not in a DR relationship. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<hostnames>  =>   B<string[], optional>

=begin html

<br>List of hostnames of Vscan servers which are allowed to connect to clustered Data ONTAP. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<is-currently-active>  =>   B<boolean, optional>

=begin html

<br>Current status of a scanner pool. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-session-setup-retries>  =>   B<integer, optional>

=begin html

<br>Maximum number of consecutive session-setup attempts. The value for this field must be between 1 and 5. The default value of 5 is taken if not provided while creating a scanner pool. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<privileged-users>  =>   B<privileged-user[], optional>

=begin html

<br>List of privileged users. Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<request-timeout>  =>   B<integer, optional>

=begin html

<br>Total request-service time-limit in seconds. It is used to specify the time interval in which the node waits for a response from the Vscan server. If the timeout is reached, the node allows the file-operation if the applicable On-Access policy has scan-mandatory set to \"off\". If the policy has scan-mandatory set to \"on\", the node will retry the scan or disallow the file-operation depending on the remaining lifetime of the CIFS request. Valid values for this field are from 10s to 40s. However, if scan-mandatory is set to \"off\", the effective value is limited to a maximum of 35s. The default value of 30 is taken if not provided while creating a scanner pool. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<scan-queue-timeout>  =>   B<integer, optional>

=begin html

<br>Scan-queue wait-time-limit in seconds. The value for this field must be between 10s and 30s. The default value of 20 is taken if not provided while creating a scanner pool. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<scanner-policy>  =>   B<scanner-policy, optional>

=begin html

<br>Scanner policy. Currently only system policies are supported. <p> Possible values: <ul> <li> 'primary' - Makes it active always, <li> 'secondary' - Makes it active only when no primary Vscan server is connected, <li> 'idle' - Makes it inactive always </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<scanner-pool>  =>   B<scanner-pool, optional>

=begin html

<br>Scanner pool is a set of attributes which are used to validate and manage connections between clustered Data ONTAP and Vscan servers (virus scanners). Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<servers>  =>   B<ip-address[], optional>

=begin html

<br>List of IP addresses of Vscan servers which are allowed to connect to clustered Data ONTAP. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<session-setup-timeout>  =>   B<integer, optional>

=begin html

<br>Total session-setup time-limit in seconds. The value for this field must be between 5s and 10s. The default value of 10 is taken if not provided while creating a scanner pool. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<session-teardown-timeout>  =>   B<integer, optional>

=begin html

<br>Total session-teardown time-limit in seconds. The value for this field must be between 5s and 10s. The default value of 10 is taken if not provided while creating a scanner pool. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vscan-scanner-type

=begin html

Server type Possible values: <ul> <li> "primary" - Primary, <li> "backup" - Backup </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-server-status

=begin html

Status Possible values: <ul> <li> "disconnected" - Disconnected, <li> "disconnecting" - Disconnecting, <li> "connecting" - Connecting, <li> "connected" - Connected </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vscan-status-info

=begin html

Vscan status information. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-vscan-enabled>  =>   B<boolean, optional>

=begin html

<br>Vscan status. When true, Vscan feature is enabled for the Vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 attribute-info

=begin html

The name of attribute and its values at source and destination

=end html



B<Fields>

=over 2

=item * I<attribute>  =>   B<string, optional>

=begin html

<br>Attribute of the configuration compared - for example, volume-style in case of volumes. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-vserver-value>  =>   B<string, optional>

=begin html

<br>Value of the configuration attribute at destination Vserver Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-vserver-value>  =>   B<string, optional>

=begin html

<br>Value of the configuration attribute at source Vserver Attributes: non-creatable, non-modifiable

=end html

=back



=head2 config-diff-info

=begin html

Difference in configuration of an object instance. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<attribute-diff-list>  =>   B<L<"attribute-info">[], optional>

=begin html

<br>The list of attributes that differ

=end html

=back



=over 2

=item * I<destination-vserver-name>  =>   B<string, optional>

=begin html

<br>Name of destination Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-vserver-uuid>  =>   B<uuid, optional>

=begin html

<br>External UUID of destination Vserver Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<instance>  =>   B<integer, optional>

=begin html

<br>The count of object instance Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<keys>  =>   B<key-value-pair[], optional>

=begin html

<br>List of key:value pairs of the specific configuration instance compared - for example, volume:vol1 Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<object>  =>   B<string, optional>

=begin html

<br>The Vserver configuration object compared - for example, volume Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<skip-excluded-fields>  =>   B<boolean, optional>

=begin html

<br>Specifies whether to compare configuration attributes which are not explicitly replicated. Default is true. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-vserver-name>  =>   B<string, optional>

=begin html

<br>Name of source Vserver Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-vserver-uuid>  =>   B<uuid, optional>

=begin html

<br>External UUID of source Vserver Attributes: non-creatable, non-modifiable

=end html

=back



=head2 nis-domain

=begin html

NIS Domain

=end html



B<Fields>

=over 2

=item * None

=back



=head2 nmswitch

=begin html

file|ldap Possible values: <ul> <li> "file" , <li> "ldap" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 nsswitch

=begin html

nis|file|ldap Possible values: <ul> <li> "nis" , <li> "file" , <li> "ldap" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 show-aggregates

=begin html

Show aggregates of the Vserver When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggregate-name>  =>   B<aggr-name, optional>

=begin html

<br>Aggregate Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggregate-type>  =>   B<aggregatetype, optional>

=begin html

<br>Aggregate Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "hdd" - Aggregate consists of only HDDs, <li> "hybrid" - Aggregate consists of both HDDs and SSDs, <li> "lun" - Aggregate consists of array LUNs, <li> "ssd" - Aggregate consists of only SSDs, <li> "vmdisk" - Aggregate consists of only VMDISKs </ul>

=end html

=back



=over 2

=item * I<available-size>  =>   B<size, optional>

=begin html

<br>Available Size Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<snaplock-type>  =>   B<snaplocktype, optional>

=begin html

<br>Snaplock Type Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "non_snaplock" - Non SnapLock, <li> "compliance" - SnapLock Compliance, <li> "enterprise" - SnapLock Enterprise </ul>

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string, optional>

=begin html

<br>Vserver Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vsadminstate

=begin html

running|stopped|starting|stopping Possible values: <ul> <li> "running" , <li> "stopped" , <li> "starting" , <li> "stopping" , <li> "initializing" , <li> "deleting" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-aggr-info

=begin html

Assigned aggregate name and available size.

=end html



B<Fields>

=over 2

=item * I<aggr-availsize>  =>   B<size, optional>

=begin html

<br>Assigned aggregate available size. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-is-cft-precommit>  =>   B<boolean, optional>

=begin html

<br>Assigned aggregate cft pre-commit status. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<aggr-name>  =>   B<aggr-name, optional>

=begin html

<br>Assigned aggregate name. Attributes: non-creatable, modifiable

=end html

=back



=head2 vserver-info

=begin html

Vserver Information When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>List of aggregates assigned for volume operations. These aggregates could be shared for use with other Vservers. When specified as part of a vserver-create, this field represents the list of aggregates that are assigned to the Vserver for volume operations. When part of vserver-get-iter call, this will return the list of Vservers which have any of the aggregates specified as part of the aggr-list. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<allowed-protocols>  =>   B<protocol[], optional>

=begin html

<br>Allowed Protocols. When specified as part of a vserver-create, this field represent the list of protocols allowed on the Vserver. When part of vserver-get-iter call, this will return the list of Vservers which have any of the protocols specified as part of the allowed-protocols. When part of vserver-modify, this field should include the existing list along with new protocol list to be added to prevent data disruptions. Attributes: non-creatable, modifiable Possible values: <ul> <li> "nfs" - NFS protocol, <li> "cifs" - CIFS protocol, <li> "fcp" - FCP protocol, <li> "iscsi" - iSCSI protocol, <li> "ndmp" - NDMP protocol, <li> "http" - HTTP protocol, <li> "nvme" - NVMe protocol </ul>

=end html

=back



=over 2

=item * I<antivirus-on-access-policy>  =>   B<antivirus-policy, optional>

=begin html

<br>{Deprecated, this field does not have any effect on the operation of the vserver.} Antivirus policy. When specified as part of vserver-create, this field represents the antivirus on access policy for the Vserver. When specified as part vserver-get-iter call, this will return the list of matching Vservers. default: default Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<caching-policy>  =>   B<string, optional>

=begin html

<br>The caching policy that is to be associated with this Vserver. This policy is used to make caching decisions for this Vserver. If a caching policy is not assigned to this Vserver, the system uses the default cluster-wide policy. The possible options for this value are: <ul> <li>none - Does not cache any user data or metadata blocks.</li> <li>auto - Read caches all metadata blocks and randomly read user data blocks, and write caches all randomly overwritten user data blocks.</li> <li>meta - Read caches only metadata blocks.</li> <li>random_read - Read caches all metadata and randomly read user data blocks.</li> <li>random_read_write - Read caches all metadata, randomly read and randomly written user data blocks.</li> <li>all_read - Read caches all metadata, randomly read and sequentially read user data blocks.</li> <li>all_read_random_write - Read caches all metadata, randomly read, sequentially read and randomly written user data.</li> <li>all - Read caches all data blocks read and written. It does not do any write caching.</li> </ul> Default caching-policy is auto. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<comment>  =>   B<string, optional>

=begin html

<br>Comment. When specified as part of a vserver-create, this field represents the comment associated with the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<disallowed-protocols>  =>   B<protocol[], optional>

=begin html

<br>Disallowed Protocols. When specified as part of a vserver-create, this field represent the list of protocols not allowed on the Vserver. When part of vserver-get-iter call, this will return the list of Vservers which have any of the protocols specified as part of the disallowed-protocols. When part of vserver-modify, this field should include the existing list along with new protocol list to be added to prevent data disruptions. Attributes: non-creatable, modifiable Possible values: <ul> <li> "nfs" - NFS protocol, <li> "cifs" - CIFS protocol, <li> "fcp" - FCP protocol, <li> "iscsi" - iSCSI protocol, <li> "ndmp" - NDMP protocol, <li> "http" - HTTP protocol, <li> "nvme" - NVMe protocol </ul>

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>IPspace name. The default value is 'Default' Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<is-config-locked-for-changes>  =>   B<boolean, optional>

=begin html

<br>Is the Vserver configuration locked for modificatiion. If the config-lock is true, then modifying the Vserver's configuration is not allowed. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-repository-vserver>  =>   B<boolean, optional>

=begin html

<br>This parameter is deprecated and may be removed in a future release of Data ONTAP. If you are using Infinite Volumes it is recommended that you do not upgrade the cluster to a release that is later than Data ONTAP 9.3.0. <p> Specifies if this Vserver is a Vserver with Infinite Volume. When part of vserver-get-iter call, this will return the list of matching Vservers. Default value is false. <p> Prior to Data ONTAP 8.2.0, Vserver with Infinite Volume is called repository Vserver and once a repository Vserver is created in a cluster, additional Vservers cannot be created. Conversely, a repository Vserver cannot be created if non-repository Vservers already exist in a cluster. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<language>  =>   B<language-code, optional>

=begin html

<br>Language to use for the Vserver. Default: C.UTF-8. Available language codes are: 'c' .............. POSIX 'ar' ............. Arabic 'cs' ............. Czech 'da' ............. Danish 'de' ............. German 'en' ............. English 'en_us' .......... English (US) 'es' ............. Spanish 'fi' ............. Finnish 'fr' ............. French 'he' ............. Hebrew 'hr' ............. Croatian 'hu' ............. Hungarian 'it' ............. Italian 'ja' ............. Japanese euc-j 'ja_v1' .......... Japanese euc-j 'ja_jp.pck' ...... Japanese PCK (sjis) 'ja_jp.932' ...... Japanese cp932 'ja_jp.pck_v2' .... Japanese PCK (sjis) 'ko' ............. Korean 'no' ............. Norwegian 'nl' ............. Dutch 'pl' ............. Polish 'pt' ............. Portuguese 'ro' ............. Romanian 'ru' ............. Russian 'sk' ............. Slovak 'sl' ............. Slovenian 'sv' ............. Swedish 'tr' ............. Turkish 'zh' ............. Simplified Chinese 'zh.gbk' ......... Simplified Chinese (GBK) 'zh_tw' .......... Traditional Chinese euc-tw 'zh_tw.big5' ..... Traditional Chinese Big 5 To use UTF-8 as the NFS character set, append '.UTF-8'. When specified as part of vserver-create, this field represents the language used for the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers with the specified language. The values with the '*' suffixes are not supported by Clustered ONTAP. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<ldap-domain>  =>   B<string, optional>

=begin html

<br>LDAP client configuration details. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<max-volumes>  =>   B<string, optional>

=begin html

<br>Maximum number of volumes that can be created on the Vserver. When specified as part of a vserver-create, this field represents the maximum number of volumes that can be created on the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<name-mapping-switch>  =>   B<nmswitch[], optional>

=begin html

<br>Name Mapping switch configuration details for the Vserver. When specified as part of the vserver-create, this field represents the list of Name Mapping switch configurations to be used. When specified as part of the vserver-get-iter, this will return the list of Vservers which have any of the specified Name Mapping configurations as part of their nm-switch configuration. Possible values: 'file', 'ldap'. default: file. This field is deprecated in Data ONTAP 8.3 and later. 'nameservice-nsswitch-create' should be preferred to specify the name mapping switch order. 'nameservice-nsswitch-modify' should be preferred to specify the name mapping switch order. 'nameservice-nsswitch-get' and 'nameservice-nsswitch-get-iter' APIs must be used to fetch the currently configured name mapping switch order. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "file" , <li> "ldap" </ul>

=end html

=back



=over 2

=item * I<name-server-switch>  =>   B<nsswitch[], optional>

=begin html

<br>Name Server switch configuration details for the Vserver. Possible values: 'nis', 'file', 'ldap'. This field is deprecated in Data ONTAP 8.3 and later. 'nameservice-nsswitch-create' should be preferred to specify the name server switch order. 'nameservice-nsswitch-modify' should be preferred to modify the name server switch order. 'nameservice-nsswitch-get' and 'nameservice-nsswitch-get-iter' APIs must be used to fetch the currently configured name server switch order. Attributes: optional-for-create, modifiable Possible values: <ul> <li> "nis" , <li> "file" , <li> "ldap" </ul>

=end html

=back



=over 2

=item * I<nis-domain>  =>   B<nis-domain, optional>

=begin html

<br>NIS domain configuration details for the Vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<operational-state>  =>   B<vsoperstate, optional>

=begin html

<br>Operational state of the Virtual Server. This field determines the state of the Vserver LIFs. New LIFs created on a Vserver, which is in running state, will be operationally up and the LIFs created on a Vserver, which is in stopped state, will be operationally down. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "running" , <li> "stopped" </ul>

=end html

=back



=over 2

=item * I<operational-state-stopped-reason>  =>   B<vsopstopreason, optional>

=begin html

<br>Vserver Operational State Stopped Reason Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "sync_destination_and_switchover_not_done" - Sync-destination Vserver and switchover is not done, <li> "cluster_reboot_done" - Cluster reboot is done, <li> "admin_state_stopped" - Admin state is stopped, <li> "dp_destination_not_started" - Vserver configured as destination of Vserver DR </ul>

=end html

=back



=over 2

=item * I<qos-policy-group>  =>   B<string, optional>

=begin html

<br>The QoS policy group associated with this volume. This optionally specifies which QoS policy group to apply to the Vserver. The policy group defines measurable service level objectives (SLOs) that apply to the storage objects with which the policy group is associated. If you do not assign a policy group to a Vserver, the system will not monitor and control traffic to it. This parameter is not supported on a Vserver with Infinite Volume. Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<quota-policy>  =>   B<string, optional>

=begin html

<br>Quota policy. When specified as part of vserver-create, this field represents the quota policy for the Vserver. When specified as part vserver-get-iter call, this will return the list of matching Vservers. This parameter is not supported on a Vserver with Infinite Volume. default: default Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<root-volume>  =>   B<volume-name, optional>

=begin html

<br>Root volume of the Vserver. Optional field for creating a default Vserver. Not allowed for creation of a dp-destination Vserver. Default value is 'svm_root'. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<root-volume-aggregate>  =>   B<aggr-name, optional>

=begin html

<br>The aggregate on which the root volume will be created. Optional field for creating a default Vserver. If this field is not provided, the most appropriate aggregate will be selected. Not allowed for creation of a dp-destination Vserver. Creating a root volume on a SnapLock aggregate is not supported. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<root-volume-security-style>  =>   B<security-style-enum, optional>

=begin html

<br>Security Style of the root volume. Optional field for creating a default Vserver. Not allowed for creation of a dp-destination Vserver. When specified as part of the vserver-create, this field represents the security style for the Vserver root volume. When specified as part of vserver-get-iter call, this will return the list of matching Vservers. Possible values: 'unix', 'ntfs', 'mixed'. The 'unified' security style, which applies only to Infinite Volumes, cannot be applied to a Vserver's root volume. Default value is 'unix'. Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "unix" - NFS, <li> "ntfs" - CIFS, <li> "mixed" - Mixed, <li> "unified" - Unified </ul>

=end html

=back



=over 2

=item * I<snapshot-policy>  =>   B<snapshot-policy, optional>

=begin html

<br>Default snapshot policy setting for all volumes of the Vserver. This policy will be assigned to all volumes created in this Vserver unless the volume create request explicitly provides a snapshot policy or volume is modified later with a specific snapshot policy. A volume-level snapshot policy always overrides the default Vserver-wide snapshot policy. When specified as part vserver-get-iter call, this will return the list of matching Vservers. default: default Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<vsadminstate, optional>

=begin html

<br>State of the Virtual Server. This field, together with the operational state, determines the data serving ability of a Vserver Attributes: non-creatable, modifiable Possible values: <ul> <li> "running" , <li> "stopped" , <li> "starting" , <li> "stopping" , <li> "initializing" , <li> "deleting" </ul>

=end html

=back



=over 2

=item * I<uuid>  =>   B<uuid, optional>

=begin html

<br>Universal unique identifier (UUID) for the Vserver. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-delete-retention-hours>  =>   B<integer, optional>

=begin html

<br>The number of hours that a deleted volume should be retained before the delete is completed Attributes: non-creatable, modifiable

=end html

=back



=over 2

=item * I<vserver-aggr-info-list>  =>   B<L<"vserver-aggr-info">[], optional>

=begin html

<br>List of aggregates assigned to the Vserver with aggregate name and available size.

=end html

=back



=over 2

=item * I<vserver-name>  =>   B<string, optional>

=begin html

<br>Name of the Vserver. When specified as part of a vserver-create, this field represents the name of the Vserver. When part of vserver-get-iter call, this will return the list of matching Vservers. The following restrictions are applicable for the Vserver name: - Maximum number of characters supported is 47, and 41 for a Vserver with subtype 'sync-source' - 'all' is a reserved name and should not be used as a Vserver name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-subtype>  =>   B<string, optional>

=begin html

<br>Vserver Subtype. This option allows the admin to specify the sub-type of Vserver being created. The possible options for this value are: <ul> <li>default</li> <li>dp_destination</li> <li>sync_source</li> <li>sync_destination</li> </ul> If a Vserver is an MCC destination, then it would have the sub-type sync-source. Vserver of sub-type sync-destination cannot be explicitly created by the admin. When a Vserver of sub-type dp-destination is created, most of the management activities are not allowed. Default value is default. Attributes: optional-for-create, non-modifiable

=end html

=back



=over 2

=item * I<vserver-type>  =>   B<string, optional>

=begin html

<br>Type of the Vserver. Possible values: <ul> <li>data: the default scale-out vserver</li> <li>admin: for the cluster-wide management Vserver</li> <li>system: for cluster-scoped communications in an IPspace</li> <li>node: identifies the physical controller.</li> </ul> Attributes: non-creatable, non-modifiable

=end html

=back



=head2 vserver-login-banner-info

=begin html

Login Banner Message Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>The login banner message. Maximum byte length for modify: 2048. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver. The default banner is associated with the Admin Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vserver-login-banner-modify-iter-info

=begin html

Information about the operation that was attempted/performed against vserver-login-banner object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<vserver-login-banner-key>  =>   B<L<"vserver-login-banner-info">>

=begin html

<br>The keys for the vserver-login-banner object to which the operation applies.

=end html

=back



=head2 vserver-modify-iter-info

=begin html

Information about the modify operation that was attempted/performed against vserver object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the modify operation caused an error.

=end html

=back



=over 2

=item * I<vserver-key>  =>   B<L<"vserver-info">>

=begin html

<br>The keys for the vserver object to which the modify operation applies.

=end html

=back



=head2 vserver-motd-info

=begin html

Message of the Day Configuration Info When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<is-cluster-message-enabled>  =>   B<boolean, optional>

=begin html

<br>Is the display of the cluster message of the day (MOTD) enabled for this Vserver? Attributes: required-for-create, modifiable

=end html

=back



=over 2

=item * I<message>  =>   B<string, optional>

=begin html

<br>The message of the day (MOTD). Maximum byte length for modify: 2048. Newlines can be supplied as either LF or CRLF, but they will always be returned as LF. Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Name of the Vserver. The cluster message of the day is associated with the Admin Vserver. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vserver-motd-modify-iter-info

=begin html

Information about the operation that was attempted/performed against vserver-motd object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<vserver-motd-key>  =>   B<L<"vserver-motd-info">>

=begin html

<br>The keys for the vserver-motd object to which the operation applies.

=end html

=back



=head2 vsoperstate

=begin html

running|stopped Possible values: <ul> <li> "running" , <li> "stopped" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vsopstopreason

=begin html

sync destination and switchover is not done|cluster reboot is done|admin state stopped| dp destination not started Possible values: <ul> <li> "sync_destination_and_switchover_not_done" - Sync-destination Vserver and switchover is not done, <li> "cluster_reboot_done" - Cluster reboot is done, <li> "admin_state_stopped" - Admin state is stopped, <li> "dp_destination_not_started" - Vserver configured as destination of Vserver DR </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 migratestate

=begin html

Transfer | ReadyForCutover | PreCutover | Penultimate | CutoverStarted | CutoverComplete | Cleanup | MigrateFailed Possible values: <ul> <li> "transfer" , <li> "readyforcutover" , <li> "precutover" , <li> "cutoverstarted" , <li> "cutovercomplete" , <li> "cleanup" , <li> "migratefailed" , <li> "penultimate" </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-migrate-cutover-action

=begin html

back-to-update-on-failure|wait|abort-migrate-on-failure Possible values: <ul> <li> "back_to_update_on_failure" - Fall back to update transfer phase on failure, <li> "wait" - Wait until cutover finishe even after cutover window, <li> "abort_migrate_on_failure" - Abort migrate if cutover fails </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-migrate-info

=begin html

Information about the Vserver migrate operation. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<aggr-list>  =>   B<aggr-name[], optional>

=begin html

<br>Aggregate list for creating the volumes Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<auto-cutover>  =>   B<boolean, optional>

=begin html

<br>Automatic cutover Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<baseline-applied>  =>   B<boolean, optional>

=begin html

<br>Is Baseline applied Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<completion-time>  =>   B<datetime, optional>

=begin html

<br>Migrate operation finish time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<current-migrate-operation>  =>   B<vserver-migrate-op, optional>

=begin html

<br>Current Migrate operation Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - No Migrate operation, <li> "start" - Migrate start, <li> "resume" - Migrate resume, <li> "pause" - Migrate pause, <li> "cleanup" - Migrate cleanup, <li> "cutover" - Migrate cutover </ul>

=end html

=back



=over 2

=item * I<cutover-action>  =>   B<vserver-migrate-cutover-action, optional>

=begin html

<br>cutover action Attributes: optional-for-create, non-modifiable Possible values: <ul> <li> "back_to_update_on_failure" - Fall back to update transfer phase on failure, <li> "wait" - Wait until cutover finishe even after cutover window, <li> "abort_migrate_on_failure" - Abort migrate if cutover fails </ul>

=end html

=back



=over 2

=item * I<cutover-complete-time>  =>   B<datetime, optional>

=begin html

<br>Cutover complete time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-force>  =>   B<boolean, optional>

=begin html

<br>Force flag for cutover UI Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-start-time>  =>   B<datetime, optional>

=begin html

<br>Cutover start time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-trigger-time>  =>   B<datetime, optional>

=begin html

<br>Cutover trigger time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-window>  =>   B<integer, optional>

=begin html

<br>cutover duration(seconds) Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<destination-cluster>  =>   B<cluster-name-simple, optional>

=begin html

<br>Destination Cluster Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<errors>  =>   B<string, optional>

=begin html

<br>Errors during migrate Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<force>  =>   B<boolean, optional>

=begin html

<br>Force cutover until completion Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<health>  =>   B<boolean, optional>

=begin html

<br>Health of the migrate operation Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<ipspace>  =>   B<string, optional>

=begin html

<br>Destination cluster IPspace Name for vserver Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<is-past-point-of-no-return>  =>   B<boolean, optional>

=begin html

<br>Indicate point of no return for migrate Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-migrate-operation>  =>   B<vserver-migrate-op, optional>

=begin html

<br>Last Migrate operation Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "none" - No Migrate operation, <li> "start" - Migrate start, <li> "resume" - Migrate resume, <li> "pause" - Migrate pause, <li> "cleanup" - Migrate cleanup, <li> "cutover" - Migrate cutover </ul>

=end html

=back



=over 2

=item * I<last-pause-time>  =>   B<datetime, optional>

=begin html

<br>Last migrate pause time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-restart-time>  =>   B<datetime, optional>

=begin html

<br>Last migrate restart time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-resume-time>  =>   B<datetime, optional>

=begin html

<br>Last migrate resume time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<migrate-status>  =>   B<vserver-migrate-status, optional>

=begin html

<br>Vserver migrate status Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "precheck_started" - Prechecks have started for the migrate operation, <li> "transferring" - Transfer phase is in progress, <li> "ready_for_cutover" - Ready for cutover, <li> "cutover_triggerred" - Pre-Cutover phase has started, <li> "cutover_started" - Cutover phase has started, <li> "cutover_complete" - Cutover phase has completed, <li> "migrate_paused" - Migrate operation paused, <li> "migrate_complete" - Migrate has successfully completed, <li> "migrate_complete_with_warnings" - Migrate has completed with some warnings, <li> "migrate_failed" - Migrate has failed, <li> "cleanup" - Removing source side Vserver after cutover, <li> "cleanup_failed" - Failed to cleanup, <li> "manual_cleanup" - Manual Cleanup triggered, <li> "destination_cleaned_up" - Destination cleaned up, <li> "migrate_pausing" - Migrate is pausing, <li> "cleanup_pausing" - Manual cleanup is pausing, <li> "post_cutover" - Establish Vserver Repeering and LS mirrors </ul>

=end html

=back



=over 2

=item * I<migrate-vserver-type>  =>   B<vserver-migrate-type, optional>

=begin html

<br>Identify if the Vserver is migrate source or destination Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "migrate_source" - Vserver migrate source Vserver, <li> "migrate_destination" - Vserver migrate destination Vserver </ul>

=end html

=back



=over 2

=item * I<owning-node>  =>   B<filer-id, optional>

=begin html

<br>Name of node on which migrate is orchestrated Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<point-of-no-return>  =>   B<boolean, optional>

=begin html

<br>Indicate point of no return for migrate Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<skip-performance-check>  =>   B<boolean, optional>

=begin html

<br>Skip checking iops requirement of volume on destination aggregates Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<source-cluster>  =>   B<cluster-name-simple, optional>

=begin html

<br>Source Cluster Name Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-force>  =>   B<boolean, optional>

=begin html

<br>Force flag for start UI Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<start-time>  =>   B<datetime, optional>

=begin html

<br>Migrate start time Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<status-details>  =>   B<string[], optional>

=begin html

<br>Errors and Warnings During Migrate Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<stream-uuid>  =>   B<uuid, optional>

=begin html

<br>Stream Uuid Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transfer-progress>  =>   B<size, optional>

=begin html

<br>Transfer progress Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<xc-vs-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-uuid>  =>   B<uuid, optional>

=begin html

<br>Vserver UUID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<warnings>  =>   B<string, optional>

=begin html

<br>Warnings during migrate Attributes: non-creatable, non-modifiable

=end html

=back



=head2 vserver-migrate-op

=begin html

none|start|resume|pause|cleanup|cutover Possible values: <ul> <li> "none" - No Migrate operation, <li> "start" - Migrate start, <li> "resume" - Migrate resume, <li> "pause" - Migrate pause, <li> "cleanup" - Migrate cleanup, <li> "cutover" - Migrate cutover </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-migrate-status

=begin html

precheck-started|transferring|ready-for-cutover|cutover-triggerred|cutover-started|cutover-complete|migrate-paused|migrate-complete|migrate-complete-with-warnings|migrate-failed|post-cutover-cleanup|cleanup-failed|manual-cleanup|destination-cleaned-up|migrate-pausing|cleanup-pausing Possible values: <ul> <li> "precheck_started" - Prechecks have started for the migrate operation, <li> "transferring" - Transfer phase is in progress, <li> "ready_for_cutover" - Ready for cutover, <li> "cutover_triggerred" - Pre-Cutover phase has started, <li> "cutover_started" - Cutover phase has started, <li> "cutover_complete" - Cutover phase has completed, <li> "migrate_paused" - Migrate operation paused, <li> "migrate_complete" - Migrate has successfully completed, <li> "migrate_complete_with_warnings" - Migrate has completed with some warnings, <li> "migrate_failed" - Migrate has failed, <li> "cleanup" - Removing source side Vserver after cutover, <li> "cleanup_failed" - Failed to cleanup, <li> "manual_cleanup" - Manual Cleanup triggered, <li> "destination_cleaned_up" - Destination cleaned up, <li> "migrate_pausing" - Migrate is pausing, <li> "cleanup_pausing" - Manual cleanup is pausing, <li> "post_cutover" - Establish Vserver Repeering and LS mirrors </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-migrate-type

=begin html

migrate-source|migrate-destination Possible values: <ul> <li> "migrate_source" - Vserver migrate source Vserver, <li> "migrate_destination" - Vserver migrate destination Vserver </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-migrate-volume-info

=begin html

Information about the volumes in a Vserver migrate operation When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<break-done>  =>   B<boolean, optional>

=begin html

<br>Is the break done Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<cutover-transfer-count>  =>   B<integer, optional>

=begin html

<br>Number of transfers within cutover threshold Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<errors>  =>   B<string, optional>

=begin html

<br>Errors in volume operation if any Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-done>  =>   B<boolean, optional>

=begin html

<br>Is the last transfer done Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-duration>  =>   B<integer, optional>

=begin html

<br>Duration of last transfer in seconds Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<last-transfer-queue-time>  =>   B<datetime, optional>

=begin html

<br>Time of the last transfer Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<node>  =>   B<filer-id, optional>

=begin html

<br>Node Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<state>  =>   B<migratestate, optional>

=begin html

<br>Status of the transfer Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "transfer" , <li> "readyforcutover" , <li> "precutover" , <li> "cutoverstarted" , <li> "cutovercomplete" , <li> "cleanup" , <li> "migratefailed" , <li> "penultimate" </ul>

=end html

=back



=over 2

=item * I<transactionid>  =>   B<integer, optional>

=begin html

<br>Transaction ID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<transfer-completed>  =>   B<boolean, optional>

=begin html

<br>Is the transfer completed Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-dsid>  =>   B<integer, optional>

=begin html

<br>Volume DSID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<volume-msid>  =>   B<integer, optional>

=begin html

<br>Volume MSID Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<xc-vs-name, optional>

=begin html

<br>Vserver Name Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-uuid>  =>   B<uuid, optional>

=begin html

<br>Vserver UUID Attributes: non-creatable, non-modifiable

=end html

=back



=head2 vserver-peer-application

=begin html

Application using the Vserver peering relationship Possible values: <ul> <li> "snapmirror" - SnapMirror, <li> "file_copy" - FileCopy, <li> "lun_copy" - LunCopy </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-peer-info

=begin html

Contains information about the Vserver peer relationship(s). When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<applications>  =>   B<vserver-peer-application[], optional>

=begin html

<br>Applications which can make use of the peering relationship. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "snapmirror" - SnapMirror, <li> "file_copy" - FileCopy, <li> "lun_copy" - LunCopy </ul>

=end html

=back



=over 2

=item * I<peer-cluster>  =>   B<string, optional>

=begin html

<br>Specifies name of the peer Cluster. If peer Cluster is not given, it considers local Cluster. This value is not shown and cannot be set in desired-attributes when the API is issued on Vserver LIF. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-state>  =>   B<vserver-peer-state, optional>

=begin html

<br>State of the Vserver peer relationship Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "peered" - Vserver peer relationship is established and the applications can use peer relationship, <li> "pending" - Vserver peer relationship is initiated in the peer cluster and local cluster needs to accept the request, <li> "initializing" - Communicating to the peer cluster for initializing the peer relationship, <li> "initiated" - Relationship initiated in local cluster, <li> "rejected" - Relationship initiated and peer cluster rejected the same, <li> "suspended" - Relationship suspended, should not initiate any data transfers , <li> "deleted" - Relationship got deleted on peer cluster </ul>

=end html

=back



=over 2

=item * I<peer-vserver>  =>   B<string, optional>

=begin html

<br>Specifies name of the peer Vserver in the relationship Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<peer-vserver-uuid>  =>   B<uuid, optional>

=begin html

<br>Specifies uuid of the peer Vserver in the relationship. Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<remote-vserver-name>  =>   B<string, optional>

=begin html

<br>Specifies remote name of the peer Vserver in the relationship Attributes: non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies name of the local Vserver in the relationship Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver-uuid>  =>   B<uuid, optional>

=begin html

<br>Specifies uuid of the local Vserver in the relationship. Attributes: non-creatable, non-modifiable

=end html

=back



=head2 vserver-peer-permission-application

=begin html

Intercluster application for Vserver peer permission Possible values: <ul> <li> "snapmirror" - SnapMirror </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-peer-permission-info

=begin html

Information about the Vserver peer permission. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<applications>  =>   B<vserver-peer-permission-application[], optional>

=begin html

<br>Applications which can make use of the intercluster Vserver peer relationship. Attributes: non-creatable, non-modifiable Possible values: <ul> <li> "snapmirror" - SnapMirror </ul>

=end html

=back



=over 2

=item * I<peer-cluster>  =>   B<string, optional>

=begin html

<br>Specifies name of the peer Cluster. Attributes: key, non-creatable, non-modifiable

=end html

=back



=over 2

=item * I<vserver>  =>   B<string, optional>

=begin html

<br>Specifies name of the local Vserver. Use symbol * to denote a permission that applies for all local Vservers. Attributes: key, non-creatable, non-modifiable

=end html

=back



=head2 vserver-peer-state

=begin html

peered|pending|initializing|initiated|rejected|suspended|deleted Possible values: <ul> <li> "peered" - Vserver peer relationship is established and the applications can use peer relationship, <li> "pending" - Vserver peer relationship is initiated in the peer cluster and local cluster needs to accept the request, <li> "initializing" - Communicating to the peer cluster for initializing the peer relationship, <li> "initiated" - Relationship initiated in local cluster, <li> "rejected" - Relationship initiated and peer cluster rejected the same, <li> "suspended" - Relationship suspended, should not initiate any data transfers , <li> "deleted" - Relationship got deleted on peer cluster </ul>

=end html



B<Fields>

=over 2

=item * None

=back



=head2 vserver-peer-transition-destroy-iter-info

=begin html

Information about the deletion operation that was attempted/performed against vserver-peer-transition object.

=end html



B<Fields>

=over 2

=item * I<error-code>  =>   B<integer, optional>

=begin html

<br>Error code, if the deletion operation caused an error.

=end html

=back



=over 2

=item * I<error-message>  =>   B<string, optional>

=begin html

<br>Error description, if the operation caused an error.

=end html

=back



=over 2

=item * I<vserver-peer-transition-key>  =>   B<L<"vserver-peer-transition-info">>

=begin html

<br>The keys for the vserver-peer-transition object to which the deletion applies.

=end html

=back



=head2 vserver-peer-transition-info

=begin html

Information about the transition peer. When returned as part of the output, all elements of this typedef are reported, unless otherwise stated in the element???s description or limited by a set of desired attributes specified by the caller. <p> When used as input to specify desired attributes to return, omitting a given element indicates that it shall not be returned in the output. In contrast, by providing an element (even with no value) the caller ensures that a value for that element will be returned, given that the value can be retrieved. <p> When used as input to specify queries, any element can be omitted in which case the resulting set of objects is not constrained by any specific value of that attribute.

=end html



B<Fields>

=over 2

=item * I<local-lifs>  =>   B<lif-name[], optional>

=begin html

<br>List of Local LIFs Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<local-vserver>  =>   B<vserver-name, optional>

=begin html

<br>Local Vserver name Attributes: key, required-for-create, non-modifiable

=end html

=back



=over 2

=item * I<multi-path-address>  =>   B<string, optional>

=begin html

<br>Additional address for source 7-Mode system Attributes: optional-for-create, modifiable

=end html

=back



=over 2

=item * I<src-filer-name>  =>   B<string, optional>

=begin html

<br>Source 7-Mode system Attributes: key, required-for-create, non-modifiable

=end html

=back



=head2 wafl-sync-handle

=begin html

Handle representing a specific wafl-sync operation on a volume.

=end html



B<Fields>

=over 2

=item * I<handle>  =>   B<integer>

=begin html

<br>Opaque handle that represents a specific wafl-sync operation.

=end html

=back



=over 2

=item * I<volume>  =>   B<volume-name, optional>

=begin html

<br>Volume name on which wafl-sync operation being performed.

=end html

=back



=over 2

=item * I<volume-uuid>  =>   B<uuid, optional>

=begin html

<br>Volume UUID on which wafl-sync operation being performed.

=end html

=back



=head1 COPYRIGHT

Copyright (c) 1994-2013 NetApp, Inc. All rights reserved.

The product described in this manual may be protected by one or more U.S.A. patents, foreign patents, or pending applications.

RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.277-7103 (October 1988) and FAR 52-227-19 (June 1987).

=cut
